美文网首页
Java运算符

Java运算符

作者: 笔头还没烂 | 来源:发表于2023-03-26 11:49 被阅读0次

一、主要内容

  1. 表达式

    • 表达式由运算符和操作数组成
    • 如:5,num1,num1+num2,sum = num1 + num2
    • 单独一个整型常量或者字符常量,是一个表达式;
    • 单独一个变量,也算是一个表达式;
    • sum = num1 + num2,这里的 + 号和 = 号是运算符,num1、num2 是操作数。
  2. 运算符
    注意:运算符必须在英文输入法状态下输入;

  • 算术运算符:如 (加)+、(减)-、(乘)×、(除)÷、(模、取余)%、(自增)++、(自减)-- 9算术运算符.png
public class MathDemo {
         public static void main(String[] args) {
             int num1=10,num2=5;
             int result;//存放结果
             //加法
             result = num1+num2;
             System.out.println(num1+"+"+num2+"="+result);
             //减法
             result = num1-num2;
             System.out.println(num1+"-"+num2+"="+result);
             //乘法
             result = num1*num2;
             System.out.println(num1+"*"+num2+"="+result);
             //除法
             result = num1/num2;
             System.out.println(num1+"/"+num2+"="+result);
             //分子分母都是整型时,结果为整除后的结果
             System.out.println(13/5);
             System.out.println("13.0/5="+13.0/5);
             //求余数
             result=13%num2;
             System.out.println("13.0%5="+result);
             System.out.println("13.5%5="+(13.5%5));
         }
     }

运行结果如下:

