详情

首页手游攻略 Java算数运算符有哪些?加减乘除取余用法完整指南

Java算数运算符有哪些?加减乘除取余用法完整指南

佚名 2026-11-05 08:50:01

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“Java算数运算符有哪些?加减乘除取余用法”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。

运算符

基本算数运算符

运算符:对字面量或者变量进行操作的符号。

算数运算符

public class OperatorDemo1 {
    public static void main(String[] args) {
        // 目标:掌握基本的算术算术运算符的使用:+ - * / %
        int a = 10;
        int b = 3;
        System.out.println(a + b);
        System.out.println(a - b);
        System.out.println(a * b);
        System.out.println(a / b); // 3.3333 ==> 3 转成整形
        System.out.println(a * 1.0 / b); // 3.3333
        System.out.println(3 / 2); // 1
        // 让数据 变成小数 整数 * 1.0 类型就是 double 类型 放在前面 乘 放在后面 乘 3 / 2 = 1 1 * 1.0 = 1.0
        System.out.println(3 * 1.0 / 2); // 1.5
        System.out.println(3 / 2 * 1.0); // 1.0
        System.out.println(a % b); // 1
    }
}

小技巧

整数做运算 让其结果变成小数 如果操作   * 1.0

总结:

算数运算符有哪些?

、-、 *、 /、 %

/ 需留意什么,为什么?

若两个整数做除法,其结果一定是整数,因为最高类型是整数。

案例数值拆分

需求:一个三位数,将其拆分为个位、十位、百位后,打印在控制台

public class OperatorTest2 {
    public static void main(String[] args) {
        // 需求:拆分3位数,把个位、十位、百位分别输出
        int data = 589;

        // 1、个位
        int ge = data % 10;
        System.out.println(ge);

        // 2、十位
        int shi = data / 10 % 10;
        System.out.println(shi);

        // 3、百位
        int bai = data / 100;
        System.out.println(bai);
    }
}

+符号做连接符

“+”符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。

小技巧

能算则算,不能算就在一起。(计算机很聪明)

演示

public class OperatorDemo3 {
    public static void main(String[] args) {
        // 目标:+符号做连接符的识别
        int a = 5 ;
        System.out.println("abc" + 'a'); // abca
        System.out.println("abc" + a); // abc5
        System.out.println(5 + a); // 10
        System.out.println("abc" + 5 + 'a'); // abc5a
        System.out.println(15 + "abc" + 15); // 15abc15
        System.out.println(a + 'a'); // 102
        System.out.println(a + "" +'a'); // 5a
        System.out.println(a + 'a'+" itheima "); // 102 itheima
        System.out.println("itheima"+ a + 'a'); // itheima5a
        System.out.println("itheima"+ ( a + 'a' ));// itheima102
    }
}

总结:

“+” 除了做基本数学运算,还有哪些功能?

与字符串做+运算时会被当成连接符,其结果还是字符串。

能算则算,不能算就在一起。

自增自减运算符

注意:

  • ++ 和 – 既能够放在变量的后边,也能够放在变量的前边。
  • ++、-- 只能操作变量,不能操作字面量的。

    int a = 10;
    // a++; // a = a + 1
    ++a; // a = a + 1
    System.out.println(a); // 11

自增自减的采用注意事项

结合项目来看,++、–如果不是单独采用(如在表达式中、或者同时有其它操作),放在变量前后会存在明显区别

放在变量的前面,先对变量进行+1、-1,再拿变量的值进行运算。

放在变量的后面,先拿变量的值进行运算,再对变量的值进行+1、-1

public class OperatorDemo4 {
    public static void main(String[] args) {
        // 目标:学会使用自增自减运算符: ++ --
        int a = 10;
        // a++; // a = a + 1
        ++a; // a = a + 1
        System.out.println(a); // 11

        int b = 10;
        //b--; // b = b -1
        --b;
        System.out.println(b); // 9

        System.out.println("------------------------------");
        // 在表达式中或者不是单独操作的情况,++ -- 在变量前后存在区别
        // ++ -- 在变量前面。先+1 -1 再使用。
        int i = 10;
        int j = ++i;
        System.out.println(i); // 11
        System.out.println(j); // 11

        // ++ -- 在变量的后面 先使用再+1 -1
        int m = 10;
        int n = m++;
        System.out.println(m); // 11
        System.out.println(n); // 10

    }
}

总结:

自增、自减运算符是什么,有什么作用,需留意什么?

  • ++、–。对当前变量值+1、-1
  • 只能操作变量,不能操作字面量

