java运算符小细节

本文详细介绍了编程中的算术运算符、赋值运算符、比较运算符、逻辑运算符及三元运算符。包括它们的基本用法、特殊用例及一些需要注意的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

算数运算符

  •  算数运算符
  •  b. 赋值运算符            
  •  c. 比较运算符(关系运算符)
  •  d. 逻辑运算符
  •  e. 三元运算符

+ , - , * , / , % , ++ , -- 

++与- -运算符

        1:就是完成自身+1或者-1的动作
        2:
            自增或者是自减
        3:
            ++在后:  先将变量原本记录的值拿出来操作, 然后再完成自身+1的动作
            int i = 10;
            int b = i++;

//输出语句
               System.out.println("b  =" + b); 

//控制台输出:10


             ++在前:      先自身完成+1的动作, 然后再进行操作(赋值, 输出)

            int i = 10;
            int b = ++i;

//输出语句

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

//控制台输出:  11

 

赋值运算符:

    总结:
        基本赋值运算符:
                        =
        扩展赋值运算符:
                        +=  -=  *=  /=  %=

                        += : 左右两边做加法运算, 然后将结果赋值给左边

                      int  a  = 0;    ==>    a    +=  10;    == >     a   =  10;

                  

问题:
        下面的程序是否有问题,如果有问题,请指出并说明理由
    
        short s=1;    
        s=s+1;
            
            这里有错误, 因为s是short类型, s在跟1做运算的时候, 会自动类型提升为int
            将int类型的数据赋值给short就必须加上强转
            // s = (short)(s+1);

        short s=1;
        s+=1;
            // 因为底层自动做了强制类型转换.

关系运算符

             == 
            !=
            >
            <
            >=
            <=

注意事项: 
            
        1:        无论比较运算符连接的式子简单还是复杂, 结果必须是boolean类型.

         2:   

              ==号千万不能写成=

             =号是用来赋值的

             ==号才是用来比较的

逻辑运算符

            

& | ^ ! && ||

            &: 遇false则false                      (只要有一个是×,全部都是x,全true 出true)
            |: 遇true则true                          (只要有一个是true,全部都是true)
            ^: 相同为false, 不同则为true    (全true 出false   全false 出true)
            !: 取反, 非false则true, 非true则false (true就是false,false就是true)
                特点: !!两次不改变原值

&与&&的区别

&  :  俩边都会执行,无论左边是true还是false。

int a =  1;

int b =  0;

 

System.out.println(a > 0 & a > b ); // 判断完a > 0后无论结果是true还是false右边都会执行

 

&&  :&&具有短路效果, 当左边为false的时候, 右边就不执行了

System.out.println(a > 0 && a > b );// 判断完a > 0结果为false的时候就不会执行右边的程序了

 

推荐使用&&其他逻辑运算符也是一样的,目的提高开发效率.

三元运算符

           1: (比较表达式) ? 表达式1 : 表达式2;
               int a = 9;    int b = 0;          

             (a  >   b)?true  :  false;如果表达式成立,true,如果不成立,false;

2:            看比较表达式返回的结果
            
                true: 表达式1
                false : 表达式2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值