Java 算术运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

运算符的分类:

按照功能分为:算术运算符、赋值运算符、比较(或关系)运算符、逻辑运算符、位运算符、条件运算符、Lambda运算符

分类

运算符

算术运算符(7个)

+、-、*、/、%、++、--

赋值运算符(12个)

=、+=、-=、*=、/=、%=、>>=、<<=、>>>=、&=、|=、^=等

比较(或关系)运算符(6个)

>、>=、<、<=、==、!=

逻辑运算符(6个)

&、|、^、!、&&、||

位运算符(7个)

&、|、^、~、<<、>>、>>>

条件运算符(1个)

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

Lambda运算符(1个)

->(第18章时讲解)

按照操作数个数分为:

一元运算符(单目运算符)、二元运算符(双目运算符)、三元运算符 (三目运算符)

分类

运算符

一元运算符(单目运算符)

正号(+)、负号(-)、++、--、!、~

二元运算符(双目运算符)

除了一元和三元运算符剩下的都是二元运算符

三元运算符 (三目运算符)

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

算术运算符

基本语法

案例1、加减乘除模 

        int a = 4;
        int b = 5;
        System.out.println(a + b); // 9
        System.out.println(a - b); //*1
        System.out.println(a * b); // 20
        System.out.println(a / b); //0 ? 为什么不是 0.8?
        System.out.println(a % b); //4

        System.out.println(5 % 2);  //1
        System.out.println(5 % -2); //1
        System.out.println(-5 % 2); //-1
        System.out.println(-5 % -2);//-1

案例2、“+” 号的两种用法

第一种:对于+两边都是数值的话,+就是加法的意思

第二种:对于+两边至少有一边是字符串的话,+就是拼接的意思 

        System.out.println("\n\n");
        String str = "Hello";
        System.out.println(str);
        System.out.println("Hello " + "World");//Hello World
        String str1 = "任盈盈";
        System.out.println(str1 + 520);// 任盈盈520
        System.out.println(str1 + 5 + 20);// 任盈盈520

案例3、自加自减运算

理解:++ 运算,表示自增1。同理,-- 运算,表示自减1,用法与++ 一致。

1、单独使用

  • 变量在单独运算的时候,变量前++和变量后++,是没有区别的。
  • 变量前++ :例如 ++a 。
  • 变量后++ :例如 a++ 。
        int a1 = 2;
        int b1 = 2;

        System.out.println(a1++);//2:先输出 a1 的原始值,在进行+1
        System.out.println(++b1);//3;先+1 ,在输出

        System.out.println(a1);//3
        System.out.println(b1);//3

练习1

随意给出一个整数,打印显示它的个位数,十位数,百位数的值。
格式如下:
数字xxx的情况如下:
个位数:
十位数:
百位数:

例如:
数字153的情况如下:
个位数:3
十位数:5
百位数:1 

        //输出一个舒的 个位 十位 百位
        int n = 123;
        int bw = n / 100;
        int sw = n % 100 / 10;
        int gw = n % 100 % 10;
        System.out.println("百位-- " + bw);
        System.out.println("是位-- " + sw);
        System.out.println("个位-- " + gw);

练习2、为按时完成项目上线,老李连续工作47小时,编程计算共多少天零多少小时?

        int hours = 47;
        int days = hours / 24;
        int hour = hours % 24;
        System.out.println("老李连续工作了 " + days + "天 又 " + hour + "小时,老李辛苦了!");

练习3、算术运算符:自加、自减

        int l1 = 10;
        int l2 = 20;
        int l = l1++;
        System.out.println("l = " + l); //10
        System.out.println("l1 = " + l1);//11
        l = ++l1;
        System.out.println("l = " + l);//12
        System.out.println("l1 = " + l1);//12

        l = l2--;
        System.out.println("l = " + l);//20
        System.out.println("l2 = " + l2);//19

        l = --l2;
        System.out.println("l = " + l);//18
        System.out.println("l2 = " + l2);//18

综合练习

        System.out.println("5+5=" + 5 + 5);//5+5=55
        byte bb1 = 127;
        bb1++;
        System.out.println("bb1 = " + bb1);//bb1 =-128
        int ii = 1;
        int jj = ii++ + ++ii * ii++; 
        System.out.println("jj = " + jj); //10

        int q = 2;
        int w = q++;
        System.out.println(w); //2

        int m = 2;
        m = m++; //(1)先取b的值“2”放操作数栈 (2)m再自增,m=3 (3)再把操作数栈中的"2"赋值给m,m=2
        System.out.println(m);//2
posted @ 2023-03-07 06:09  晓枫的春天  阅读(43)  评论(0编辑  收藏  举报