自增、自减运算符在变量前后有区别吗?

  • 如果单独采用放前后是没有区别的。
  • 非单独采用:在变量前,先进行变量自增/自减,再采用变量。
  • 非单独采用:在变量后,先采用变量,再进行变量自增/自减。

自增、自减拓展案例(面试题可能会出现)

public class OperatorDemo4 {
    public static void main(String[] args) {
        System.out.println("-----------拓展案例(可以了解和参考)--------------");
        /*
        int rs3 = c++ + ++c - --d - ++d + 1 + c--;
         未运算 11 12 5 4 12 -> 11
         运算值 10 + 12 - 4 - 5 + 1 + 12 // 26

         c 10 -> 11 - > 12 -> 11
         d 5 -> 4 - > 5
        * */
        System.out.println(rs3); //26
        System.out.println(c); // 11
        System.out.println(d); // 5
    }
}

赋值运算符

基本赋值运算符

就是“=”

扩展赋值运算符

注意:扩展的赋值运算符隐含了强制类型转换。

public class OperatorDemo5 {
    public static void main(String[] args) {
        // 目标:学会使用赋值运算符:= += -= *= /= %=
        int a = 10;
        int b = 200;
        // a = a + b;
        a += b; // a = (int)(a + b)
        System.out.println(a); // 210

        byte i = 10;
        byte j = 20;
        // i = (byte) (i + j);
        i += j; // i = (byte) (i + j);
        System.out.println(i); // 30

        int m = 10;
        int n = 5;
        //m += n;
        //m -= n; // 等价于: m = (int)(m - n)
        //m *= n; // 等价于: m = (int)(m * n)
        //m /= n; // 等价于: m = (int)(m / n)
        m %= n; // 等价于: m = (int)(m % n) 0
        System.out.println(m);
    }
}

总结:

赋值运算符有哪些?

  • =、+=、-=、*=、/=、%=

作用是什么?

  • 基本作用是赋值,扩展运算符还自带了强制类型转换。
  • +=还能够完成数据的累加,把别人的数据加给自己

关系运算符

落到代码里,是对数据进行条件判断的符号,最后会得到一个比较的布尔结果(false,true)。

注意:在做相等判断是,千万不要把 == 误写成 =

public class OperatorDemo6 {
    public static void main(String[] args) {
        // 目标:学会使用关系运算符。
        int a = 10;
        int b = 10;

        boolean rs = a == b;
        System.out.println(rs); //true

        System.out.println(a == b); //true
        System.out.println(a != b); // false
        System.out.println(a > b); // false
        System.out.println(a >= b); // true
        System.out.println(a < b); // false
        System.out.println(a <= b); // true

        int i = 10;
        int j = 5;
        System.out.println(i == j); // false
        System.out.println(i != j); // true
        System.out.println(i > j); // true
        System.out.println(i >= j); // true
        System.out.println(i < j); // false
        System.out.println(i <= j); // false

        System.out.println(i = j); // 5 相等判断必须是== 如果使用=是在进行赋值操作!
    }
}

逻辑运算符

逻辑运算符概述(既然想看结果,又想执行 &、|)

  • 实际处理时,能够把多个条件的布尔结果放在一起运算,最后得到一个布尔结果。(同时满足多个条件)

短路逻辑运算符(采用较多)

注意:逻辑与 “&”、逻辑或“|”: 无论左边是 false还是 true,右边都要执行。

public class OperatorDemo7 {
    public static void main(String[] args) {
        // 目标:学会使用逻辑运算符,并能够选择合适的逻辑运算符解决问题。
        double size = 9.8;
        double storage = 6;
        // 需求:尺寸大于等于6.95 内存要大于等于8GB
        // 注意:必须前后都是true结果才是true
        System.out.println(size >= 6.95 & storage >=8); // false

        // 需求:要么内存大于等于8 要么尺寸大于等于6.95
        // 注意:只要有一个是true 结果就一定是true
        System.out.println(size >= 6.95 | storage >=8); // true

        System.out.println(!true); // false
        System.out.println(!false); // true

        // 逻辑异或:必须两个不同结果才是true
        System.out.println(false ^ true); // true
        System.out.println(true ^ false); // true
        System.out.println(true ^ true); // false
        System.out.println(false ^ false); // false

        System.out.println("-----------&& & || |的区别-------------------");
        int a = 10;
        int b = 20;
        // System.out.println(a > 100 && ++b > 10);
        System.out.println(a > 100 & ++b > 10); //false
        System.out.println(b); //21

        int i = 10;
        int j = 20;
        //System.out.println(i > 2 || ++j > 10);
        System.out.println(i > 2 | ++j > 10); // true
        System.out.println(j); // 21

    }
}

