Java基础语法2
-
运算符
Java语言支持如下运算符:
算术运算符:+,-,*,/,%,++,–
字符串连接运算符:+
运算符 运算 范例 结果 + 正号 +3 3 - 负号 b=4; -b -4 + 加 5+5 10 - 减 6-4 2 ***** 乘 3*4 12 / 除 5/5 1 % 取模 7%5 2 ++ ++ 自增(前):先运算后取值 自增(后):先取值后运算 a=2;b=++a; a=2;b=a++; a=3;b=3 a=3;b=2 - - - - 自减(前):先运算后取值 自减(后):先取值后运算 a=2;b=- -a a=2;b=a- - a=1;b=1 a=1;b=2 + 字符串相加 “He”+”llo” “Hello” public static void main(String[] args) { int a = +10, b = 15;//+可做正数 String s = "so"; char c = 'b'; System.out.println(a + b);//数值+数值=数值 System.out.println(a + c);//数值+字符=数值 System.out.println(a + s);//数值+字符串=字符串 int d = -5;//-可做负数 System.out.println(a - d);//数值-数值=数值 /*System.out.println(s-d);//字符串不能减*/ System.out.println(c - d);//字符-数值=数值 System.out.println(a * d);//乘法 System.out.println(a / d);//除法 System.out.println(a * c);//字符乘 System.out.println(a / c);//字符除 int m = 9; m++;//m++ 即m=m+1 System.out.println(m); int x = 5; int y = x++ + 1; System.out.println(x); System.out.println(y);//++在混合运算中,++在后先运算后自增,--相同. }
关系(比较)运算符:>,<,>=,<=,==,!=
运算符 运算 范例 结果 == 相等于 4==3 false != 不等于 4!=3 true < 小于 4<3 false > 大于 4>3 true <= 小于等于 4<=3 false >= 大于等于 4>=3 true instanceof 检查是否是类的对象 “Hello” instanceof String true 比较运算符的结果都是boolean型,也就是要么是true,要么是false。
注意:比较运算符“==”不能误写成“=” .
逻辑运算符:
& 逻辑与 ,| 逻辑或 ,! 逻辑非 , && 短路与,|| 短路或,^ 逻辑异或
a b a&b a|b !a a^b a&&b a||b true true true true false false true true true false false true false true false true false true false true true true false true false false false false true false false false &和&&的区别:
&,左边无论真假,右边都参与运算.
&&,如果左边为真,右边参与运算;如果左边为假,右边不参与运算.
|和||的区别同理,||表示:当左边为真,右边不参与运算.
异或(^):当左右都为true时,结果为false.
public static void main(String[] args) { int a = 10, b = 11 ; System.out.println(a<b & a!=b);//true & true true System.out.println(a<b & a>b);//true & false false System.out.println(a>b & a==b);//false & false false System.out.println(a<b && a!=b);//true && true true System.out.println(a<b && a>b);//true && false false System.out.println(a<b && a==b);//false && false false System.out.println(a>b && ++a==b);//false && true flase System.out.println(a);//&&遇到第一个false后就短路后面不执行,所以a=10. System.out.println(a<b | a!=b);//true | true true System.out.println(a<b | a>b);//true | false true System.out.println(a>b | a==b);//false | false false System.out.println(a<b || a!=b);//true || true true System.out.println(a<b || a>b);//true || false true System.out.println(a>b || a==b);//false || false false System.out.println(a<b || ++a==b);//true ||true true System.out.println(a);//||遇到第一个true后就短路后面不执行,所以a=10. System.out.println(a<b ^ a!=b);//true ^ true false System.out.println(a<b ^ a>b);//true ^ false true System.out.println(a>b ^ a==b);//false ^ false false System.out.println(! (a<b));//true false System.out.println(! (a>b));//false true }
赋值运算符
符号"="
当"="两侧数据不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理.支持连续赋值.
扩展赋值运算符: