Java程序基础概念(二)

2.4运算符

表达式:操作数与运算符组成;操作数可以是常量、变量或方法。
2.4.1数学运算符
范例

public class threefour {
       public static void main(String[] args) {
		  int num=10;
		  int num2=5;
		  int a= num+num2;
		  int b= num-num2;
		  int c= num*num2;
		  int d= num/num2;
		  //模运算
		  int e= num%num2;
		  //简化赋值运算符
		  num*=2;
		  System.out.println(num);
		  System.out.println(a);
		  System.out.println(b); 
		  System.out.println(c);
		  System.out.println(d);
		  System.out.println(e);
	}
}
执行结果
20
15
5
50
2
0

自增自减:

++自增,变量值加1,放在变量前表示先自增后运算,放在变量后表示先计算后自增
自减,变量值减1,放在变量前表示先自减后运算,放在变量后表示先计算后自减

范例:实现自增与自减操作

public class threefive {
       public static void main(String[] args) {
		 int x=20;
		 int y=30;
		 //先自增1,在赋值x为21 使用的也是21
		 //先赋值,在自减1   使用的是30,最终Y 的结果是29
		 int result=++x-y--;
		 System.out.println(result);
		 System.out.println(x);
		 System.out.println(y);
		
	}
}
执行结果
-9
21
29

2.4.2关系运算符
关系运算的主要特征就是进行大小的比较处理,包括<,>,<=,>=,!=,==。所有的关系运算返回的判断结果都是布尔类型数据
范例:关系判断

public class threesix {
      public static void main(String[] args) {
    	  int x=6;
          int y=8;
          boolean flag=x>y;
          System.out.println(flag);
          int z=20;
          double f=20.0;
          boolean flag2=z==f;
          System.out.println(flag2);
          char c='李';
          int d=26446;
          boolean flag3=c==d;
          System.out.println(flag3);
	}
}
执行结果
false
true
true

2.4.3三目运算符
数据类型 变量 = 关系运算?关系满足时的内容:关系不满足时的内容
范例:使用三目赋值

public class threeseven {
       public static void main(String[] args) {
		 //数据类型  变量=关系运算?关系满足时的内容:关系不满足时的内容
    	   int x=10;
    	   int y=20;
    	   int max=x>y?x:y;
    	   System.out.println(max);
	}
}
执行结果
20

范例:三目运算符简化if逻辑判断

public class threeseven2 {
       public static void main(String[] args) {
		int x=10;
		int y=15;
		int max=0;
		if(x>y) {
			max=x;
		}else if(y>x) {
			max=y;
		}
		System.out.println(max);
	}
}
执行结果
15

2.4.4逻辑运算符

逻辑运算符描述
&AND,普通与
&&短路与
OR,普通或
丨丨短路或
取反,true变false变true

与或真值表
&/&&同为true为true,只要有一个false则返回false
|/||同为false为false,只要有一个true则返回true
范例:

public class threeeight {
       public static void main(String[] args) {
    	  // !
		boolean flag=!(1>2);
		System.out.println(flag);
		int a=1;
		int b=1;
		//&&
		System.out.println(a==b&&2>a);
		//||
		System.out.println(a==b||a>3);
	}
}
执行结果
true
true
true

范例:&和&&区别

public class threenine {
       public static void main(String[] args) {
    	  //普通与& 判断条件全部执行
		//条件1:1>2,返回false
    	//条件2:10/0==0  执行时会出现异常导致程序中断
    	  System.out.println(1>2&10/0==0);
    	  } 	  
 }
执行结果
Exception in thread "main" java.lang.ArithmeticException: / by zero
	at com.lxh.twochapter.threenine.main(threenine.java:8)
public class threenine {
       public static void main(String[] args) {
       //短路与 前面出现false 则程序中止
        System.out.println(1>2&&10/0==0);
       }
}
执行结果
false

|和||区别

public class threenine {
       public static void main(String[] args) {
        //普通或| 判断条件全部执行
    	   System.out.println(1!=2|10/0==0);
       }
}
执行结果
Exception in thread "main" java.lang.ArithmeticException: / by zero
	at com.lxh.twochapter.threenine.main(threenine.java:12)

public class threenine {
       public static void main(String[] args) {
        //短路与  前面的判断条件出现true 则中止 输出true                                                                       vbfd
    	   System.out.println(1!=2||10/0==0);
       }
}
执行结果
true

2.4.5位运算符
位运算符

逻辑运算符描述
&按位与
按位或
^异或(相同为0,不同为1)
<<左位移
>>右位移
>>>无符号右位移

位运算结果
1、与操作

0&00
0&10
1&00
1&11

2、或操作

0丨00
0丨11
1丨01
1丨11

3、异或操作

0^00
0^11
1^01
1^10

范例:

public class fourtwo {
       public static void main(String[] args) {
		 int x=13;
		 int y=7;
		 //实现位与计算
		 System.out.println(x&y);
		 //实现位或计算
		 System.out.println(x|y);
		 //位移操作
		 int a=8;
		 int b=a>>3;//1
		 int c=a<<4;//128
		 System.out.println(b);
		 System.out.println(c);
	}
}
执行结果
5
15
1
128

计算分析:
13的二进制:00000000 00000000 00000000 00001101
7的二进制:00000000 00000000 00000000 00000111
&结果: 00000000 00000000 00000000 00000101 转换为十进制:5
|结果: 00000000 00000000 00000000 00001111 转换为十进制:15

移位操作 :箭头指向方向。左乘右除。乘或者除 2^移位大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值