JAVA中的运算符

JAVA语言支持以下运算符

算数运算符:+、-、*、/、%(取余,也叫模运算)、++、--

赋值运算符:=

关系运算符:>,<,>=,<=,==(java里的等于用两个等号), i=(不等于)、instanceof

逻辑运算符:&&(与)、||(或)、!(非)

位运算符:&、|、^、~、>>、<<、>>>(了解就好)

条件运算符?:

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

算数运算符

加减乘除

public class 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);//结果应该是0.5,四舍五入取0了,结果有问题,要算应该强制转换一下
                                        //在除出来小数的时候,一定要注意作用范围
    }
}
public class Demo02 {
    public static void main(String[] args) {
        long a = 134325255255L;
        int b = 134;
        short c = 12;
        byte d = 8;
​
        System.out.println(a+b+c+d);//里面有Long,结果就是Long类型
        System.out.println(b+c+d);//int 没有Long 输出为int类型
        System.out.println(c+d);//int
        //一个较“小”的数据与一个较“大”的数据一起运算时,系统将自动将“小”数据转换成”大“数据
    }
}

自增自减

public class Demo04 {
    public static void main(String[] args) {
        //++  --   自增  自减   是一种比较特殊的运算符   一元运算符
        int a = 3;
​
        int b = a++;//a++执行的下一句 a才会+1  执行完这行代码后,先给b赋值,再自增
        //a++  a = a + 1; 相当于隐藏了这一句代码
        System.out.println(a);
        int c = ++a; //执行完这行代码前 先自增 再给b赋值
​
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
​
        //幂运算  2^3  2*2*2 = 8 java里没有这个写法  java会借助一些工具类
        //很多运算,我们会使用一些工具类来操作!
        double pow = Math.pow(2, 3);
        System.out.println(pow);
​
    }
}

关系运算符

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:正确 错误 用布尔值表示
        //之后会跟大量的if一起使用
​
        int a = 15;
        int b = 25;
        int c = 21;
​
        System.out.println(c%a);//c / a    21 / 15 ...6
​
        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);
    }
}

逻辑运算符

//逻辑运算符
public class Demo05 {
    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 两个都为加结果才为false
        System.out.println("! (a && b): "+!(a&&b));//如果是真,则变为假   如果是假则变为真
​
        //短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);//输出false
        System.out.println(c);//输出5  可以看出前面(c<4)为错 后面的c++根本不会执行
                              //如果c++执行这里应该是输出6的
    }
}

位运算符

public class Demo06 {
    public static void main(String[] args) {
        /*
        A = 0011 1100 这是一个位 它是二进制的数字
        B = 0000 1101
​
        A&B 0000 1100
        A|B 0011 1101
        A^B 0011 0001
        ~B  1111 0011
        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
         */
        System.out.println(2<<3);//16  2<<3 可以理解为2乘以2的三次 
    }
}
public class Demo07 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
​
        a+=b;// a = a+b
        a-=b;// a = a-b
        System.out.println(a);
​
        //字符串连接符 + , 在+运算符两侧 只要有一方出现了字符串类型 就会把另一方转化再连接
        System.out.println(""+a+b);//1020
​
        System.out.println(a+b+"");//30  ""在后面 前面依旧进行运算
    }
}

扩展运算符

public class Demo07 {
    public static void main(String[] args) {
         int a = 10;
        int b = 20;
​
        a+=b;// a = a+b
        a-=b;// a = a-b
        System.out.println(a);
​
        //字符串连接符 + , 在+运算符两侧 只要有一方出现了字符串类型 就会把另一方转化再连接
        System.out.println(""+a+b);//1020
​
        System.out.println(a+b+"");//30  ""在后面 前面依旧进行运算
    }
}

三元运算符

//三元运算符
public class Demo08 {
    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);//及格
    }
}

优先级()

强力推荐b站 遇见狂神说的java视频 讲的特别细 我之前发的都是在跟着他的视频学

遇见狂神说的个人空间_哔哩哔哩_bilibili

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

记得天天开心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值