运算符介绍
- 运算符是一种特殊符号, 用以表示数据的运算, 赋值和比较等
- 算术运算符
- 赋值运算符
- 关系运算符 [比较运算符]
- 逻辑运算符
- 位运算符 [需要二进制基础]
- 三元运算符
- 算数运算符是对数值类型的变量进行运算的, 在Java程序中使用的非常多
算术运算符
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
+ | 正号 | +7 | 7 |
- | 负号 | b=11; -b | -11 |
+ | 加 | 9+9 | 18 |
- | 减 | 10-8 | 2 |
* | 乘 | 7*8 | 56 |
/ | 除 | 9/9 | 1 |
% | 取模(取余) | 11%9 | 2 |
++ | 自增(前) : 先运算后取值 | 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 |
+ | 字符串相加 | “hsp”+“edu” | “hsp edu” |
在%取模 取余 的本质 看一个公式
a % b = a - a /b = b
a % b 当 a 是小数时, 公式 = a - (int)a / b * b
-10.5 % 3 = -10.5 - (-10)/3 * 3 = -10.5 + 9 = -1.5
注意: 有小数运算, 得到的结果是 近似值
System.out.println(10 / 4); //从数字来看是2.5, java中 2
System.out.println(10.0 / 4); //java是2.5
double d = 10 / 4; //java中10 /4 = 2, 2=>2.0
System.out.println(d); //2.0
// %取模 取余
// 在%的本质 看一个公式 a % b = a - a /b = b
// -10 % 3 => -10 - (-10) / 3 * 3 = - 10 + 9 = -1
// 10 % -3 = 10 - 10 / (-3) - (-3) = 10 -9 = 1
// -10 % -3 = (-10) - (-10) / (-3) * (-3) = -10 + 9 = -1
System.out.println(10 % 3); //10除以三的余数 1
System.out.println(-10 % 3); // -1
System.out.println(10 % -3); // 1
System.out.println(-10 % -3); // -1
算数运算符案例
- 假如还有59天放假, 问: 还有xx个星期零xx天?
// 1. 需求:
// 假如还有59天放假, 问: 还有xx个星期零xx天?
// 2. 思路分析:
// (1). 59天放假 使用int变量 days 保存 天数
// (2). 一个星期7天 星期数weeks: days / 7 | 零xx天leftDays days % 7
// 3. 走代码
int days = 59;
int weeks = days / 7;
int leftDays = days % 7;
System.out.println(days + "天 合"+ weeks + "星期零" + leftDays + "天");
- 定义一个变量保存华氏温度,
华氏温度转换摄氏温度的公式为:
5/9*(华氏温度-100)
,请求出华氏温度对应的摄氏温度. [234.5]
// 1. 需求
// 定义一个变量保存华氏温度,
// 华氏温度转换摄氏温度的公式为:
// 5/9*(华氏温度-100),请求出华氏温度对应的摄氏温度. [234.5]
//
// 2. 思路分析
// (1). 先定义一个double huaShi变量保存 华氏温度
// (2). 根据给出的公式, 进行计算即可5/9*(华氏温度-100)
// (3). 将得到的结果保存到变量double sheShi
// 3. 走代码
double huaShi = 234.6;
double sheShi = 5 / 9 * (huaShi - 100);
System.out.println("华氏温度:" + huaShi + "对应的摄氏温度:"+ sheShi);
输出结果:
华氏温度:234.6 对应的 摄氏温度:0.0
为什么摄氏温度是0.0呢?
5 / 9 等于 0.xxx 以 java 的运行机制会等于一个 0
那我们就应该写: 5.0 / 9 了, 考虑数学公式和java语言的特性
// 1. 需求
// 定义一个变量保存华氏温度,
// 华氏温度转换摄氏温度的公式为:
// 5/9*(华氏温度-100),请求出华氏温度对应的摄氏温度. [234.5]
//
// 2. 思路分析
// (1). 先定义一个double huaShi变量保存 华氏温度
// (2). 根据给出的公式, 进行计算即可5 / 9 * (华氏温度-100)
// 考虑数学公式和java语言的特性
// (3). 将得到的结果保存到变量double sheShi
// 3. 走代码
double huaShi = 234.6;
double sheShi = 5.0 /