一、运算符
算术运算符:+,-,*,/,%,++,--
关系运算符:>,<,>=,<=,==,!=
布尔逻辑运算符:!,&,^,|,&&,||
位运算符:&,|,^,>>,<<,>>>
赋值运算符:=
扩展赋值运算符:+=,-=,*=,/=
字符串链接运算符:+
两数相除,那么如果接收的值是整型,则自动将小数点去掉,0.5→0
%:取模,即余数
++:自增
--:自减
public class JavaDemo01 { public static void main(String args[]) { int i = 10 ; int j = 20 ; int k = i % j ; System.out.println(k) ; } };
i++与++i的区别:
public class JavaDemo03 { public static void main(String args[]) { int i = 10 ; // i++ ; // 以上代码相当于以下的程序段: // i = i + 1 ; // ++i:表示先让数据自增,之后再进行操作 // i++:表示先让数据进行操作,操作完成之后进行自增 int k = 10+(++i) ; System.out.println(k) ; System.out.println(i) ; } };
逻辑运算符返回的都是布尔值
public class JavaDemo04 { public static void main(String args[]) { int i = 10 ; int j = 11 ; System.out.println(i!=j) ; } };
在程序中“=”是表示赋值,而“==”则表示逻辑运算,判断两者是否相等。
二、布尔逻辑运算符
&&:第一个操作数为假,则不判断第二个操作数
||:第一个操作数为真,则不判断第二个操作数
public class JavaDemo02 { public static void main(String args[]) { // 判断一个数字是否是偶数 // 偶数的最大特点:除以2余数为0 int i = 21 ; if(i%2==0) { System.out.println("是一个偶数。") ; } } };
public class JavaDemo06 { public static void main(String args[]) { // 学生上学的年龄在5~7岁之间 // 如果成绩在90分,或者年龄在7岁,则表示是一个学生 int age = 6 ; int score = 90 ; // 5<=age>=7 : age>=5 age<=7 // boolean flag = age>=5&&age<=7 ; boolean flag = age==7 | score==90 ; System.out.println(flag) ; } };
三、赋值运算符
当“=”两侧的数据类型不一致时,可以使用默认类型转换或者强制类型转换原则进行处理
long x=100;
int y=(int)x;
四、扩展赋值运算符
运算符 | 用法举例 | 等效表达式 |
+= | a+=b | a=a+b |
-= | a-=b | a=a-b |
*= | a*=b | a=a*b |
/= | a/=b | a=a/b |
%= | a%=b | a=a%b |
五、字符串链接运算符
int i=245+5;
String s="Hello,"+i+"号";
System.out.println(s); //输出:Hello,250号
public class JavaDemo10 { public static void main(String args[]) { String str1 = "Hello," ; String str2 = "World!!" ; String str3 = str1 + str2 ; System.out.println(str3) ; System.out.println("**********************************") ; int i = 10 ; int j = 20 ; // 所有的数据都会自动向字符串转型 System.out.println("i + j = "+(i+j)) ; } };
六、表达式
表达式是符合一定语法规则的运算符和操作数的序列
a
5.0+a
(a-b)*c-4
i<40&&i%10!=0
表达式的运算顺序
首先应按照运算符的优先级从高到低进行
优先级相同的运算符按照事先约定好的结合方向进行