运算符

2020-04-15  本文已影响0人  雪上霜

算术运算符
关系运算符
逻辑运算符
赋值运算符
三目运算符
字符串拼接运算符

//OperatorTest.java
public class OperatorTest{
    public static void main(String[] args){
        //算术运算符
        int a = 10;
        int b = 3;
        
        //++,--
        int k = 10;
        k++;
        ++k;
        k--;
        --k;
        //后置++先做赋值运算,再加1.与C++一样。
        //前置++先加1,再做赋值运算.与C++一样。
        
        //关系运算符,运算结果一定是boolean类型,不是true就是false。
        int a = 10;
        int b = 10;
        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(a==b);
        
        //逻辑运算符,&逻辑与,|逻辑或,!逻辑非,&&短路与,||短路或。
        //逻辑运算符两边是boolean类型,最终结果为boolean类型。
        System.out.println(true & true);
        System.out.println(true & false);
        System.out.println(false & false);
        
        System.out.println(100 > 90 & 100 > 101);
        
        System.out.println(true | true);
        System.out.println(true | false);
        System.out.println(false | false);
        
        System.out.println(!true);
        System.out.println(!false);
        
        System.out.println(!(100 > 101));   //需要加()
        
        //短路与 && 短路或||
        //短路与与逻辑与区别:结果没有不同,只不过&&会发生短路现象
        
        System.out.println(true && true);
        System.out.println(true && false);
        System.out.println(false && false);
        
        //什么是短路现象,什么时候会发生,
        int x = 10;
        int y = 11;
        System.out.println(x > y & x > y++);    //短路与:左边为false,右边就不需要执行了。
        
        int m = 10;
        int n = 11;
        System.out.println(m > n && m > n++);
        System.out.println(n);
        
        //从效率方面来说:短路与&&比逻辑与&高一些。
        //以后开发中,短路与与逻辑与并存。
        
        //短路或 ,左边为true时。
        
        
        //赋值运算符:基本赋值运算符(+ - * / %)和扩展赋值运算符(+= *= -= /= %=)。
        //赋值运算符右边优先级高。
        
        //i += 10 与 i = i + 10一样吗,不完全一样。
        
        byte x = 10;
        x = x + 1;  //报错。
        x += 1; //正确    //使用扩展赋值运算符永远不会改变运算结果类型。
        
        //条件运算符
        //布尔表达式?表达式1:表达式2
        
        boolean sex = false;
        //sex ? '男' : '女';  //错误,不是语句。
        //100;
        //'男';  
        char c = sex ? '男' : '女';
        
        //字符串连接符:+
        //+:求和、字符串拼接。
        //两边都是数字:求和,两边任意一边是字符串类型:字符串拼接。
        int nianLing = 35;
        System.out.println("年龄="+nianLing);
        
        int a = 100;
        int b = 200;
        System.out.println(a+b);
        
        System.out.println(a+b+"1110");//多个+,自左向右执行。先求和再拼接。3001110;
        System.out.println(a+(b+"1110"));//1002001110
        
        System.out.println(a+ "+" + b + "=" + ( a + b ) );
        
        //定义字符串类型变量
        String name = "Jack";
        
        System.out.println("登录成功欢迎"+name+"回来");     
    }
}
public class Homework{
    public static void main(String[] args){
        int i = 10;
        i = i++;
        System.out.println(i);  //Java:10  C++:11
        //在Java中i++,这种表达式赋值给一个临时变量
        int k = 10;
        k = k++;
            -->     int tmp = k;
                    k++;
                    k = tmp;
        //C++:
        int k = 10;
        k = k++;
            -->     int tmp = k;
                    k++;
    }
}
上一篇下一篇

猜你喜欢

热点阅读