JavaSE Base3
-
数学运算
-
运算时,会进行自动类型转换,转换为较高的类型,然后得出此类型的结果。因此,整型除运算时会丢失小数点后的部分。
-
数字加字符串,会将两者连接生产字符串
-
%模运算,取余
-
-
快速运算
-
s+=1 等价于 s=s+1
-
++i和i++,前置代表先自增1再代入,后置则相反
-
-
逻辑运算
-
&&与;||或;!非
-
三元运算符:x?y:z 意义:x true : y ; x false : z
-
-
优先级
-
从左到右;()优先级最高
-
package operator;
public class Operator {
public static void main(String[] args) {
int a = 5;
int b = 15;
short c = 2;
long d = 80;
System.out.println(a/(double)b);//0.6
System.out.println();
//低于int 转换为int;高于int 转换为long
//字符串连接:+ 注意运算顺序
//自增,自减 ++ -- 与C中相同
//增强运算符 不变
//幂运算
//int e = math.pow(2,3);
//逻辑运算 基本不变 && ,||, !
//短路运算
int f = 3;
System.out.println(f<5||f++<5);
System.out.println("f="+f);
//三元运算符
//x?y:z
//x true : y ; x false : z
//优先级()
}
}
位运算
负数:
package operator;
public class BitOperator {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
A&B = 位与
A|B = 位或
A^B = 异或
~B = 位非
2*8 = 16
<< *2 左移
>> /2 右移
>>> 无符号右移
*/
System.out.println(2<<3);//16
}
}