4.Java基本语法-----运算符

2020-03-27 16:09:40来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

4.Java基本语法-----运算符

一、算术运算符

 

 

 注意事项:

  1.对于取模运算,如果有负数,结果跟被模数的符号相同。如:5 % -2 = 1

  2.对于“/”,结果只保留整数部分,小数部分忽略

  3.对于字符串连接符“+”,如果左右两边有一个为字符串,则结果为字符串,此时的“+”是拼接操作

  4.++、--运算的结果不会改变变量本身的数据类型

代码:

public class test {
    public static void main(String[] args) {

        //除号:/
        int num1 = 12;
        int num2 = 5;
        int res = num1 / num2;
        System.out.println(res);//2

        //取模:%
        int res1 = num1 % num2;
        System.out.println(res1);//2
        num1 = -12;
        System.out.println(num1 % num2);//-2

        //前++
        int m1 = 5;
        int m = ++m1;
        System.out.println(m1);//6
        System.out.println(m);//6

        //后++
        int n = 3;
        int n1 = n++;
        System.out.println(n);//4
        System.out.println(n1);//3
    }
}

二、赋值运算符

具体的:= 、+= 、-= 、*= 、/=、%=

注意:运算的结果不会改变变量本身的数据类型

如果想要实现+1的操作,有几种方式?(前提:int num = 5;)

int num = 5;
num = num + 1;
num += 1;
num++;(推荐)

代码:

public class test {
    public static void main(String[] args) {

        int num = 5;
        num *= 2;
        System.out.println(num);//10

        int m, n;
        m = n = 10;//连续赋值

        int m1 = 5, n1 = 4;

        short s1 = 11;
//        s1 = s1 + 1;//运算结果为int型
        s1 += 1;//不会改变变量本身的数据类型
        System.out.println(s1);//12
    }
}

三、比较运算符

 

 说明:比较运算符的运算结果为boolean型

public class test {
    public static void main(String[] args) {
        int m = 10;
        int n = 20;
        System.out.println(m == n);//false
        System.out.println(m = n);//20

        boolean b1 = true;
        boolean b2 = false;
        System.out.println(b1 == b2);//false
        System.out.println(b1 = b2);//false
    }
}

四、逻辑运算符

 

 说明:

  1.逻辑运算符操作的都是boolean类型的变量,且结果都为boolean型

  2.&&和&:当符号左边是true的时候,两者没什么区别;当符号左边是false的时候,&&不会执行右边的操作,而&会继续执行右边的操作

  3.||和|:当符号左边是false的时候,两者没什么区别;当符号左边是true的时候,||不会执行右边的操作,而|会继续执行右边的操作

  4.开发中,推荐使用&&和||

代码:

public class test {
    public static void main(String[] args) {
        boolean b1 = true;
        int num = 4;
        if (b1 && (num++ > 3)){
            System.out.println("我现在在北京");//我现在在北京
        }else{
            System.out.println("我现在在南京");
        }
        System.out.println(num);//5

        System.out.println("***************");

        boolean b2 = false;
        int num1 = 4;
        if (b2 && (num1++ > 3)){
            System.out.println("我现在在北京");
        }else{
            System.out.println("我现在在南京");//我现在在南京
        }
        System.out.println(num1);//4
    }
}

五、位运算符

 

 说明:

  1.位运算符直接对二进制进行运算

  2.<<:每向左移一位,相当于*2

  3.>>:每向右移一位,相当于/2

  

 

代码:

public class test {
    public static void main(String[] args) {
        //最高的效率实现4 * 2
        int i = 4;
        System.out.println(i << 1);//8

        //交换两个变量的值
        int m = 5;
        int n = 6;
        int temp = m;
        m = n;
        n = temp;
        System.out.println("m = " + m);//m = 6
        System.out.println("n = " + n);//n = 5
    }
}

六、三元运算符

格式:(条件表达式)? 表达式1:表达式2;

说明:

  ①条件表达式的结果为boolean型;

  ②根据条件表达式的结果判断执行表达式1还是表达式2;

  ③如果条件表达式的结果为true,则执行表达式1;否则,执行表达式2.

  ④三元运算符可以嵌套使用

  ⑤凡是可以使用三元运算符的地方,都可以改为if-else结构,反之,不成立

  ⑥如果程序既可以使用三元运算符,又可以使用if-else,建议使用三元运算符。原因:简洁、执行效率高

代码:

public class test {
    public static void main(String[] args) {
        //获取两个数的较大值
        int m = 10;
        int n = 20;
        int max = (m > n)? m : n;
        System.out.println(max);//20

        //获取三个数的较大值
        int x = 3;
        int y = 5;
        int z = 1;
        int max1 = (x > y)? x : y;
        int max2 = (max1 > z)? max1 : z;
        System.out.println(max2);//5
    }
}

 

 

作者:Java之美

日期:2020-03-27


原文链接:https://www.cnblogs.com/897463196-a/p/12583913.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:面试刷题16:synchronized和ReentrantLock的区别?

下一篇:Java基础语法(3)-运算符