10+5=15
10-5=5
10*5=50
10/5=2
2
13.0/5=2.6
13.0%5=3
13.5%5=3.5

  • 自增自减运算符:如 ++、--

    8自增自减运算符.png
    public class MathDemo1 {
        public static void main(String[] args) {
            //x++ 的形式
            int x = 4;
            int y = (x++)+5;
            System.out.println("x="+x+",y="+y);
            //++x 的形式
            x=4;
            y=(++x)+5;
            System.out.println("x="+x+",y="+y);
            //x-- 的形式
            x=4;
            y=(x--)+5;
            System.out.println("x="+x+",y="+y);
            //--x 的形式
            x=4;
            y=(--x)+5;
            System.out.println("x="+x+",y="+y);
        }
    }
    

    运行结果如下:

    x=5,y=9

    x=5,y=10

    x=3,y=9

    x=3,y=8


    单目运算符:只对一个操作数进行操作的运算符,即是单目运算符。如自增(++)、自减(--);
    双目运算符:对两个操作数进行操作的运算符,即是双目运算符。如(加)+、(减)-、(乘)×、(除)÷、(模、取余)%。

  • 赋值运算符:如 (等于)=

    • 格式:变量 = 表达式;
    • 例:int n = 3;//将3赋值给变量n
    • 注意:
      • 赋值运算符是从右往左运算!
      • 赋值运算符的左边不能是常量!
    • 复合赋值运算符:如 (加等于)+=、(减等于)-=、(乘等于)×=、(除等于)/=、(模等于)%=
      7复合赋值运算符.png
  • 关系运算符:如 (小于)<、(大于)>、(小于等于)<=、(大于等于)>=、(不等于)!=、(等于)==

    • 也叫比较运算符,用于判断两个数据的大小,如大于

    • 比较的结果是一个布尔值

    • 关系运算符主要用于条件和循环语句中的判断条件 10关系运算符.png
    • 例:

    • 'A' > 'B' 结果为 false,比较的是两个字符的 ASCII 值;

    • 5 != 6 结果为 true,比较两个数值是否相等;

    • true == false 结果为 false,两个布尔值不相等;

    • float f = 5.0f; long l = 5; f == l; 结果为 true,浮点数与整数进行比较,只要值相等就返回 true.

      public class RelateDemo {
          public static void main(String[] args) {
              int a = 3,b = 5;
              System.out.println("a < b 是 " + (a < b));
              System.out.println("a > b 是 " + (a > b));
              System.out.println("a >= b 是 " + (a >= b));
              System.out.println("a <= b 是 " + (a <= b));
          }
      }
      

      运行结果如下:

      a < b 是 true
      a > b 是 false
      a >= b 是 false
      a <= b 是 true


      应用场景:用于判断条件。条件结构就是根据不同的条件去执行不同的操作。

      如:成绩 > 60 分 --> 及格,成绩 < 60 分 --> 不及格;
      简单 if 语句的格式:

      if(条件) {
         <语句块>
      }
      

      if-else 语句的格式:

      if(条件) {
         <语句块1>
      }else {
         <语句块2>
      }
      
      • if(条件) 后面的语句块如果只有一条语句,则包裹语句块的花括号可以省略;
      • 当 if (条件)判断结果为 true 的时候,程序执行语句块1;否则,执行语句块2;
      • 例:商场打折,如果两件商品的总价大于100则减20,并把原价和折后价格分别输出。
      public class ConditionDemo1 {
          public static void main(String[] args) {
              //例:商场打折,如果两件商品的总价大于100则减20,并把原价和折后价格分别输出。
              //定义两个变量,分别存放两件衣服的价格
              double price1,price2;
              price1 = 80;
              price2 = 55;
              //计算两件商品的总价格
              double sum = price1 + price2;
              double result = 0;
              if (sum > 100) {
                  result = sum - 20;
              }else {
                  result = sum;
              }
              System.out.println("原价是"+ sum+",折后价格是"+result);
          }
      }
      

      运行结果:

      原价是135.0,折后价格是115.0


      例:判断一个整数是奇数还是偶数,并将结果打印输出。

      public class ConditionDemo2 {
          public static void main(String[] args) {
              //判断一个整数是奇数还是偶数,并将结果打印输出。
              //定义一个变量存放数据
              int n = 10;
              if(n % 2 == 0) {
                  System.out.println(n+"是偶数!");
              }else {
                  System.out.println(n+"是奇数!");
              }
      
          }
      }
      

      运行结果如下:

      10是偶数!

      优化上面的例子,将原来写死 n 的值优化成接收从键盘输入的值。代码如下:

      import java.util.Scanner;
      
      public class ConditionDemo2 {
          public static void main(String[] args) {
              //判断一个整数是奇数还是偶数,并将结果打印输出。
              //定义一个变量存放数据
      //        int n = 11;
              //从键盘接收数据
              System.out.print("请输入一个整数:");
              Scanner s = new Scanner(System.in);
              int n = s.nextInt();
              if(n % 2 == 0) {
                  System.out.println(n+"是偶数!");
              }else {
                  System.out.println(n+"是奇数!");
              }
          }
      }
      

      运行结果如下:

      请输入一个整数:10
      10是偶数!

  • 逻辑运算符:如 &(与、逻辑与)、|(或、逻辑或)、!(非)、&&(逻辑与、短路与)、||(逻辑或、短路或)

    • 逻辑运算符用来连接一个或多个条件,判断这件条件是否成立;
    • 逻辑运算符的结果是布尔类型

    • & “与”运算符

    • 多个操作数的布尔值,只要有一个为false,则整体结果为false。只有所有操作数的布尔值同时为 true,结果才为 true。

    • 栗子:升学考试,英语、数学、C语言三门总成绩大于等于230,并且英语成绩大于等于60,才能升学。

      • 三门总成绩大于等于230,表示为:sum >= 230;
      • 英语成绩大于等于 60,表示为 en >= 60. 11逻辑“与”运算符.png

      ps: &运算符与&&运算符的区别

      • 例子1:

        • int n =3;
        • boolean b = (3>7) &((n++)<2) 问:b = ?, n = ?
        • b = false,n = 4;
      • 例子2 :

        • int n =3;
        • boolean b = (3>7) && ((n++)<2) 问:b = ?, n = ?
        • b = false,n = 3;
      • 结论:&&运算符又叫短路运算符,如果第一个表达式的值就能决定表达式最后的结果,运算符右边的表达式就不再计算了。


    • | 逻辑“或”运算符
    • 多个操作数的布尔值,只要有一个为 true,则整体结果为 true。只有所有操作数的布尔值同时为 false,结果才为 false。
    • ps: | 运算符与 || 运算符的区别
    • 例子1:
      • int n = 3;
      • boolean b = (3<7)|((n++)<2) 问:b =? ,n = ?
      • b = true, n = 4
    • 例子2:
      • int n = 3;
      • boolean b = (3<7)||((n++)<2) 问:b =? ,n = ?
      • b = true, n = 3
    • 结论:|| 运算符又叫短路运算符,如果第一个表达式的值就能决定表达式最后的结果,运算符右边的表达式就不再计算了。

    • ! 逻辑“非”运算符

    • 对原条件进行取反

    • 例:!(3<5),结果为 false

    • 栗子:输入一个数,判断是否能被3整除,并输出相应的提示信息。

      public class ConditionDemo3 {
          public static void main(String[] args) {
              System.out.print("请输入一个整数:");
              //输入一个数,判断是否能被3整除,并输出相应的提示信息。
              Scanner scanner = new Scanner(System.in);
              int inputNum = scanner.nextInt();
              if (!(inputNum % 3 == 0)) {
                  System.out.println(inputNum+"不能被3整除");
              }else {
                  System.out.println(inputNum+"能被3整除");
              }
          }
      }
      

      运算结果如下:

      请输入一个整数:9
      9能被3整除

  • 条件运算符

    • 如 (三目运算符) 格式:布尔表达式?表达式1 : 表达式2
    • 当布尔表达式的值为 true,则返回表达式1的值;否则返回表达式2的值。
    public class ConditionDemo {
        public static void main(String[] args) {
            int a = 4,b = 7;
            //求 a 和 b 的最大值
            int max;
    //        if(a > b) {
    //            max = a;
    //        }else {
    //            max = b;
    //        }
            max = a > b ? a : b;
            System.out.println(a +"和" + b + "的最大值是"+max);
        }
    }
    

    运行结果如下:

    4和7的最大值是7

  • 位运算符:如 (左移)<<、(右移)>>

  1. 运算符的优先级 12运算符的优先级.png

    (1)如上图,箭头方向从上到下优先级依次递减,括号()优先级最高,赋值运算符的优先级最低。
    (2)相同优先级的(如*,/,%),代码执行顺序从左往右。
    (3)平时编写代码时,尽量多加括号。

  2. 栗子:用if-else 语句判断输入的年份是否为闰年

    public class ConditionDemo4 {
        public static void main(String[] args) {
            //用if-else 语句判断输入的年份是否为闰年
            System.out.print("请输入年份:");
            //闰年的判断规则:
            //(1)能被4整除但不能被100整除的年份,或者能被400整除的年份是闰年;否则是平年。
            Scanner sc = new Scanner(System.in);
            int year = sc.nextInt();
            if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
                System.out.println(year + "是闰年");
            }else {
                System.out.println(year + "是平年");
            }
        }
    }
    

    运行结果如下:

    请输入年份:1995
    1995是平年

