java运算符
底端赋有运算符优先级,类别及综合性
三目运算符:
数据类型 变量 =布尔表达式?满足时:不满足时;
eg :
int x=10;
int y=20;
int result=x>y?x:y;(判断结果如果是ture结果为x,否则为y)
关系运算符:
所有的关系运算符(>,<,>=,<=,==,!=)判断数据的返回结果都是布尔类型(boolean),ture/false
system.out.println('a'==97);
结果: ture
逻辑运算:
三类 :与(&) 或( | ) 非(!)
与:&,&&。
eg:
if(1>2&10/0==0){
system.out.println("满足条件!");
}
&运算符的作用是
多个条件都需要判断,
可是如果说前面已经条件返回了false不管后面是不是ture 都是false.
&&:同时满足
或:|,||。
||和|都是表示“或”,区别是||只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断。
位运算(了解)
可以按照2,8,16进制进行数据处理基本上考虑最多的是二进制。在位运算之中可以采用数据移位的处理方式实现数据内容的变化。
位运算实现的关键问题主要在于十进制与二进制的转换,原则是数据除2取余。除到0为止所有的余数按照倒数排列。
eg:
十进制数:19
÷ 2
9 1
÷ 2
4 1
÷ 2
2 0
÷ 2
1 0
÷ 2
0 1
10011=19
但是int是32位 所以应在10011前面补27个0 00000000 00000000 00000000 00010011
int A=19;
int B=5;
system.out.println(A&B);
结果:1
因为19的二进制上面已经算过为
00000000 00000000 00000000 00010011
而5的二进制为
00000000 00000000 00000000 00000101
&计算(&计算只要有一个0就是0):00000000 00000000 00000000 00000001
所以结果为1;
|计算(|计算只要有一个1就是1):00000000 00000000 00000000 00010111
结果为23;
面试题:请解释&&和&、|和||的区别?
逻辑运算之中:
与操作:
&&:表示逻辑与运算,诺干个判断条件如果前面有条件返回false,那么后面的条件将不再判断
&:所有的判断条件都要执行。
或操作:
||:表示罗技或运算,诺干个判断条件如果前面有条件返回了ture, 那么后续条件不在判断,最终结果为ture;
|:所有条件都要执行。
位运算:
&:运算的两个数据位如果有一个是0结果就是0,全为1时结果才为1.
|:原酸的两个数据位如果有一位是1 ,最终的结果就是1.