简介:⾯试中 短路运算符 和 位运算考点:计算机基础运算知识

难度【** *】

你知道 运算符 &和&&、|和||的区别吗?

```

& 按位与操作

只有对应的两个⼆进制数为1时,结果位才为1

1&1 = 1

1&0 = 0

0&1 = 0

0&0 = 0

| 按位或操作

有⼀个为1的时候,结果位就为1

1|1 = 1

1|0 = 1

0|1 = 1

0|0 = 0

```

```

& 和 && 都可以实现 和 这个功能

区别:& 两边都运算,⽽ && 先算 && 左侧,若左侧为false 那么右侧就不运算,判断语句中

推荐使⽤ &&,效率更⾼

| 和 || 和上⾯类似

区别:||只要满⾜第⼀个条件,后⾯的条件就不再判断,⽽|要对所有的条件进⾏判断

把&&和||称之为短路运算符

```

⽤最有效率的⽅法计算2乘以8

```

原理:将⼀个数左移n位,相当于乘以2的n次⽅,位运算是CPU直接⽀持的,所以效率⾼

答案:2<<3

常⻅的JDK源码⾥⾯HashMap的默认容量16

int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16

直接是⼆进制操作了,表示1左移4位,变成10000,转为10进制也就是16, 直接以⼆进制形式去运⾏,

效率更⾼

```

简介:讲解异或运算在⾯试中的考查点和分析

考点:计算机基础运算知识

难度【***】

写个⽅法,传递两个⾮0的int数值进去,实现变量交换的⽅式,有⼏种⽅式?

⽅式⼀

```

public static void swap(int a, int b){

System.out.printf("a=%d, b=%d",a,b);

a = a + b;

b = a - b ;

a = a - b;

System.out.printf("\na=%d, b=%d",a,b);

}

```

⽅式⼆ 异或运算 (⼀个数与另⼀个数异或两次是其本身, ⼀个数和⾃身异或结果是0 )

```

public static void swap2(int a, int b){

System.out.printf("a=%d, b=%d",a,b);

a = a^b; // a1 = a^b

b = b^a; // b = b^a^b

a = a^b; // a = a1^b = a^b^a

System.out.printf("\na=%d, b=%d",a,b);

}

解释:

a1=a^b

b=b^a1=b^a^b=a

//此时a1=a^b b=a

a=a1^b=a^b^a=b

```

java运算符试题,编程语⾔⾯试题之新版javase基础语法篇之运算符相关推荐

  1. 重生之我是javaの神之修炼练气功法之javase基础语法

    类的定义规则:每个单词的首字母大写,类名和文件名保持一致,见名知意. 标识符命名规范 1.只能以字母$下划线开头,以这三者和数字组成. 2.不能出现java关键字 3.不能出现中文 多行注释和文档注释 ...

  2. 苹果软件java教程_java编程手册苹果最新版

    java编程手册苹果最新版是一款帮助初学者进一步学习Java编程知识的手机辅助软件.使用Java编程手册时,用户可以将自己编写的Java代码输入应用中,应用会帮忙指出编程语法上的错误并修改.Java编 ...

  3. python中 1.34e3_Python快速编程入门——第2章 Python基础语法

    第2章 python基础语法 一.基本语法 二.变量和数据类型 三.标识符和关键字 四.简单数值类型 一.基本语法 注释:Python的注释是用# 不像C/C++使用的是//或者/*/.多行注释好像挺 ...

  4. python逻辑表达式3+45and_python入门到精通(一)| python基础语法与各种运算符的使用...

    一.python中的基础语法 1.输入语句 input 格式:变量=input("输入提示信息") 功能:从键盘上输入一行文本信息到变量中,可以强转为各种数据类型. 案例: x=i ...

  5. CorelDRAW插件-GMS插件开发-VBA基础语法-变量、运算符、函数-CDR插件(三)

    文章目录 1.变量 1.1.命名要求 1.2.作用域 1.3.变量赋值 1.4.数组 2.运算符 2.1.算术操作符 2.2.比较运算符 2.3.逻辑运算符 2.4.连接操作符 3.函数 3.1.无参 ...

  6. Java 编程基础语法篇

    目录 前言 一.二进制 1.1 补码 1.2 二进制和十进制之间的互换 二.变量与数据类型 2.1 变量分类 2.2 数据类型 2.3 类型转换 2.4 关键字大全 三.方法的使用 3.1 概述 3. ...

  7. java 多态判断非空_重拾JavaSE基础——多态及其实现方式

    今天是比较抽象的多态,希望能给大家带来帮助 主要内容 多态 为什么使用多态 多态的形式 多态的概念 多态的劣势 多态存在的必然条件 类型转换 多态的实现原理 多态的分类 运行时多态的形式 实现原理 常 ...

  8. 多线程编程——基础语法篇

    多线程编程 文章目录 多线程编程 一.Thread 1.1 Thread用法一 1.2.Thread用法二 (Runnable) 1.3.Thread用法三 1.4.Thread用法四 1.5.Thr ...

  9. java final类的写法_重拾JavaSE基础——抽象类、接口、代码块、final和枚举

    今天继续回顾Java基础,有些东西用得不多,大家看看知道语法就好 主要内容 抽象类 抽象方法 抽象方法的写法 抽象方法是否可以私有化 抽象类的特征 抽象类有无构造器,能否实例化对象 抽象类的结构 抽象 ...

最新文章

  1. web编程速度大比拼(nodejs go python)(非专业对比)
  2. 描述linux系统从开机到登陆界面的启动过程
  3. 图像五值化与基于三值图像的车牌识别(1)
  4. MFC 获取命令行参数
  5. RabbitMQ远程不能访问问题的解决
  6. 为什么在生产中进行硒自动化测试对于您的下一个版本至关重要?
  7. mysql数据表案例_mysql中库和表的简单操作案例
  8. BI系统的应用组织思路与数据分析模式
  9. SQL Server之旅:(二)Could not load the DLL xpstar90.dll
  10. 使用Spring实现AOP(XML+注解)
  11. mysql怎么导出insert语句_mysql导出insert语句
  12. matlab——for循环
  13. 芒果tv官网服务器维护,芒果tv看不了【解决方案】
  14. Java 构造函数的详解
  15. GPU并行计算版函数图像生成器
  16. 4. DBSCAN方法及其应用
  17. Android开发 - PsyDuck说明书
  18. 请编写函数判断一个数是不是素数
  19. 计算机教师个人诊改总结,完整版)教师个人诊改报告
  20. C# 自定义控件无法加载

热门文章

  1. 构建电商网站业务安全系统,防止“薅羊毛”
  2. Cassandra Java堆外内存排查经历全记录
  3. 当你打开天猫的那一刻,推荐系统做了哪些工作?
  4. 基于MaxCompute的数仓数据质量管理
  5. 机器学习和人工智能的初学指南
  6. 基于阿里云MaxCompute实现游戏数据运营
  7. 顶级技术大咖,揭秘实时音视频开发的超级风口
  8. 赠书 | 如何部署一个Knative Service
  9. 清华大学-美团数字生活联合研究院成立
  10. 钉钉流量暴增百倍,阿里云抗住了!