相关文章

  • python基础(四)----运算符

    一.算术运算符(基本同Java) 二.比较运算符(基本同Java) 三.赋值运算符(基本同Java) 四.位运算符...

  • Kotlin——运算符和表达式

    与Java相同的运算符 Kotlin完全支持Java的运算符 Kotlin不支持Java的三目运算符——Kotli...

  • Java基础知识3

    Java基础知识3 运算符 Java语言支持如下运算符 算术运算符:+,-,*,/,%模,取余数,++,-- 赋值...

  • java基础知识

    title: java基础知识tags: [java基础知识] 位运算符 java种的运算符有 “&”,“|”,“...

  • Java &、&&、|、||、^、<

    Java运算符大致分为逻辑运算符(&&,||,!)、算数运算符(+, -, *, / ,+=)、位运算符(^,|,...

  • Java各种&、&&、|、||、^、<<、>>、~、>>>等运算

    Java运算符大致分为逻辑运算符(&&,||,!)、算数运算符(+, -, *, / ,+=)、位运算符(^,|,...

  • 操作多种运算符

    java运算符包括据哦算术运算符(+ - * /)、比较运算符(> < >= <= ==)、赋值运算符(= += ...

  • Java语言入门2

    Java语言中的运算符 算数运算符:+,-,*,/,%,++,-- 关系运算符:>,<,>=,<=,==,!= 布...

  • 日常记忆之Java运算符

    Java运算符 我们可以把运算符分成以下几组: 算术运算符+-*/,%,++,-- 关系运算符==,!=,>,<,...

  • Java的运算符

    Java有4大类运算符:算术运算、位运算、关系运算和逻辑运算。 运算符的优先级 模运算符 Java中,模运算符不止...

网友评论

      本文标题:Java运算符

      本文链接:https://www.haomeiwen.com/subject/anpordtx.html