赋值操作
class SetValueTest { public static void main(String[] args) { //赋值符号:= int i1 = 10; int j1 = 10; int i2,j2; //连续赋值 i2 = j2 = 10; int i3 = 10 ,j3= 20; } }
“+=”“-=”“/=”"*="“%=”操作
class SetValueTest { public static void main(String[] args) { //赋值符号:= int i1 = 10; int j1 = 10; int i2,j2; //连续赋值 i2 = j2 = 10; int i3 = 10 ,j3= 20; //******* int num = 5; num -= 2; // 相当于num= num-2; System.out.println(num); int num1 = 10; num1 += 2;//相当于num1 = num1 +2; System.out.println(num1); int num2 = 12; num2 %= 5; //相当num2 = num2 % 5; System.out.println(num2); int num3 = 3; num3 *= 4;//相当于num3= num3 * 4 System.out.println(num3); int num4 = 4; num4 /=2; //相当于num4 = num4 /2 System.out.println(num4); } } ---------- java ---------- 3 12 2 12 2 输出完成 (耗时 0 秒) - 正常终止
比较运算符
运算符 | 运算 | 示例 | 结果 |
== | 相等于 | 4==3 | false |
!= | 不等于 | 4!=3 | true |
< | 小于 | 4< 3 | false |
> | 大于 | 4>3 | true |
<= | 小于等于 | 4<=3 | false |
>= | 大于等于 | 4>=3 | true |
instanceof | 检查是否是类的对象 | "Hello" instancefo String | true |
class CompareTest { public static void main(String[] args) { //System.out.println("Hello World!"); int i = 10; int j = 20; System.out.println(i==j); //结果false System.out.println(i>=j); //false System.out.println(i<=j); //true System.out.println(i > j);//false System.out.println(i<j); // true System.out.println(i != j); //true } } ---------- java ---------- false false true false true true 输出完成 (耗时 0 秒) - 正常终止
注意
class CompareTest { public static void main(String[] args) { //System.out.println("Hello World!"); int i = 10; int j = 20; System.out.println(i==j); //结果false System.out.println(i>=j); //false System.out.println(i<=j); //true System.out.println(i > j);//false System.out.println(i<j); // true System.out.println(i != j); //true System.out.println(i=j); //注意操作它是赋值操作 } } ---------- java ---------- false false true false true true 20 输出完成 (耗时 0 秒) - 正常终止
逻辑运算符
&逻辑与 &&短路与 |逻辑或 ||短路或 !逻辑非 ^ 逻辑异或
逻辑与和短路与测试
class CompareTest { public static void main(String[] args) { //System.out.println("Hello World!"); //int i = 10; //int j = 20; //System.out.println(i==j); //结果false //System.out.println(i>=j); //false //相同2:当符号左边是true时,后面都执行,运算结果都是相同的 //不同点:当符号左边是false时,&继续执行后面操作,&& 不执行后面操作 boolean b1 = true; int num1 = 10; if (b1 &(num1++ >0)) { System.out.println("我在北京"+num1); }else{ System.out.println("我现在在南京"+num1); } boolean b2 = true; int num2 = 10; if (b2 &&(num2++ >0)) { System.out.println("我在北京"+num2); }else{ System.out.println("我现在在南京"+num2); } boolean b3 = false; int num3 = 10; if (b3 &(num3++ >0)) { System.out.println("我在北京"+num3); }else{ System.out.println("我现在在南京"+num3); } boolean b4 = false; int num4 = 10; if (b4 &&(num4++ >0)) { System.out.println("我在北京"+num4); }else{ System.out.println("我现在在南京"+num4); } } } ---------- java ---------- 我在北京11 我在北京11 我现在在南京11 我现在在南京10 输出完成 (耗时 0 秒) - 正常终止
逻辑或与短路或
class CompareTest { public static void main(String[] args) { //相同2:当符号左边是false时,后面都执行,运算结果都是相同的 //不同点:当符号左边是true时,|继续执行后面操作,|| 不执行后面操作 boolean b1 = true; int num1 = 10; if (b1 |(num1++ >0)) { System.out.println("我在北京"+num1); }else{ System.out.println("我现在在南京"+num1); } boolean b2 = true; int num2 = 10; if (b2 ||(num2++ >0)) { System.out.println("我在北京"+num2); }else{ System.out.println("我现在在南京"+num2); } boolean b3 = false; int num3 = 10; if (b3 |(num3++ >0)) { System.out.println("我在北京"+num3); }else{ System.out.println("我现在在南京"+num3); } boolean b4 = false; int num4 = 10; if (b4 ||(num4++ >0)) { System.out.println("我在北京"+num4); }else{ System.out.println("我现在在南京"+num4); } } } ---------- java ---------- 我在北京11 我在北京10 我在北京11 我在北京11 输出完成 (耗时 0 秒) - 正常终止
位运算符
运算符 | 运算 | 示例 |
<< | 左移 | 3<<2=12--->3*2*2=12 |
>> | 右移 | 3>>1= 1 --->3/2=1 |
>>> | 无符号右移 | 3>>>1=1 --->3/2=1 |
& | 与运算 | 6&3=2 |
| | 或运算 | 6|3=7 |
^ | 异或运算 | 6^3=5 |
~ | 取反运算 | ~6=-7 |
交换变量的值
class CompareTest { public static void main(String[] args) { //相同2:当符号左边是false时,后面都执行,运算结果都是相同的 //不同点:当符号左边是true时,|继续执行后面操作,|| 不执行后面操作 //boolean b1 = true; //int num1 = 10; //if (b1 |(num1++ >0)) //{ // System.out.println("我在北京"+num1); //}else{ //System.out.println("我现在在南京"+num1); //} //boolean b2 = true; //int num2 = 10; //if (b2 ||(num2++ >0)) //{ // System.out.println("我在北京"+num2); //}else{ // System.out.println("我现在在南京"+num2); //} //boolean b3 = false; //int num3 = 10; //if (b3 |(num3++ >0)) //{ // System.out.println("我在北京"+num3); //}else{ //System.out.println("我现在在南京"+num3); //} //boolean b4 = false; //int num4 = 10; //if (b4 ||(num4++ >0)) //{ // System.out.println("我在北京"+num4); //}else{ // System.out.println("我现在在南京"+num4); //} //交换两个变量的值 int num1 = 10; int num2 = 20; System.out.println("num1 = " + num1 + " ,num2 = " +num2); //方法1: int temp = num1; num1 = num2; num2 = temp; System.out.println("num1 = " +num1 +" ,num2 = " + num2); } } ---------- java ---------- num1 = 10 ,num2 = 20 num1 = 20 ,num2 = 10 输出完成 (耗时 0 秒) - 正常终止
三元运算符;比较两个数大小
/* 三元运算符 1.结构:(条件表达式)?表达式1:表达式2 说明 (1)条件表达式结构为boolean类型 (2)根据条件表达式的真或假,觉得执行表达式1或者2 如果表达式为true,就执行表达式1 如果表达式为false,就执行表达式2 */ class SanYuan { public static void main(String[] args) { //获取两个整数的较大值 int m = 12; int n = 5; int max = (m > n)? m:n; System.out.println(max+"大"); } } ---------- java ---------- 12大 输出完成 (耗时 0 秒) - 正常终止
三元运算法;比较三个数的大小,
class SanYuan { public static void main(String[] args) { //获取两个整数的较大值 int m = 12; int n = 5; int max = (m > n)? m:n; System.out.println(max+"大"); //三元运算符获取三个值的最大数 int m1 = 7; int n1 = 8; int h1 = 9; int max1 = (m1 >n)?m1:n1; int nax1 = (max1 > h1)?max1:h1; System.out.println(nax1+"较大"); } } ---------- java ---------- 12大 9较大 输出完成 (耗时 0 秒) - 正常终止
用if-else实现两个数比较大小;凡是可以用三元的都可以用if-else实现;凡是用if-els的不一定都可以使用三元实现
/* 三元运算符 1.结构:(条件表达式)?表达式1:表达式2 说明 (1)条件表达式结构为boolean类型 (2)根据条件表达式的真或假,觉得执行表达式1或者2 如果表达式为true,就执行表达式1 如果表达式为false,就执行表达式2 */ class SanYuan { public static void main(String[] args) { //获取两个整数的较大值 int m = 12; int n = 5; int max = (m > n)? m:n; System.out.println(max+"大"); //三元运算符获取三个值的最大数 int m1 = 7; int n1 = 8; int h1 = 9; int max1 = (m1 >n)?m1:n1; int nax1 = (max1 > h1)?max1:h1; System.out.println(nax1+"较大"); //改写成if-else; if( m > n ){ System.out.println(m); }else{ System.out.println(n); } } } ---------- java ---------- 12大 9较大 12 输出完成 (耗时 1 秒) - 正常终止