赋值运算符与赋值表达式的说明和用法
时间:2022-10-10 22:00:00 sitemap
3 关系运算符和关系表达式的描述和用法
关系运算符号: > < >= <= !=
- 关系运算符又称比较运算符,运算结果式boolean类型
public class test_610b {
public static void main(String args[]){
int dom1=20; int dom2=2; //dayu2 =dom1 < dom2; 这是错误的用法。正确用法:数据类型 变量 = 对比的值 boolean dayu1 = dom1>dom2; boolean xiaoyu = dom1<dom2; boolean dayudengyu = dom1>=dom2; boolean xiaoyudengyu = dom1<=dom2; boolean budengyu = dom1!=dom2; System.out.println(dom1 ">" dom2 "输出结果如下:" dayu1); System.out.println(dom1 "<" dom2 "输出结果如下:" xiaoyu); System.out.println(dom1 ">=" dom2 "输出结果如下:" dayudengyu); System.out.println(dom1 "<=" dom2 "输出结果如下:" xiaoyudengyu); System.out.rintln(dom1+"!="+dom2+"输出结果为:"+budengyu);
System.out.println("dom1 > dom2 ="+ (dom1>dom2));
}
}
逻辑运算符
参与逻辑运算的数据值和逻辑运算的结果都是booleam类型
- 或 ||
- 与 &&
- 非 !
- 逻辑表达式:
true || fales
(3>1) && (4<2)
!(100<5) - true是对 fasle是错
public class test_610c {
public static void main (String args[]){
int a=4;
int b=3;
int c=2;
int d=1;
//boolean huo=aa;
System.out.println(a>b);//true
//System.out.println(huo); System.out.println(aa);//false
System.out.println(a>b && b>c);//true
System.out.println(!(a>b));//a大于b false
}
}
短路或和短路与
- 逻辑或也叫做短路与
短路或 ||
- 逻辑或的左边为为true,右边不需要计算,结果一定为true
逻辑与 &&
- 逻辑或的左边为false,右边不需要计算,结果一定为false
public class test_610d {
public static void main(String args[]){
//测试短路或
//System.out.println(10/0);如果单独运行,会报错无法让运行
System.out.println(true || ((10/0)>1));//在这里不会报错,左边为ture 右边不需要计算,结果为:true
//测试逻辑与
//System.out.println(10/0);如果单独运行,会报错无法让运行
System.out.println(false && ((10/0)>1));//在这里不会报错,左边为false 右边不需要计算,结果为:false
}
}
位运算符
- 将参与运算的数据转为成二进制,逐一进行计算
- 常见的位运算符
- & 按位与
- 两个二进制均为1时,结果才为1,否则为0
- 例如:1&1=1 1&0=0 0&1=0 0&0=0
- | 按位或
- 只要两个对应的二进为有一个为1时,结果就为1
- 例如:1|1=1 1|0=1 0|1=1 0&0=0
- ^ 按位异或
- 两个二进制相异时,结果位1,相同为0
- 例如:1^1=0 1^0=1 0^1=1 0^0=0
- ~ 按位反
- 逐位取反,按照二进制的相反
- 使用时只能用一个
- 例如:101001=010110
- << 左移位
- 向左移动指定位数
- 例如:数字2,换算成二进制为0000 0010,向左移动2位后是00001000,结果位10
- << 右移位
- 向右移动指定位数
- 例如:数字2,换算成二进制为0000 0010,向右移动2位后是0000 000,结果为0
- & 按位与
//位运算
public class test_610e {
public static void main(String args[]){
//位运算
int num1=7; //7=0000 0111
int num2=3; //3=0000 0011
//& 按位与
System.out.println(num1 & num2);
//打印的结果为3,7=0000 0111, 3=0000 0011,两个二进制均为1时,结果才为1,否则为0
// | 按位或
System.out.println(num1 | num2);
//打印结果为7,7=0000 0111, 3=0000 0011,只要两个对应的二进为有一个为1时,结果就为1
//^ 按位异或
System.out.println(num1 ^ num2);
//打印结果为4,二进制为:00000100
//~ 按位反
System.out.println(~num1);
//打印结果为:-8,在使用的时候只能用一个
//<< 左移位
System.out.println(num1 << num2);
//<< 右移位
System.out.println(num1 >> num2);
}
}