算术运算符

介绍

算术运算符是对数值类型的变量进行运算的, 在 Java 程序中使用的非常多。

算术运算符一览:

运算符运算范例结果
+正号+77
-负号n1=11;-b-11
+2+24
-5-32
*2*36
/3/31
%取模(取余)11%92
++自增(前):先运算后取值a=2;b=++a;a=3;b=3
++自增(后):先取值后运算a=2;b=a++;a=3;b=2
自减(前):先运算后取值a=2;b=--a;a=1;b=1
自减(后):先取值后运算a=2;b=a--; a=1;b=2
+字符串拼接“你”+“好”你好

说明

  1. java中 % 的运算规则:
    a为整数:a % b = a - a / b * b
    a为小数:a % b = a - (int)a / b * b

  2. 小数参与运算,得到的结果是一个近似值。

代码演示

public static void main (String[] args) {
        // 演示 /
        System.out.println(10 / 4);// 2
        System.out.println(10.0 / 4); // 2.5
        double d1 = 10 / 4;
        System.out.println(d1); // 2.0
        System.out.println("========================");

        // 演示 %
        // java中 % 的运算规则:a % b = a - a / b * b
        System.out.println(10 % 3); // 1
        System.out.println(-10 % 3); // -1     -10 - (-10)/3 *3 =-10+9=-1
        System.out.println(10 % -3); // 1       10 - 10/(-3) * (-3) = 10 - (-3)*(-3) = 10-9=1
        System.out.println(-10 % -3); // -1     -10 - (-10)/(-3) * (-3) = -10 - 3*(-3) = -10 + 9 = -1
        System.out.println("========================");

        // 演示 ++
        // ++ 独立运行,前++和后++没有区别
        // 前++,先自增1,后赋值
        int i = 10;
        i++;
        System.out.println(i); // 11

        // 后++,先赋值,再自增1
        int j = 10;
        ++j;
        System.out.println(j); // 11

        System.out.println("========================");
        // ++ 连续运行,前++和后++有区别
        int k = 10;
        int m = k++; // 等价于 m = k; k = k + 1;
        System.out.println("k=" + k + ", m=" + m); // k=11, m=10

        int n = 10;
        int p = ++n; // 等价于 n = n + 1; p = n;
        System.out.println("n=" + n + ", p=" + p); // n=11, p=11

}

面试题,考察 前++ 和 后++

public static void main (String[] args) {
        /**
         * 经典面试题
         * 前++ 和 后++
         */
        System.out.println("==========1==============");
        int i = 1;
        i = i++; // 规则:使用临时变量 (1)temp = i; (2) i = i + 1; (3) i = temp
        System.out.println(i); //1

        int j = 1;
        j = ++j; // 规则:使用临时变量 (1)j = j + 1;(2)temp = j; (3) j = temp
        System.out.println(j); // 2

        System.out.println("==========2==============");
        int i1 = 10;
        int i2 = 20;
        int i3 = i1++;
        System.out.println("i3="+i3); // 10
        System.out.println("i2="+i2); // 20
        i3 = --i2;
        System.out.println("i3="+i3); // 19
        System.out.println("i2="+i2); // 19
}

测试

public static void main (String[] args) {
        /**
         * 1. 假如还有59天放寒假,问:合xx个星期零xx天
         * 2. 定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为:5/9*(华氏温度-100) ,请求出华氏温度对应的摄氏温度 [234.5]
         */
        System.out.println("==========1==============");
        // 分析:
        // 使用int days 变量保存天数
        // 一个星期7天, 星期数:weeks=days/7 零几天:leftDays = days % 7
        int days = 259;
        int weeks = days / 7;
        int leftDays = days % 7;
        System.out.println(days + "天合 "+ weeks +"个星期零" + leftDays +"天");

        System.out.println("==========2==============");
        // 5/9*(华氏温度-100)  华氏温度234.5
        // 分析:
        // 使用 double fahrenheit 表示华氏温度
        // 使用 double celsius 表示设施温度 = 5/9*(fahrenheit-100)
        // 考虑数学公式和java语言特性,需要先算后面再算前面的 5 / 不然就 5/9为0了
        // 输出对应的设施温度
        double fahrenheit = 284.5;
        double celsius =5 / (9 * (fahrenheit-100));
        System.out.println("华氏温度:"+ fahrenheit +" 对应的摄氏温度为:"+ celsius+"度");

}
// 小数参与运算得到的结果是近似值
double result = -10.4 % 3;
System.out.println("-10.4 % 3 = " + result04);

结果:
-10.4 % 3 = -1.4000000000000004
  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值