ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java基本运算符

2022-05-20 22:32:40  阅读:145  来源: 互联网

标签:基本 Java int System 运算符 println public out


运算符

新建包,时间:3:34 P27Java基础07:基本运算符

视频网址:https://www.bilibili.com/video/BV12J41137hu?p=27


基本运算符

Java语言支持如下运算符

  1. 算数运算符:+ , - , * , / , % , ++ , --
  2. 赋值运算符: =
  3. 关系运算符: > , < , >= , <= , == , != , instanceof
  4. 逻辑运算符: && , || , !(与,或,非)
  5. 位运算符: & , | , ^ , ~ , >> , << , >>>(了解!!!)
  6. 条件运算符: ? :
  7. 扩展赋值运算符: += , -= , *= , /=
public class Demo01 {
    //对应视频Demo01

    public static void main(String[] args) {
        //二元运算符
        //Ctrl + D :复制当前行到下一行
        int a = 10;
        int b = 20;
        int c = 25;
        int d = 25;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);
        System.out.println("===================================");

        //对应视频Demo02
        //运算时的转换会按数据长度增加的方向进行,以保证精度不降低
        long i = 12312313213213L;
        int j = 123;
        short m = 10;
        byte n = 8;

        System.out.println(i+j+m+n);  //Long
        System.out.println(j+m+n);  //Int
        System.out.println(m+n);  //Int
        System.out.println("===================================");


        //对应视频Demo03
        //关系运算符返回的结果:正确,错误(布尔值)
        //多和 if一起使用

        int p = 10;
        int q = 20;
        int e = 21;

        System.out.println(p>q);
        System.out.println(p<q);
        System.out.println(p==q);
        System.out.println(p!=q);
        //取余,模运算
        System.out.println(e%p);  // c/a    21/10 = 2...1
    }
}

自增自减运算符、初识Math类

public class Demo02 {
    //对应视频Demo04
    public static void main(String[] args) {
        //++    --    自增,自减    一元运算符
        int a = 3;
        //a++最后 a的值表现为 a = a + 1
        int b = a++;  //执行完这行代码后,先赋值,再自增。
        System.out.println(a);
        //a++最后 a的值表现为 a = a + 1
        int c = ++a;  //执行完这行代码后,先自增,再赋值。

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println("===================================");

        //幂运算 2^3    2*2*2 = 8    很多运算,我们会使用一些工具类来操作
        //输入 Math.pow(2, 3) 后 Alt + Enter 后代码会变为 double pow = Math.pow(2, 3);
        double pow = Math.pow(2, 3);
        System.out.println(pow);
    }
}

Day09 1.Java逻辑运算符、位运算符

逻辑运算符

//对应视频Demo05
//逻辑运算符
public class Demo03 {
    public static void main(String[] args) {
        //  与(and)  或(or)  非(取反)
        boolean a = true;
        boolean b = false;

        System.out.println("a && b:"+(a&&b));  //逻辑与运算:两个变量都为真,结果才为true
        System.out.println("a || b:"+(a||b));  //逻辑与运算:两个变量都为真,结果才为true
        System.out.println("!(a && b):"+!(a&&b));  //如果是真,则变为假,如果是假,则变为真

        //短路运算:即逻辑运算的前一部分已经能得出结果,就会跳过后面的运算直接给出结果
        int c = 5;
        boolean d = (c<4)&&(c++<4);  //(c<4)结果是 false, &&的结果已经可以确定为 false,后面的运算将被跳过。 c的值不变。

        System.out.println(d);
        System.out.println(c);
    }
}

位运算符

public class Demo04 {
    public static void main(String[] args) {
        //对应视频Demo06
         /*
         A   = 0011 1100
         B   = 0000 1101
         -------------------------------
         可以把1看作 true,0看作 false运算。
         A&B = 0000 1100
         A|B = 0011 1101
         A^B = 0011 0001  //异或:相同为0,不同为1
         ~B  = 1111 0010  //取反:0变1,1变0
         -------------------------------
         2*8 = 16    如何运算最快  2*2*2*2
         效率极高!!!
         <<    *2
         >>    /2

         0000 0000    0
         0000 0001    1
         0000 0010    2
         0000 0011    3
         0000 0100    4
         0000 1000    8
         0001 0000    16
          */

        //<<    *2
        //>>    /2
        System.out.println(2<<3);
    }
}

Day09 2.Java三元运算符及小结

三元运算符及小结

public class Demo05 {
    public static void main(String[] args) {
        //对应视频Demo07
        int a = 10;
        int b = 20;

        a+=b;  //a = a + b
        a-=b;  //a = a - b

        System.out.println(a);

        //字符串连接符    +    ,在字符串连接符两侧只要有一边出现了 String类型,那么另一边就会被转化为 String再进行连接。
        System.out.println(""+a+b);  //结果为"1020"
        //注意会有先运算再转为 String类型的情况!!!
        System.out.println(a+b+"");  //结果为"30"
    }
}
//对应视频Demo08
public class Demo06 {
    public static void main(String[] args) {
        // x ? y : z
        //如果 x==true,则结果为y,否则结果为z

        int score = 80;
        String type = score < 60 ? "不及格" : "及格";  //必须装我
        // if
        System.out.println(type);
    }
}

运算符的优先级

优先级 运算符 结合性
1 () 、 [] 从左到右
2 ! 、 +(正) 、 -(负) 、 ~ 、 ++ 、 -- 从右到左
3 * 、 / 、 % 从左到右
4 +(加) 、 -(减) 从左到右
5 << 、 >> 、 >>> 从左到右
6 < 、 <= 、 > 、 >= 、instanceof 从左到右
7 == 、 != 从左到右
8 &(按位与) 从左到右
9 ^ 从左到右
10 从左到右
11 && 从左到右
12 从左到右
13 ? : 从右到左
14 = 、 += 、 -= 、 *= 、 /= 、 %= 、 &= 、 |= 、 ^= 、 ~= 、 <<= 、 >>= 、 >>>= 从右到左

转自 链接

  1. 该表中优先级按照从高到低的顺序书写,也就是优先级为1的优先级最高,优先级14的优先级最低。
  2. 结合性是指运算符结合的顺序,通常都是从左到右。从右向左的运算符最典型的就是负号,例如3+-4,则意义为3加-4,符号首先和运算符右侧的内容结合。
  3. instanceof作用是判断对象是否为某个类或接口类型,后续有详细介绍。
  4. 注意区分正负号和加减号,以及按位与和逻辑与的区别

注意:其实在实际的开发中,不需要去记忆运算符的优先级别,也不要刻意的使用运算符的优先级别,对于不清楚优先级的地方使用小括号去进行替代,这样书写代码,更方便编写代码,也便于代码的阅读和维护。

标签:基本,Java,int,System,运算符,println,public,out
来源: https://www.cnblogs.com/wanjiaxin/p/BasicOperator.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有