💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
>[success] # 算数运输符 1. java 运算符 `+` `-` `*` `/` `%`,依次表示 1.1. \+ 表示加法运算符 1.2. \- 表示减法运算符 1.3. \* 表示乘法运算符 1.4. / 表示除法运算符 1.5. % 表示取模/取余运算符 2. `ia+ib`这个整体叫做表达式 `ia、ib`叫做操作数 `+`叫做操作符/运算符 >[danger] ##### java 注意事项 * `溢出` 当相操作的两个值,计算结果超出了范围,就会产生溢出,而溢出不会出错,以下面案例来说两个`int` 相加后超过了其自身的四个字节存储空间,因此得到了一个不准确值,具体步骤可以参考 `java 类型转换` 章节 ~~~ public class Main { public static void main(String[] args) { int x = 2147483640; int y = 15; int sum = x + y; System.out.println(sum); // -2147483641 } } ~~~ * 当两个整数相除时结果只保留整数部分,丢弃小数部分,以下面案例为例`5/2` 得到结果为`2` ~~~ public class VarTest{ public static void main(String[] args){ int a = 5; int b = 2; System.out.println(a/b); // 2 } } ~~~ * * 解决方法一将其中一个数变为非整数使用强制类型转换为double类型再运算即可 * * 解决方法二让其中一个操作数乘以1.0即可(推荐) * 总结:**整数相除结果只能得到整除,如果结果想要是小数,必须要有小数参数** `注意:`int 和double 相除是小类型 ~~~ public class VarTest{ public static void main(String[] args){ int a = 5; int b = 2; System.out.println(a/b); // 2 // 解决方法 System.out.println((double)a/b); // 2.5 System.out.println(a/(double)b); // 2.5 System.out.println((double)a/(double)b); // 2.5 // 处理方式二:让其中一个操作数乘以1.0即可(推荐) System.out.println(a*1.0/b); // 2.5 } } ~~~ * 0不能作除数,但如果`0.0` 作为除数,被除数非`0`结果为`Infinity `,如果为0结果为`NaN ` ~~~ public class VarTest{ public static void main(String[] args){ //System.out.println(5 / 0); // 编译ok,运行发生java.lang.ArithmeticException(算术异常 记住): / by zero System.out.println(5 / 0.0); // Infinity 无穷 System.out.println(0 / 0.0); // NaN } } ~~~ >[danger] ##### 数值拆分 获取任意一个数上每一位数。 个位:数字 % 10 十位:数字 / 10 % 10 百位:数字 / 100 % 10 千位:数字 / 1000 % 10 ***** 键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台 ~~~ import java.util.Arrays; import java.util.Scanner; public class GetNumber { public static void main(String[] args) { // 获取键盘输入 Scanner sc = new Scanner(System.in); System.out.println("请输入要拆解的数字"); int number = sc.nextInt(); // 利用 10 取余数获取个位 int ones = number % 10; int tens = number / 10 % 10; // 缩小十倍去掉刚才个位重新获取 int hundreds = number / 100 % 10; // 缩小100倍去掉刚才 十位和个位 System.out.println("个位" + ones + '\t' + "十位" + tens + '\t' + "百位" + hundreds); // ----------- 任何数计算--------------- int len = String.valueOf(number).length(); int flag = 1; int[] ls = new int[len]; for (int i = 1; i <= len; i++) { int currentEndNum = number / flag % 10; flag *= 10; ls[i - 1] = currentEndNum; } System.out.println(Arrays.toString(ls)); } } ~~~ >[danger] ##### 将用户输入的秒转换成,出x小时x分x秒展现形式 ~~~ import java.util.Scanner; public class VarTest{ public static void main(String[] args){ // 提示用户输入要转换的秒数 System.out.println("请输入要转换的秒"); // 获取用户键盘输入 Scanner sc = new Scanner(System.in); int num = sc.nextInt(); // 将秒数转换为时分秒形式 int hour = num / 3600; // 两个整数相除等于整数 int min = num % 3600 / 60; // 除以3600 余出来的就是分钟 int sec = num % 60; // 除以分钟余出来的就是秒 System.out.println(hour + "小时" + min + "分钟" + sec + "秒"); } } ~~~