运算符

作者: 雪上霜 | 来源:发表于2020-04-15 12:13 被阅读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++;
        }
    }
    

    相关文章

      网友评论

          本文标题:运算符

          本文链接:https://www.haomeiwen.com/subject/kwpqvhtx.html