>[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 + "秒");
}
}
~~~
- windows -- 环境变量
- Vscode -- 编写java
- 初始java
- java -- 关键字
- 编写第一个java程序
- java -- 注释
- 计算机存储 -- 进制
- java -- 类型
- java -- 变量
- 数字类型
- 布尔类型
- 字符类型
- 类型转换
- 双等比较是什么
- java -- 运算符
- 算数运算符
- 字符串拼接
- 关系/比较运算符
- 自增减运算符
- 逻辑运算符
- 三目运算
- 赋值运算符
- 移位运算符
- 位运算符
- 运算符优先级
- java -- 流程控制语句
- if /else if /if -- 判断
- switch case分支结构
- for -- 循环
- 用双重for循环
- while -- 循环
- do while -- 循环
- 案例练习
- java -- 数组
- 数组的存储
- 数组的增删改查
- 数组的特点
- 数组案例
- 二维数组
- 数组的工具方法
- java -- 方法
- java -- 方法的重载
- java -- 方法的调用流程
- java -- 类方法传参注意事项
- java -- 方法练习案例
- 对比 return break continue
- for each循环
- java -- 基础练习
- java -- 面向对象
- java -- 创建类和对象
- java -- 访问控制符
- java -- 类成员方法
- java -- 构造方法
- java -- this
- java -- 封装
- java -- 对象内存图
- java -- 创建对象案例
- java -- static
- java -- 继承
- super -- 关键字
- java -- 构造块和静态代码块
- java -- 重写
- java -- final
- java -- 多态
- java -- 抽象类
- java -- 接口
- 引用类型数据转换
- 综合案例
- java -- 内部类
- java -- 回调模式
- java -- 枚举类型
- java -- switch 使用枚举
- java -- 枚举方法使用
- java -- 枚举类实现接口
- java -- javaBean
- java -- package 包
- java -- import
- java -- 递归练习
- java -- 设计模式
- 单例模式
- java -- 注解
- java -- 元注解
- Java -- 核心类库
- java -- 处理字符串
- Java -- String
- String -- 常用方法
- String -- 正则
- Java -- StringBuilder 和 StringBuffer
- 知识点
- Java -- StringJoiner 字符串拼接
- 练习题
- 字符串的总结
- Java -- 包装类
- Integer
- Double
- Boolean
- Character
- java -- 集合类
- java -- util.Collection
- Iterator接口
- java -- util.List
- java -- ArrayList
- java -- util.Queue
- java -- util.Set
- java -- util.Map
- java -- util.Collections
- Java -- Math
- Java -- java.lang
- Java -- Object
- Java -- 获取当前时间戳
- Java -- 异常
- Java -- java.util
- java -- Date
- java -- Calender
- Java -- java.text
- Java -- SimpleDateFormat
- Java -- java.time
- Java -- java.io
- java -- io.File
- java -- 泛型
- IDEA -- 用法