JAVA学习笔记之运算符和流程控制结构

时间:2022-09-08 17:55:53


JAVA语言的运算符分为:

1.算术运算符 + - * /(除) %(取余) ++ --

2.关系运算符 > < >= <= == !=

3.逻辑运算符 &&(短路与) &(按位与) ||(短路或) |(按位或) ! ^(异或相同为假, 不同为真)

4.位运算符 ^ ~(按位非 取反) & ||

5.赋值运算符 =

6.扩展赋值运算符 += -= /= *=

7.字符串连接运算符 +

JAVA学习笔记之运算符和流程控制结构

&&(逻辑与) 与 &(按位与) 的区别:

Int a = 1;I

nt b = 2;

Boolean flag = A&b ;试讲a和b 变为二进制 再相与;

Int a = 1;

Int b = 2;

Boolean flag = A|b ;试讲a和b 变为二进制 在相或;

&&逻辑与是一旦前面是false,后面的表达式就不用计算,直接false;

||逻辑与是一旦前面是true,后面的表达式就不用计算,直接ture;


A++; //相当于a = a + 1;

++a; //相当于a = a + 1;

A=10;

Int c = a++; //这种情况是先使用,后自加 结果是c=10 a=11;

A=10;

Int c = ++a; //这种情况是先自加,后使用 结果是c=11 a=11

在这里说一下,三目运算符: 是从右到左 (expression) ? if-true-statment : if-flalse-statement ;

运算符的优先级:

JAVA学习笔记之运算符和流程控制结构

编程语言的流程控制结构分为: 顺序结构, 分支结构, 循环结构.

分支结构:

If(条件){ }

If(条件){ } else { }

If(条件){ } else if(条件){ } else{ }

Switch(条件){Case 条件1: { break; }Case 条件2: { break; }Default:{ break; }}

循环结构:

While(条件){ }

Do{ }while();

For(初始化表达式;条件表达式;迭代表达式){ }

Foreach(数据类型 变量名:数组或者集合名){ }

面试题1: 如何switch中的case代码块中没有写break,会怎样?

答:小心case下坠,如果不写break,就会继续匹配执行.

面试题2:当case后的条件相同是编译能通过吗?

答:不会,会出现标签重复错误.

面试题3:Switch后的条件能使用long, String类型吗?

答:不行,switch后面case只需要一个int byte short char 类型,这会发生窄转化,报精度损失错误;Case 后面也不能使用String,因为JDK6以前(包括JDK6)不能使用String.   

JAVA学习笔记之运算符和流程控制结构