day06 Java运算符 一篇带你搞懂运算符

运算符

Java语言支持如下运算符

  • 算数运算符:+,-,*,/,%,++,–
  • 赋值运算符:=
  • 关系运算符:>,<, >,<,!=instanceof(不等于)
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,~,>>,<<,>>>,(了解!!!)
  • 条件运算符:?,:
  • 扩展赋值运算符:+=,-=,*=,/=

算数运算符

public class days06 {
    public static void main(String[] args) {
        //二元运算符
        int a=10;
        int b=20;
        int c=30;
        int d=40;
        int f=21;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);
        System.out.println(c%a);//c/a 21/10=2...1
        //取余,模运算

    }
}
//输出结果
30
-10
200
0.5
1

扩展:

long a=123123123123123123L;
        int b=123;
        short c=10;
        byte d=8;

        System.out.println(a+b+c+d);//Long
        System.out.println(b+c+d);//Int
        System.out.println(c+d);//Int
 //扩展 2^3 2*2*2 =8
        double pow =Math.pow(3,2);
        System.out.println(pow);

输出结果:

123123123123123264
141
18
9.0

++ (自增) --(自减) 一元运算符

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

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

输出结果:

5
3
5

int类型不能转换为string(cast:转换)

关系运算符

//关系运算符返回的结果只有:正确 错误 布尔值
        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!=b);//!= :不等于

输出结果:

false
true
false
true

逻辑运算符

//逻辑运算符  与 (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));//如果是真,则变为假,如果是假则为真

输出结果:

a && b:false
a || b:true
!(a && b):true

扩展:

//短路运算
        int c =5;
        boolean d =(c<4)&&(c++<4);
        System.out.println(d);
        System.out.println(c);

输出结果:

false
5

位运算

/*位运算
        A=0011 1100
        B=0000 1101
       --------------------
       A&B = 0000 1100
       A|B = 0011 1101
       A^B = 0011 0001
       ~B =  1111 0010
       << *2 左移乘2
       >> /2 右移除2
        */

扩展面试题:

2*8怎么更快算出来?

2*8=16 2 * 2 * 2 *2(基本方法)

System.out.println(2<<3);

输出结果:

16

条件运算符

 int a =10;
        int b =20;
        a+=b;
        a-=b;
        System.out.println(a);

        //字符串连接符 + , string
        System.out.println(""+a+b);
        System.out.println(a+b+"");
        //面试题:这俩代码有什么不同
        //如果字符串在前面 后面会进行拼接
        //如果在后面 前面依旧进行运算 (细节问题)

输出结果:

10
1020
30

三元运算符

//三元运算符
        // x ? y :z
        //如果x==true,则结果为y,否则为z
        int score =80;
        String type = score <60 ?"不及格":"及格";
        //if
        System.out.println(type);
        //让代码更精简

输出结果:

及格
三元运算符
//三元运算符
        // x ? y :z
        //如果x==true,则结果为y,否则为z
        int score =80;
        String type = score <60 ?"不及格":"及格";
        //if
        System.out.println(type);
        //让代码更精简

输出结果:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值