栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础07

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础07

运算符

    算数运算符

    加(+),减(-),乘(*),除(/),取模(我们常说的取余)(%),自增(++),自减(–)

    public class demo01 {
        public static void main(String[] args) {
            int a=4;
            int b=2;
            System.out.println(a/b);
            //此处输出为2,我们算得也为2
    
            int a1=3;
            int b1=2;
            System.out.println(a1/b1);
    		//此处输出为1,但我们算结果应该为1.5.原因在于出c1为整数型至于走整数部分
            
            int a2=3;
            int b2=2;
            System.out.println(a2/(double)b2);
            //此处输出为1.5,证明我们算得也为1.5.我们b2强制转换为了double类型,所得结果也为double类型了
    
            
    
        }
    }
    
    
    public class demo01 {
        public static void main(String[] args) {
            int a=3;
            int b=a++;//此处a++相当于一句a=a+1的代码,因为++是在a的后面,所以a是先赋值给b,再执行a++
            int c=++a;//此处++a也相当于一句a=a+1的代码,因为++是在a的前面,所以a是先执行a++,再赋值给c
            System.out.println(a);
            //输出值为5
            System.out.println(b);
            //输出值为3
            System.out.println(c);
            //输出值为5
        }
    }
    

    赋值运算符:=(eg:int a=3;//就是把3的值赋给a)

    扩展赋值运算符:+=,-=,*=,/=

    a+=b;<==>a=a+b;

    a-=b;<==>a=a-b;

    a*= b;<==>a=a *b;

    a/=b;<==>a=a/b;

    关系运算符

    大于(>),小于(,),等于(==),大于等于(>=),小于等于(<=),不等于(!=), instanceof

    instanceof:测试它左边的对象是否是它右边的类的实例.

    关系运算类型返回 boolean 的数据类型。

    逻辑运算符

    &&(与),||(或),!(非)

    public class demo01 {
        public static void main(String[] args) {
            boolean a=false;
            boolean b=false;
            boolean c=true;
            boolean d=true;
            System.out.println(a&&b);//输出为false
            System.out.println(a&&c);//输出为false
            System.out.println(c&&d);//输出为true
            System.out.println(a||b);//输出为false
            System.out.println(a||c);//输出为true
            System.out.println(c||d);//输出为true
            System.out.println(!a);//输出为true
            System.out.println(!c);//输出为false
            
            
            //短路运算
            int m=5;
            
            boolean j=(m>5)&&(m++>5);
            System.out.println(j);
            System.out.println(m);//输出为5,在上面代码中,&&检测到前一个为假,则直接输出假,不进行&&后面计算
    
    
            boolean k=(m>4)||(m-->4);
            System.out.println(k);
            System.out.println(m);//输出值为5,在上面代码中,||检测到前一个为真,则直接输出真,不进行||后面计算
        }
    }
    
    

    位运算符

    与(&),或(|),非(~),异或(^),左移(<<),有符号右移(>>),无符号右移(>>>)

    在计算机里1为真0为假

    A=0011 0011

    B=1010 1010

    所以,

    A&B是按每一位都1为1,有0出0,输出为:0010 0010

    A|B是按每一位都0为0,有1出1,输出为:1011 1011

    ~A是按每一位进1出0,进0出1,输出为:1100 1100

    A^B是按每一位相同输出0,不同输出1, 输出为1001 1001

    当计算机直接用位运算是最快的

    一个字节有8bit 左移即把每一位往左移;右移反之

    A<<1 输出为:0110 0110 相当于(整数型)*2,(低位补0)

    A>>1 输出为:0001 1001 相当于(整数型)/2,(正数高位补0,负数高位补1)

    A>>>1输出为:0001 1001 相当于(整数型)/2,(高位补0)

    条件运算符:?

    public class demo01 {
        public static void main(String[] args) {
            int score=80;
            String type=score<60?"不及格":"及格";
            System.out.println(type);
             
        }
    }
    
    
Java运算符优先级列表
优先级运算符结合性
1[]、()、.从左向右
2!、~、 ++、 –从右向左
3* 、/ 、%从左向右
4+ 、 -从左向右
5<<、 >>、 >>>从左向右
6< 、<= 、>、 >=、 instanceof从左向右
7== 、!=从左向右
8&从左向右
9^从左向右
10|从左向右
11&&从左向右
12||从左向右
13?:从右向左
14=、 += 、-= 、*= 、/=从右向左
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/713475.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号