1、算术运算符
——运算符与表达式
运算符:对常量和变量进行操作的符号
表达式:用运算符将常量和变量连接起来并且符合java语法的式子
——运算符包括(加、减、乘、除、取余)符号表示为:
+,-,*,/,%
——字符的"+”操作
char类型字符参与算术运算,表示的是计算机底层对应的十进制。如:
char ch1 = 'a';
System.out.println(ch1 + 1); // 输出98,97 + 1 = 98
char ch2 = 'A';
System.out.println(ch2 + 1); // 输出66,65 + 1 = 66
char ch3 = '0';
System.out.println(ch3 + 1); // 输出49,48 + 1 = 49
——字符串的"+“操作
如果字符串中出现”+",则是对不同字符串进行连接操作
如:
System.out.println("itheima"+ 666); // 输出:itheima666
2、赋值运算符
a = 10; //将10赋值给变量a
a += b; //将a+b的值赋值给a
a -= b; //将a-b的值赋值给a
a *= b; //将a*b的值赋值给a
a /= b; //将a/b的值赋值给a
a %= b; //将a%b的值赋值给a
3、自增自减运算符
——++:自增
——–:自减
——使用时即可放在变量后面,也可放在变量前面,即表示变量加上1,一般单独使用
int i = 10;
i++;//单独使用
System.out.println("i="+i); //i:11
4、关系运算符
——一共6种,包括:
==:判断是否相等,相等则为true,否则为false,以下同理
!= :不等于
>= :大于等于
<= :小于等于
>:大于
<:小于
——关系运算符返回的结果都是布尔值,true或者false
——"="是赋值,"=="才是相等
int a = 10;
int b = 20;
System.out.println(a == b); // false
System.out.println(a != b); // true
System.out.println(a > b); // false
5、逻辑运算符
——将各个关系表达式连接起来,组成一个复杂的逻辑表达式
——包括:
&:与
| :或
^ :异或
!:非
//& “与”,并且的关系,只要表达式中有一个值为false,结果即为false
System.out.println((i > j) & (i > k)); //false & false,输出false
System.out.println((i < j) & (i > k)); //true & false,输出false
System.out.println((i > j) & (i < k)); //false & true,输出false
System.out.println((i < j) & (i < k)); //true & true,输出true
System.out.println("--------");
//| “或”,或者的关系,只要表达式中有一个值为true,结果即为true
System.out.println((i > j) | (i > k)); //false | false,输出false
System.out.println((i < j) | (i > k)); //true | false,输出
//^ “异或”,相同为false,不同为true
System.out.println((i > j) ^ (i > k)); //false ^ false,输出false
System.out.println((i < j) ^ (i > k)); //true ^ false,输出true
System.out.println((i > j) ^ (i < k)); //false ^ true,输出true
System.out.println((i < j) ^ (i < k)); //true ^ true,输出false
System.out.println("--------");
//! “非”,取反
System.out.println((i > j)); //false
System.out.println(!(i > j)); //!false,,输出true
6、短路运算符
——&&:短路与:
如果左边为真,右边执行,否则不执行
——||:短路或:
如果左边为假,右边执行,否则不执行
——相比普通的&和|,短路与和短路或具有提高效率的效果
int x = 3;
int y = 4;
System.out.println((x++ > 4) & (y++ > 5)); // 两个表达都会运算
System.out.println(x); // 4
System.out.println(y); // 5
System.out.println((x++ > 4) && (y++ > 5)); // 左边已经可以确定结果为false,右边不参与运算
System.out.println(x); // 4
System.out.println(y); // 4
7、三元运算符
——固定书写格式:
关系表达式?表达式1:表达式2
int a = 10;
int b = 20;
int max = a>b?a:b;//取a,b之中较大的数
System.out.println("max:"+max)