算术运算符

算术运算符(Operator)(掌握)


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

  • 按照功能分为:算术运算符、赋值运算符、比较(或关系)运算符、逻辑运算符、位运算符、条件运算符、Lambda运算符
分类运算符
算术运算符(7个)+、-、*、/、%、++、–
赋值运算符(12个)=、+=、-=、*=、/=、%=、>>=、<<=、>>>=、&=、|= 、^=等
比较(或关系)运算符(6个)>、>=、<、<=、==、!=
逻辑运算符(6个)&、|、^、!、&&、||
位运算符(7个,但不太常用)&、|、^、~、<<、>>、>>>
条件运算符(1个)(条件表达式)?结果1:结果2
Lambda运算符(1个)->(第18章时讲解)
  • 按照操作数个数分为:一元运算符(单目运算符)、二元运算符(双目运算符)、三元运算符(三目运算符)
分类运算符
一元运算符(单目运算符)正号(+)、负号(-)、++、–、!、~
二元运算符(双目运算符)除了一元和三元运算符剩下的都是二元运算符,例如x,y
三元运算符(三目运算符)(条件表达式)?结果1:结果2

算术运算符

1.1基本语法
运算符运算范例结果
++(前)先运算后取值a = 2; b = ++a;a = 3; b = 3
++(后)先取值后运算a = 2; b = a++;a = 3;b = 2
–(前)先运算后取值a = 2; b = --aa = 1;b = 1
–(后)先取值后运算a = 2; b = a–a = 1;b=2
+字符串连接“He”+“llo”“Hello”
// 结论:取模以后,结果与被模数的符号相同

int i2 = -12;
int j2 = 5;
System.out.println(i2 % j2);
// 输出结果为-2

int i3 = 12;
int j3 = -5;
System.out.println(i3 % j3);
// 输出结果为2

int i4 = -12;
int j4 = -5;
System.out.println(i4 % j4);
// 输出结果为-2

练习1:

int i = 10;
i++;++i;
System.out.println(i); // 结果都为11

练习2:

short s1 = 10;

//方式1:
// 编译不通过
// s1 = s1 + 1;
// 不通过原因是1是int型,加在一起,结果是int,而不是short
s1 = (short)(s1 + 1);
System.out.println(s1); 

//方式2:
s1++;
System.out.println(s1);

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

/**

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

*/

class AriExer{
    public static void main(String[] args){
    int num = 153;
    int ge = num % 10;
    int shi = num / 10 % 10;
    // int shi = num % 100 / 10;
    int bai = num / 100;
    System.out.println("个位数:"+ ge + ",十位数:"+ shi + ",百位数:" + bai);
    }
}

拓展:获取一个四位数的个位,十位,百位,千位

public class ArithmeticExer01{
   public static void main(String[] args){
  // 1.定义一个变量,赋值为一个四位数整数,例如1234
  int num = 1234// 2. 通过运算操作求出个位,十位,百位,千位
  int ge = num % 10;
  int shi = num / 10 % 10;
  int bai = num / 100 % 10;
  int qian = num / 1000;

   System.out.println("个位上的数字是:"+ ge);
   System.out.println("十位上的数字是:"+ shi);
   System.out.println("百位上的数字是:"+ bai);
   System.out.println("千位上的数字是:"+ qian );
  }
}

练习4:为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时?

public class ArithmeticExer2{
   public static void main(String[] args){
           int hours = 89;
           int day = hours / 24;
           int hour = hours % 24;
           System.out.println("为抵抗洪水,战士连续作战89小时:");
           System.out.println(hours + "是" + day + "天" + hour + "小时");
              
    // 额外的练习1:
    System.out.println("5 + 5 = " + 5 + 5);
    // 输出结果为:5 + 5 = 55
    System.out.println("5 + 5 = " + (5 + 5));       
    // 输出结果为:5 + 5 = 10

    // 额外的练习2:
    byte bb1 = 127;
    bb1++;
    System.out.println("bb1 = " + bb1);
    //结论: ++ 或 -- 运算,不会改变变量的数据类型! 
    //结果为: - 128
    
    // 额外的练习3:
    int i = 1;
    int j = i++ + ++i * i++;
    System.out.println("j = " + j);
    // 输出结果为: 10

    // 额外的练习4:
    int i = 2;
    int j = i++;
    System.out.println(j);
    // 输出结果为:2

    int k = 2;
    int z = ++k;
    System.out.println(z);
    // 输出结果为:3
   
    int m = 2;
    m = m++;
    System.out.println(m);
    // 输出结果为: 2
    // (1)先取b的值"2"放操作数栈
    // (2)m再自增,m = 3
    // (3)再把操作数栈中的"2"赋值给m,m = 2
    }
}

笔记来源:

尚硅谷Java零基础全套视频教程第三十四集

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值