总结:

逻辑运算符有哪些,有什么特点?

  • 逻辑与“&”:有一个为false、结果是false
  • 短路与&&: 一个为false、结果是false。前一个为false,后一个条件不执行了
  • 逻辑或“|”:有一个为true、结果是true
  • 短路或||:一个为true、结果是true。前一个为true,后一个条件不执行了
  • 逻辑非“!”:!false=true、 !true=false
  • 逻辑异或“^” :相同是false、不同是true。

注意:真实开发场景下、常用的逻辑运算符还是:&&、 ||、 !

三元运算符

public class OperatorDemo8 {
    public static void main(String[] args) {
        // 目标:学会使用三元运算符,理解其流程
        double score = 18;
        String rs = score >= 60 ? "考试通过" : "挂科";
        System.out.println(rs); // 挂科

        // 需求:需要从2个整数中找出较大值
        int a = 10000;
        int b = 2000;
        int max = a > b ? a : b;
        System.out.println(max); // 10000
    }
}

案例 求三个整数的最大值

需求:定义三个整数,找出最大值并打印在控制台。

public class OperatorDemo8 {
    public static void main(String[] args) {
        /**
         分析:
             用三元运算符获取前两个整数的最大值,并用临时变量保存起来。
                num1 > num2 ? num1 : num2;
            用三元运算符,让临时最大值,和第三个整数,进行比较,并记录结果。
                temp > num3 ? temp : num3;
             输出结果
         */
        int i = 10;
        int j = 30;
        int k = 50;
        // 1、找出2个整数的较大值
        int temp = i > j ? i : j;
        // 2、拿临时变量与第三个变量的值继续比较
        int rsMax = temp > k ? temp : k;
        System.out.println(rsMax); // 50
        
        // 三元运算符的嵌套
        System.out.println("-------------拓展知识-------------");
        /*
             i > j
                    true i > k ? i : k 如果 i > j 成立 比较 i 和 k 的大小
                    false j > k ? j : k 如果 i > j 不成立 比较 j 和 k 的大小

        * */
        int rsMax1 = i > j ? (i > k ? i : k) : (j > k ? j : k);
        System.out.println(rsMax1); // 50
    }
}

运算符优先级

从实现思路看,在表达式里,哪个运算符先执行后执行是要看优先级的,比如 “*、/” 的优先级高于”+、-”。

案例技术:键盘录入

需求:

请完成Java程序与用户交互,比如录入用户输入的名称、年龄,怎么办?。

API(Application Programming Interface,应用程序编程接口)

  • Java写好的程序(功能代码),咱们能够直接调用。

  • 在这个场景下,Oracle也为Java写好的程序提供了相应的API文档(技术采用说明书)。

键盘录入功能实现的三个步骤

注意:

  • System、String在JDK中的Java.lang包下

  • lang包不需我们导包,是默认的包。

// 1、导包操作 (并不需要自己写的,以后通过工具进行导入更方便)
public class ScannerDemo {
    public static void main(String[] args) {
        // 目标:接收用户的键盘输入的数据。
        // 2、得到一个键盘扫描器对象
        Scanner sc = new Scanner(System.in);

        System.out.println("请您输入您的年龄:");
        // 3、等待接收用户输入一个整数,按了回车键才会把数据交给age变量
        int age = sc.nextInt();
        System.out.println("您的年龄是:" + age);

        System.out.println("请您输入您的名称:");
        // 4、等待接收用户输入一个字符串,按了回车键才会把数据交给name变量
        String name = sc.next();
        System.out.println(name + "欢迎进入系统!");
    }
}

总结:

API是什么?

  • 结合项目来看,Application Programming Interface,应用程序编程接口。

  • Java写好的程序,咱们能够直接调用。

键盘录入的开发步骤导包:

  • import java.util.Scanner;
  • 抄写代码得到扫描器对象:Scanner sc=new Scanner(System.in)
  • 抄写代码等待接收用户输入的数据:sc.nextlnt()、sc.next()

总结

在这个场景下,总的来说,Java算数适合结合实际项目边做边理解。先抓住核心思路,再逐步补上细节和边界处理,最后效果会更稳定,也更容易复用。

相关资讯
点击查看更多
游戏推荐
推荐专题
热门阅读
推荐下载