运算量逻辑值,运算值逻辑值
&:与
见false为false
c&=d; c=c&d
|:或
见true为true
非
!true= false
异或
相同为假
False^true=true
true^true= False
ShortCircuit.java
&&短路与 见false则false,后面的不予计算, Ma、Mb被执行调用
&非短路与 先不看结果,所有的都执行一遍
Ma:true Mb:false Mc:false
||短路或 见true则true ,后面的不予计算,只有Ma被执行调用
|非短路或 先不看结果,所有的都执行一遍
位运算符
~ 取反
& 按位与
| 按位或
^ 按位异或 相同为0,相异为1
Bool.java
Eg:
int a1=128;
int b1= 33; a/2^(b%32)
int c1=a1>>b1; 循环右移 (整型)
int a; byte b;
a>>b
a/2^(b%64);
a>>=b;
a=a>>b;
连接运算
StringPlus.java
当“+”用在表达式中的时候,如果其中有一个操作数是字符串类型(String),则Java会自动将另一个操作数也转换成字符串,然后将这两个字符串相连起来生成一个新的字符串
System.out.println( “ ” + x + y );
//9.9871.0 ,五个对象
//1.创建空串 2.创建x 3.创建 空串+ x
// 4. 创建y 5. 创建 空串+x+y
System.out.println( x + y + “ ” );
//10.987 , 三个对象
//1. x+y=10.987 2. 遇到“ ”,判定进行类型转换 3.创建10.987
String类型创建对象的几种方式
1.New
2.字符串常量创建
3.连接