(六)运算符总结

目录

        前言:

        一、算术运算符

        二、赋值运算符

        三、比较运算符

        四、逻辑运算符

        五、位运算符

        六、三元运算符

前言:

        运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。

一、算术运算符

1.概述:

        算术运算 (arithmetic operators) 符号,就是用来处理四则运算的符号,这是最简单,也最常用的符号,尤其是数字的处理,几乎都会使用到算术运算符号。

2.运算符:

算术运算符
+:正号、加法、字符串连接;
-:负号、减法;
*:乘法;
/:除法;
%:取模(取余);
(前)++:自增(先运算后取值);   ++a :先自增1,后运算
(后)++:自增(先取值后运算);   a++ :先运算,后自增1
(前)--:自减(先运算后取值);   --a :先自减1,后运算
(后)--:自减(先取值后运算);   a-- :先运算,后自减1

3.代码演练:

public static void main(String[] args) {
        int i1 = 10;
        int i2=20;
        int i = i1 ++;
        System.out.println("i="+i);//10
        System.out.println("i1="+i1);//11
        i=++ i1;
        System.out.println("i="+i);//12
        System.out.println("i1="+i1);//12
        i=i2 --;
        System.out.println("i="+i);//20
        System.out.println("i2="+i2);//19
        i=-- i2;
        System.out.println("i="+i);//18
        System.out.println("i2="+i2);//18
    }
}

4.例题: 随意给出一个三位数整数,打印显示它的个位数,十位数,百位数的值。

/*练习
    随意给出一个三位数整数,打印显示它的个位数,十位数,百位数的值。
    格式如下:
    个位数:
    十位数:
    百位数:
    例如:数字是153的情况下
    个位数:3
    十位数:5
    百位数:1
     */
    public static void main(String[] args) {
        int num = 187;
​
        int bai = num/100;
        int shi = num %100/10;
        int ge = num %1;
        System.out.println("百位为:"+bai);
        System.out.println("十位为:"+shi);
        System.out.println("个位为:"+ge);
    }

二、赋值运算符

1.概述:

        它的作用是将一个表达式的值赋给一个左值。一个表达式或者是一个左值,或者是一个右值。所谓左值是指一个能用于赋值运算左边的表达式。左值必须能够被修改,不能是常量。我们用变量作左值,还可以看到,指针和引用也可以作左值。

2.运算符:

赋值运算符
赋值符号:“=”
+=:加等于   num += 1    :num = num+1
-+:减等于   num -= 1    :num = num-1
*=:乘等于   num *= 1    :num = num*1
/=:除等于   num /= 1    :num = num/1
%=:取模等于
 

三、比较运算符

1.概述:

        比较运算符是指可以使用下列运算符比较两个值。当用运算符比较两个值时,结果是一个逻辑值,不是 TRUE(成立) 就是 FALSE(不成立)的运算符号。

2.运算符:

注意:

       1. 比较运算符的结果都是boolean型,也就是要么true,要么false

       2. 比较运算符"==",不能误写成"=";

四、逻辑运算符

1.概述:

        在形式逻辑中,逻辑运算符逻辑联结词把语句连接成更复杂的复杂语句。例如,假设有两个逻辑命题,分别是“正在下雨”和“我在屋里”,我们可以将它们组成复杂命题“正在下雨,并且我在屋里”或“没有正在下雨”或“如果正在下雨,那么我在屋里”。一个将两个语句组成的新的语句或命题叫做复合语句复合命题

         操作的都是boolean类型的变量。

2.运算符:

& ---逻辑与

&& ---短路与

|   ---  逻辑或 || ---短路或

! ---  逻辑非

^   ---   逻辑异或

 

五、位运算符

1.概述:

        位操作是程序设计中对位模式按位或二进制数的一元和二元操作。在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多。在现代架构中, 情况并非如此:位运算的运算速度通常与加法运算相同(仍然快于乘法运算)。

        位运算符是直接对整数的二进制进行的运算。

结论:

1.位运算符操作的都是整型的数据。

2.

        << :在一定范围内,每向左移一位,相当于*2;

        >> :在一定范围内,每向右移一位,相当于/2;

细节:

例题:交换两个变量的值

/*练习:交换两个变量的值
    */
   public static void main(String[] args) {
      int num1 = 10;
      int num2 = 20;
      System.out.println("num1=" + num1 + "num2=" + num2);
​
      //方式一:定义临时变量
      int temp =num1;
      num1 = num2;
      num2 = temp;
​
      //方式二:
      //好处:不用定义临时变量
      //弊端: 相加操作可能超出存储范围;     有局限性:只能适用于数值类型
      num1 = num1 + num2;
      num2 = num1 - num2;
      num1 = num1 - num2;
​
      System.out.println("num1=" + num1 + "num2=" + num2);
​
      //方法三:使用位运算符
      //只适用于数值类型
      num1 = num1 ^ num2;
      num2 = num1 ^ num2;
      num1 = num1 ^ num2;
​
      System.out.println("num1=" + num1 + "num2=" + num2);
   }
}

六、三元运算符

1.结构:(条件表达式)? 表达式1 : 表达式2

2.说明:

        1.条件表达式的结果为boolean类型

        2.根据条件表达式真或假,决定执行表达式1,还是执行表达式2.

                如果表达式为true,则执行表达式1;

                如果表达式为false,则执行表达式2;

        3.表达式1和表达式2要求是一致的。

        4.三元运算符可以嵌套使用。

3.凡是可以使用三元运算符的地方,都可以改写为 if-else

4.如果程序既可以使用三元运算符,又可以使用if-else,那么优先选择三元运算符。

原因:简洁、执行效率高。

 

练习例题:获取两个整数的较大值。

//练习:获取两个整数的较大值
public static void main(String[] args) {
   int m = 12;
   int n = 5;
​
   int max = (m > n)? m:n;
   System.out.println(max);
​
   System.out.println("========");
   
   //三元运算符可以嵌套使用。
   n = 12;
   String maxstr = (m >n)? "m大" :((m == n))? "m和n相等" : "n大";
   System.out.println(maxstr);
}

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚风残照

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值