运算符

目录

Java语言支持如下运算符:

算术运算符

赋值运算符

关系运算符

逻辑运算符

位运算符

条件运算符

扩展赋值运算符

字符串连接符


Java语言支持如下运算符:

算术运算符

+ (加),- (减),* (乘),/ (除),%(取余,模运算)

public class Demo01 {
    public static void main(String[] args) {
        // 二元运算符
        //ctrl + D :复制当前行到下一行
        int a = 10;
        int b = 20;
        
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b); //强制转换
​
    }
}

public class Demo02 {
    public static void main(String[] args) {
        long a = 123456789L;
        int b = 21;
        short c = 10;
        byte d = 8;
        int e = 10;
        //运算符和类转换应用
        System.out.println(a+b+c+d);  //自动转换为long类型  低~高
        System.out.println(b+c+d);  //自动转换为int类型     低~高
        System.out.println(c+d);  //自动转换为short类型       低~高
        System.out.println((double) c+d);  //可以执行强制转换成自己想要的类型
​
        System.out.println(b%e);  //取余、模运算  b / e = 21 / 10 = 2.1 ,余1
    }
}

++ (自增),-- (自减)

public class Demo04 {
    public static void main(String[] args) {
        // ++  --  自增  自减  ,一元运算符
        // a++ 先给a赋值,再自增 ,  ++a 先自增,再给a赋值
        //同理可得, a-- 先给a赋值,再自减 , --a 先自减,再给a赋值
​
        int a = 3;
        int b = a++; // 执行完这行代码后,先给b赋值,再自增
        // a = a + 1;
        System.out.println(a);
​
        int c = ++a;   //执行完这行代码后,先自增,再给c赋值
​
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
​
        //幂运算   很多运算,我们会使用一些工具类来进行运算
       double pw = Math.pow(3,2); //3 * 3  ,Math类:提供了很多科学工程计算的方法,和常数以及特殊的运算方法
        System.out.println(pw);
​
​
    }
}

赋值运算符

=

public class Demo {
    public static void main(String[] args) {
        //赋值运算
        int a =10; // 把10赋给a
        int b =20; // 把20赋给b
        
        System.out.println(a);
        System.out.println(b);
        
        //输出得到赋给a、b的值
        
    }
}

关系运算符

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

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:  正确,错误   通过布尔值来表示: true  false
​
        int a = 10;
        int b = 20;
​
        System.out.println(a>b);
        //输出结果 false    错误
​
        System.out.println(a<b);
        //输出结果 true     正确
​
        System.out.println(a>=b);
        //输出结果 false    错误
        
        System.out.println(a<=b);
        //输出结果 true     正确
​
        System.out.println(a==b);
        //输出结果 false   错误
​
        System.out.println(a!=b);
        //输出结果 true     正确
    }
}

逻辑运算符

&& (逻辑与算),|| (逻辑或算),! (逻辑非算)

//逻辑运算符
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
        System.out.println("!(a && b):"+(a && b)); //逻辑非运算:如果是真,则变为假,如果是假则变为真
​
        //短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);
        System.out.println(c);
        // 通过短路运算得到,逻辑与运算在运算中得到一个变量为假,则另一个变量不会再去运算
    }
}

位运算符

& (位与算),| (位或算),^ (位或算),~ (位反算),>> (左移:乘二),<< (右移:除二),>>> (右移, 无论正负,都在最高位插入0)

  /*
    位运算
    &: 位与算   |:位或算   ^:位或算   ~:位反算
    <<:左移:乘二    >>:右移:除二
    */

public class Demo06 {
    public static void main(String[] args) {
        /*
        A = 0011 1100
        B = 0000 1101

        A&B = 0000 1100    位与算:同位数都为1则为1,否则都为0
        A|B = 0011 1101    位或算:同位数有1则为1;否则都为0
        A^B = 0011 0001    位异或算:同位数相同则为0,否则都为1
        ~A  = 1100 0011    位反算:同位数为1则为0,同位数为0则为1
        ~B  = 1111 0010

        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 0101    5
        0000 0110    6
        0000 0111    7
        0000 1000    8
        0001 0000    16

         */

        System.out.println(2<<3);
        //输出结果 8
        System.out.println(16>>2);
        //输出结果 4
    }
}

条件运算符

? ,:

//三元运算
public class Demo08 {
    public static void main(String[] args) {
        //x ?  y : z
        //如果x==true,则结果为 y,否则结果为z
​
        //定义一个变量、赋值
        int score = 80;
​
        //如果 typa为真则输出:"不及格",为假则输出:"及格"
        String typa = score <60 ?"不及格":"及格";  //相似方法 if
        //必须掌握 开发中十分常见,可以让代码更加精简
​
​
        System.out.println(typa);
        //输出结果:typa为假,不及格
​
        //如果ta为真则输出:及格,为假则输出:不及格
        String ta =score >=60?"及格":"不及格";
​
        System.out.println(ta);
        //输出结果:ta为真,及格
​
​
    }
}
​

扩展赋值运算符

+=,-=,*=,/=

  //扩展赋值运算

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);

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

        //字符串连接符  + ,只要有一方出现 String 类型,它就会把另一个操作数或其他操作数转换成 String 类型
        System.out.println(""+a+b); //字符串在前面,则进行拼接  ""为 String 类型
        System.out.println(a+b+""); //字符串在后面,则进行运算
    }
}

字符串连接符

public class Demo {
    public static void main(String[] args) {
        int a =10;
        int b =20;
        
         //字符串连接符  + ,只要有一方出现 String 类型,它就会把另一个操作数或其他操作数转换成 String 类型
        System.out.println(""+a+b); //字符串在前面,则进行拼接  ""为 String 类型
        System.out.println(a+b+""); //字符串在后面,则进行运算
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值