Java_运算符_09

运算符

1. Java 语言支持如下运算符

  1. 算数运算符:+,-,*,/,%.++,–
  2. 赋值运算符 =
  3. 关系运算符:>,<,>=,<=,==,!=instanceof
  4. 逻辑运算符:&&,||,!
  5. 位运算符:& ,|,~,^,>>,<<,>>> (了解)
  6. 条件运算符 : ?
  7. 扩展复制运算符:+=,-=,*=,/=

示例代码

  1. 二元运算符
public static void main(String[] args) {
    // 二元运算符
    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);
}
输出结果:
30
-10
200
0.5

Process finished with exit code 0

  1. 计算时类型转换

public static void main(String[] args) {
   long a = 123123123123123L;
   int b =123;
   short c =108;
   byte d =8;
   System.out.println(a+b+c+d);//返回Long 类型
   System.out.println(b+c+d);// 返回Int 类型
   System.out.println(c+d);// Int 类型
}
输出结果:

123123123123362
239
116
Process finished with exit code 0
  1. 值对比返回布尔值
public static void main(String[] args) {
     // 关系运算符返回结果: 正确,错误 布尔值
     int a =10;
     int b =20;
     int c =21;
     System.out.println(a > b);
     System.out.println(a < b);
     System.out.println(a == b);
     System.out.println(a != b);//不等于

     //取余,其实就是模运算
     System.out.println(c%a); //c  /a  21/10  =2 .....1

 }
输出结果:
false
true
false
true
1
  1. a++,++a 运用
public static void main(String[] args) {
   //++ --
   int a =3;

   int b =a++;  // 执行完这行代码后,先给b 赋值,再自增
   //a++   a =a+1

   System.out.println("a="+a);

   //a =a +1;
   int c = ++a;   //执行完这行代码后,先自增,然后赋值给c 
   System.out.println(a);
   System.out.println(b);
   System.out.println(c);

   //幂运算 2^3   2*2*2  =8 ,我们会使用一些工具类来操作!
   double pow = Math.pow(3, 2);
   System.out.println(pow);
}
输出结果: 
a=4
5
3
5
9.0

位运算

//位运算符
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  异或,   相同则是0 ,不相同则是1
         * ~ B   = 1111 0010  取反,
         *
         * 2 * 8  =16  2*2*2*2
         *
         * 效率高
         * << * 2    //左移动
         * >>  /2    //右移动
         *
         *
         * 0000 0000   0
         * 0000 0001   1   2^0
         * 0000 0010   2   2^1
         * 0000 0011   3   2^1 +1
         * 0000 0100   4   2^2
         * 0000 1000   8   2^3
         * 0001 0000   16  2^4
         */
        System.out.println(2<<1);
    }


}
输出结果:4

逻辑运算

//逻辑运算符
public class Demo5 {
    public static void main(String[] args) {
        //与(and) 或(or) 非(取反)
        boolean a =true;
        boolean b =false;
        System.out.println("a && b="+(a && b));
        System.out.println("a || b="+(a || b));
        System.out.println("!(a && b)="+(!(a && b)));

        //短路运算
        int c =5;
        boolean d =(c<4) && (c++<4);  //左边不满足则不会再执行右边的c++
        System.out.println(d);
        System.out.println(c);
    }

}

输出结果:
a && b=false
a || b=true
!(a && b)=true
false
5

Process finished with exit code 0

字符串拼接及+=,-=含义


public class Demo08 {

    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        a+=b; // a =a + b;  意思就是a=a+b
        a-=b; // a = a-b;
        System.out.println(a);

        //字符串连接符 +, String
        System.out.println(a+b);
        System.out.println(""+a+b);
        System.out.println(a+b+"");
    }
}
输出结果:
10
30
1020
30

三元运算符

    public static void main(String[] args) {
        //x?y :z
        //如果x==true ,则结果为y,否则结果z
        int score =80;
        String type =score<60?"不及格":"及格";//必须掌握
        System.out.println(type);
    }

输出结果:
及格

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值