文章目录
前言
本篇文章是韩顺平老师课程P63-P103(第四章:运算符)重点内容的详细总结,仍然是偏理论的东西,为后面编程打好基础。
- 算术、关系、逻辑、赋值、三元运算符的介绍、使用、练习
- 标识符与关键字
- 进制介绍及转换
- 原码补码反码的介绍和计算
- 位运算
一、运算符(算术、关系、逻辑、赋值、三元)
- 运算符介绍:是一种特殊的符号,用以表示数据的运算、赋值和比较等
1. 算术运算符
- 除法 “/”
System.out.println(10 / 4); //java中是2,因为 10 和 4 都是整数
System.out.println(10.0 / 4); //java中是2.5,因为 10 是double类型
double d = 10 / 2; //结果是5.0,因为是double类型
- 模 “%”
System.out.println(10 % 4); //2
System.out.println(-10 & 4); //-2
//在Java中,取模的本质 看一个公式 a % b = a - a / b *b
// -10 % 3 => -10 - (-10) / 3 * 3 = -10 + 9 = -1
// 10 % -3 => 10 - 10 / (-3) * (-3) = 10 - 9 = 1
System.out.println(10 & -3); //1
System.out.println(-10 & -3); //-1
- 自增"++"
- 作为独立语句使用,结果相同
int i = 10;
i++;//自增 等价于 i = i + 1; => i = 11
++i;//自增 等价于 i = i + 1; => i = 12
System.out.println("i=" + i);//12
- 作为表达式使用
/*
作为表达式使用
前++:++i 先自增后赋值
后++:i++先赋值后自增
*/
int j = 8;
//int k = ++j; //等价 j=j+1;k=j;
int k = j++; // 等价 k =j;j=j+1;
System.out.println("k=" + k + "j=" + j);//8 9
- 细节
- 对于除号“/”,它的整数和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。
- 当对一个数取模时,可以等价a%b=a-a/b*b,这样我们可以看到取模的一个本质运算。
- 当自增当作一个独立语言使用时,不管是 i++还是 ++i,都是一样的,等价。
- 当自增当作一个表达式使用时
- j = ++i 先自增后赋值
- j = i++ 先赋值后自增
- –, +, -, * 都是一个道理,完全可以类推
2. 关系运算符(比较运算符)
- 介绍
- 关系运算符的结果都是boolean类型,要么是true,要么是false
- 关系表达式 经常用在 if 结构的条件中或循环结构的条件中
- 使用
//演示关系运算符的使用
public class RelationalOperator {
//编写一个 main 方法
public static void main(String[] args) {
int a = 9; //老韩提示: 开发中,不可以使用 a, b
int b = 8;
System.out.println(a > b); //T
System