Java语言的的运算符
3.1 运算符(重点)
算术运算符
- + 表示加法运算符
- - 表示减法运算符
- × 表示乘法运算符
- / 表示除法运算符
- % 表示取模/取余运算符
/*
编程实现算术运算符的使用
*/
public class ArithmeticTest {
public static void main(String[] args) {
// 1.声明两个int类型的变量并初始化
//int ia = 6, ib = 2; // 表示声明两个int类型的变量ia和ib,不推荐使用
int ia = 6; // 推荐该方式,提高了代码的可读性
int ib = 2;
System.out.println("ia = " + ia); // ia = 6
System.out.println("ib = " + ib); // ib = 2
System.out.println("----------------------------------------");
// 2.使用上述变量实现算术运算符的使用 + - * / %
// 表示声明变量ic来记录ia与ib的和
int ic = ia + ib;
System.out.println("ic = " + ic); // ic = 8
// 其中ia+ib这个整体叫做表达式 ia、ib叫做操作数 +叫做操作符/运算符
System.out.println(ia + ib); // 8
System.out.println(ia - ib); // 4
System.out.println(ia * ib); // 12
System.out.println(ia / ib); // 3
System.out.println(ia % ib); // 0
System.out.println("----------------------------------------");
// 3.注意事项
// 3.1 当两个整数相除时结果只保留整数部分,丢弃小数部分
System.out.println(5 / 2); // 2
System.out.println("----------------------------------------");
// 3.2 若希望保留小数部分该如何处理?
// 处理方式一:使用强制类型转换将其中一个操作数转换为double类型再运算即可
System.out.println((double)5 / 2); // 2.5
System.out.println(5 / (double)2); // 2.5
System.out.println((double)5 / (double)2); // 2.5
System.out.println((double)(5 / 2)); // 2.0
// 处理方式二:让其中一个操作数乘以1.0即可(推荐)
System.out.println(5*1.0 / 2); // 2.5
System.out.println(5.0 / 2); // 2.5 ia.0 错误的表示
System.out.println("----------------------------------------");
// 3.3 0不能作除数
//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 Not a Number
}
}
案例题目:
提示用户输入正整数类型的秒数,拆分秒数后输出x小时x分x秒。如:输入7199,输出1小时59分59秒。
/*
编程使用算术运算符实现秒数的拆分
*/
import java.util.Scanner;
public class ArithmeticTimeTest {
public static void main(String[] args) {
// 1.提示用户输入一个正整数的秒数并使用变量记录
System.out.println("请输入一个正整数的秒数:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
// 2.将正整数的秒数拆分为时分秒后并使用变量记录
// 3666秒 => 1小时1分钟6秒钟
// 1h = 60mins = 3600s
// 3666 / 3600 = 1 小时 3666 % 3600 = 66 / 60 = 1 分钟 3666 % 60 = 6 秒钟
int hour = num / 3600; // 拆分小时数
int min = num % 3600 / 60; // 拆分分钟数
int sec = num % 60; // 拆分秒数
// 3.打印最终的拆分结果
System.out.println(num + "秒转换为"