Java基础学习二 运算符

2021-05-26  本文已影响0人  SimonLike

运算符

1,运算符-算术运算符(++、--)

代码示例:
public class HelloWorld {
    public static void main(String[] args) {//表示定义一个公开的静态的主方法 ps:程序执行入口
        /*  方法体  */

        //++运算符可以出现在变量前,也可以出现在变量后,只要++运算结束,该变量中的值一定会自加1
        int i = 1;
        i ++;
        System.out.println(i);

        //++ 出现变量后:先做赋值运算,再对变量中保存的值进行自加1
        int a = 100;
        int b = a ++;
        System.out.println(a);//101
        System.out.println(b);//100

        //++ 出现变量前:先进行自加1,再进行赋值操作。
        int m = 20;
        int n = ++ m;
        System.out.println(m);//21
        System.out.println(n);//21

        //-- 出现变量后:先做赋值运算,再对变量中保存的值进行自减1
        int c = 100;
        int d = c --;
        System.out.println(c);//99
        System.out.println(d);//100

        //-- 出现变量前:先进行自减1,再进行赋值操作。
        int e = 100;
        int f = -- e ;
        System.out.println(e);//99
        System.out.println(f);//99
    }
}

2,运算符-关系运算符

运算符号 解析 运算符号 解析
> 大于 <= 小于等于
>= 大于等于 == 等于
< 小于 != 不等于

3,运算符-逻辑运算符

运算符号 类型 定义
& 逻辑与 两边算子都是true,结果才是true
| 逻辑或 两边算子只要有一个true,结果就是true
逻辑非 取反,!false就是true,!true就是false,这是一个单目运算符
^ 逻辑异或 两边算子只要不一样,结果就是true
&& 短路与 第一个算子执行结果是false,会发生短路与
|| 短路或 第一个算子执行结果是true,会发生短路或
代码示例:
public class HelloWorld {
    public static void main(String[] args) {//表示定义一个公开的静态的主方法 ps:程序执行入口
        /*  方法体  */
        //运算符优先级不确定,加小括号
        System.out.println(5 > 3 & 5 > 2);//true
        System.out.println(5 > 3 & 5 > 6);//false
        System.out.println(5 > 3 | 5 > 6);//true

        System.out.println(true & true);//true
        System.out.println(true & false);//false
        System.out.println(false & false);//false

        System.out.println(true | false);//true
        System.out.println(false | false);//false
        System.out.println(!false);//true

        System.out.println(true ^ false);//true
        System.out.println(true ^ true);//false
        System.out.println(false ^ false);//false

        //逻辑与和短路与
        int x = 10;
        int y = 8;
        //逻辑与
        System.out.println(x < y & ++x < y);
        System.out.println(x);//11

        int m = 10;
        int n = 8;
        //短路与
        // m < n 结果是false,整个表达式结果已经确定是false
        // 所以后面的表达式没有在执行,这种现象称为短路现象
        // 短路与才会有短路现象,逻辑与不会存在短路现象的。
        System.out.println(m < n && ++m < n);
        System.out.println(m);//10
        /*
        // 什么情况下发生短路或?
              * 第一个表达式执行结果是true,会发生短路或
           什么情况下发生短路与?
              * 第一个表达式执行结果是false,会发生短路与
        */
    }
}

4,运算符-赋值运算符

代码示例:
public class HelloWorld {
    public static void main(String[] args) {//表示定义一个公开的静态的主方法 ps:程序执行入口
        /*  方法体  */

        // 基本的赋值运算符
        int i = 10;
        System.out.println(i);//10
        i = i + 5;
        System.out.println(i);//15

        // 扩展的赋值运算符  相同int类型运算
        i += 5;//等同于:i = i + 5;
        System.out.println(i);//20
        i -= 5;//等同于:i = i - 5;
        System.out.println(i);//15
        i *= 2;//等同于:i = i * 2;
        System.out.println(i);//30
        i /= 3;//等同于:i = i / 3;
        System.out.println(i);//10
        i %= 4;//等同于:i = i % 4;
        System.out.println(i);//2

        //----------------------不同类型运算-----------------------------------
        byte b = 10;
        //b = b + 5; //编译报错  b + 5是int类型,b是byte类型;大转小需要强制类型转换符
        b = (byte) (b + 5); //可以编译通过
        System.out.println(b);//

        byte x = 10;
        x += 5;////等同于:x = (byte)(x + 5); 不等同于 x = x + 5;
        System.out.println(x);//15

        x += 128;// 等同于:x = (byte)(x + 128)
        System.out.println(x);//-113【损失精度】

        x += 10000;// 等同于:x = (byte)(x + 10000)
        System.out.println(x);//-97【损失精度】
    }
}

5,运算符-字符串连接运算符(+)

代码示例:
public class HelloWorld {
    public static void main(String[] args) {//表示定义一个公开的静态的主方法 ps:程序执行入口
        /*  方法体  */

        int a = 10;
        int b = 20;
        //要求在控制台输出 "10 + 20 = 30"
        System.out.println(" 10 + 20 = " + ( a + b));
        //要求在以动态的方式输出
        //b = 200;  //输出:10 + 200 = 210
        System.out.println( a + " + " +  b + " = " + ( a + b));

        int i = 10;
        String username = "adc";
        System.out.println("欢迎"+username+"回来!");
        
    }
}

6,运算符-三元运算符/三目运算符/条件运算符

代码示例:
public class HelloWorld {
    public static void main(String[] args) {//表示定义一个公开的静态的主方法 ps:程序执行入口
        /*  方法体  */
        boolean sexbool = true;

        char sex = sexbool ? '男' : '女' ;
        //不知道优先级时可以这么写
        //char sex = (sexbool ? '男' : '女') ;
        System.out.println(sex);// sexbool为true输出男, sexbool为false输出女。
        System.out.println(sexbool ? '男' : '女');
    }
}

上篇: Java基础学习一 基本数据类型
下篇: Java基础学习三 控制语句

上一篇下一篇

猜你喜欢

热点阅读