5.运算符

本文详细介绍了Java中的各种运算符,包括算术运算符、自增自减运算符、位移运算符(右移>>>、左移<<)以及逻辑运算符(&&、||、!)。通过实例展示了它们的用法和效果,如整型除法、取余运算、短路逻辑等。同时,还解释了三元运算符的使用,并探讨了移位运算在数值转换中的应用。
摘要由CSDN通过智能技术生成

+ - * / ++ -- % && ||  ! 三目运算符

        int i=5;
        int j=2;
        double d=2.0;
        System.out.println(i / j);//2 整型在做除法运算,结果会去除小数部分,保留整数
        System.out.println(i / d);//2.5

        System.out.println(i % j);//1 5/2=2...1

        //答案正负只与被除数m(被取余数)一致
        int m=10;
        int n=-4;
        System.out.println(m % n);

        //被取余数的绝对值小于取余数,取余结果就等于被取余数
        int a=2;
        int b=3;
        System.out.println(a % b);//2

        //判断偶数 num%2==0 和奇数

++:自增1

--:自减1

i++ i--//后置自增自减:先赋值再自增自减

++i --i//前置自增自减:先自增自减,再赋值

        int i=5;
        i++;//i=i+1
        System.out.println(i);//6

        //后置自增自减:先赋值(等整个语句运行完成)再自增自减
        //前置自增自减:先自增自减,再赋值

        int j=10;
        int result=j++;//先把j=10赋给result,再执行j++变成11
        System.out.println(j);//11
        System.out.println(result);//10

        int m=5;
        int result2=++m;//先执行++m 变成6 再赋值给result2
        System.out.println(result2);//6

        int a=5;
        int b=6;
        int result3=a++ +b;
        System.out.println(result3);//11

移位:

>>

低位移出,高位空出的位可以由0填充,或者由符号位的副本填充(如果是正数,补0;如果是负数,补1)

简单来说,在原值的基础上,往右移几位,就除以多少个2

 <<

高位移出,低位补0

简单来说,在原值的基础上,往左移几位, 就乘以多少个2

逻辑运算符:

&&(短路逻辑与)(且)对两个算对  错一个即错   只对一个算错

||(短路逻辑或)(或)对一个算对   全错算错    对两个算对

!(非)取反(!true为false,!false的结果为true)

注:在短路逻辑与(&&)运算时,当第一个表达式为false是,后面表达式不会再执行

    在短路逻辑或(||)运算时,当第一个表达式为true是,后面表达式不会再执行

三元运算符:

格式:判断表达式?表达式1:表达式2

判断为真,则为表达式1,否则为表达式2

      System.out.println(21 >> 2);//5  往右移几位,就除以多少个2
        System.out.println(21 << 2);//84 往左移几位, 就乘以多少个2

        int i=10;
        boolean result=i>5 && i<20;//true && true
        boolean result2=i>6&&i<8;//true

        boolean result3=i>5||i<6;


        System.out.println(result);//true
        System.out.println(result2);//false
        System.out.println(result3);//true

        //在短路逻辑与(&&)运算时,当第一个表达式为false是,后面表达式不会再执行
        //在短路逻辑或(||)运算时,当第一个表达式为true是,后面表达式不会再执行
        int j=20;
        boolean r=j>30&&++j>15;
        boolean r2=j>15||++j>15;
        System.out.println(j);//j=20不执行后面表达式

        int score=59;
        String s=score>=60?"及格":"不及格";
        System.out.println(s);//不及格

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值