当前位置 博文首页 > lz_1014的博客:Java运算符

    lz_1014的博客:Java运算符

    作者:[db:作者] 时间:2021-07-10 22:32

    1.算数运算符

    (1)+;-;*;/;%
    也就是一般的加减乘除,外加一个取余。这里需要注意的一个点就是除法,java里面的除法是取整数,意思就是如果一个数没有被除尽也只取它的整数部分。话不多说,上代码

    package Review.Operator;
    
    public class OperatorTest {
    	
    	public static void main(String[] args) {
    		
    		int a = 3;
    		int b = 5;
    		
    		System.out.println(a+b);
    		System.out.println(a-b);
    		System.out.println(a*b);
    		
    		// 整数相除取商数
    		System.out.println(a/b);
    		
    		System.out.println(a%b);
    		
    		// 整数相除只得整数,要得小数必浮点
    		System.out.println(3.0/5);
    		System.out.println(5/3.0);
    	}
    
    }
    
    

    (2)++;–
    ++在前,先自加,再赋值
    ++在后,先赋值,再自加
    自减原理相同

    package Review.Operator;
    
    public class OperatorTest1 {
    	
    	public static void main(String[] args) {
    		
    		int a = 8;
    		int b = ++a; // b = a +1
    		System.out.println("b="+b+"-----"+"a="+a);
    		int d = 8;
    		int c = d++;
    		System.out.println("c="+c+"-----"+"d="+d);
    		
    	}
    }
    

    运行结果:
    b=9-----a=9
    c=8-----d=9

    2.赋值运算符

    =;+=;-=;*=以及/=

    package Review.Operator;
    
    public class OperatorTest2 {
    	
    	public static void main(String[] args) {
    		
    		int a = 10;
    		
    		a += 5; // a = a + 5
    		System.out.println("a="+a);
    		// -=  *=  /= 以此类推
    		
    		// 隐含了强制转换,“=”右边默认是int类型
    		// 相当于 b = (b的类型)(b+1)
    		byte b = 1;
    		b += 1;
    		System.out.println("b="+b);
    		
    	}
    }
    

    运行结果:
    a=15
    b=2

    3.逻辑运算符

    (1)&;|;^;!
    有错(false)则错(false)【&】
    有对(true)则对(true)【|】
    相同则错(false)【^】
    不同则对(true)【^】
    对就是错(false)【!】
    错(false)就是对(true)【!】

    package Review.Operator;
    
    public class OperatorTest3 {
    	
    	public static void main(String[] args) {
    		
    		int a = 3;
    		int b = 4;
    		int c = 5;
    		
    		System.out.println((a>b)&(a>c)); // 有错则错
    		System.out.println((a>b)|(a>c)); // 有对则对
    		System.out.println((a>b)^(a>c)); // 相同则错,不同则对
    		System.out.println(!(a>b)); // 对就是错,错就是对
    	
    	}
    }
    

    运行结果:
    false
    false
    false
    true
    (2)&&和||;&&和&(||和|)的区别
    &&和&
    相同点:结果都一样
    不同点:&&有短路效果,若左边为false,则走遍不执行
    &无论左边是true或是false,右边都会执行
    ||和|
    相同点:结果都一样
    不同点:||有短路效果,若左边为true,则右边不会执行
    |无论左边是true或是false,右边都会执行

    package Review.Operator;
    
    public class OperatorTest4 {
    	
    	public static void main(String[] args) {
    		
    		int a = 4;
    		int b = 8;
    		int c = 1;
    			
    		System.out.println((a>b)&&(a>c));
    		System.out.println((a>b)||(a>c));
    		
    		// &&和&的区别
    		
    		int x = 6;
    		int y = 7;
    		int x1 = 6;
    		int y1 = 7;
    		
    		System.out.println((x1++>6)&(y1++>7));
    		System.out.println((x++>6)&&(y++>7));	
    	}
    }
    

    运行结果:
    false
    false
    false
    true
    ||和|以此类推。

    4.三元运算符

    语法:布尔表达式?表达式1:表达式2
    计算布尔表达式的值看是true还是false;若是true则执行表达式1,若是false则执行表达式2

    package Review.Operator;
    
    public class OperatorTest5 {
    	
    	public static void main(String[] args) {
    		
    		// 如果你有一百万且身体健康,就可以去环游世界,否则好好学习。
    		
    		String a = "100w";
    		String b = "身体健康";
    		
    		if(a.equals("100w") && b.equals("身体健康")) {
    			System.out.println("我终于可以去环游世界了");
    		}else {
    			System.out.println("好好学习吧!");
    		}	
    	}
    }
    

    运行结果:
    我终于可以去环游世界了

    cs