1、除法
int b = 10/3;
b的值是3
当除数和被除数都是int时,商必为int,取真正商的整数部分!
无论小数点后面是多少,不会采取四舍五入,而是将小数点后面的数字全部省略!
2、自增与自减
int a = 10;
a++;
a–;
自增就是自己+1,自减就是自己-1
-
符号在前,先运算,后取值
-
符号在后,先取值,再运算
/* * 符号在前,先运算,后取值 * 符号在后,先取值,再运算 */ int a = 7; System.out.println(a++); //7 System.out.println(a); //8 System.out.println(++a); //9 System.out.println(a); //9 System.out.println(a--); //9 System.out.println(a); //8
3、自动类型转换
当表达式中,如果出现了double类型的数据,那么结果也是double。
在运算过程中,整型会自动过渡转换成小数的过程就是“自动类型转换机制”
例如: 1+2.5 -> 1.0+2.5 : 在这里1->1.0转换的过程就是自动类型转换。
- 自动类型转换的规则:
- 1.类型要兼容
- 1 -> 1.0 正确的
- 王八蛋 -> 小数 转换不了,这就是不兼容
- 2.目标类型要大于源类型
-
整数范围大?小数范围大?,因为任何的整数都可以用小数来表示
-
1 -> 1.0
10/2 -> 5 10/2.0 -> 5.0
-
- 1.类型要兼容
4、强制类型转换
能不用,就别用。逼不得已的时候才会用的。
因为强制转换会丢失精确度,让数据并不是特别准确!
1.4 -> 1 的过程,也就是忽略小数点后面的数字,强制性的让小数变成整数的过程。
强制类型转换,并不会四舍五入。而是将小数点后面的数字,无论是多少,全部干掉!!!
- 强制类型转换的规则:
- 1.类型要兼容
- 2.目标类型小于源类型
- 1.3 -> 1
5、关系运算符(比较运算符)
-
大于
- < 小于
-
= 大于等于
- <= 小于等于
- == 相等的判断
- != 不相等的判断
boolean布尔型
在以往的数学中,不等式的结果我们用“成立”和“不成立”来描述;
而在java中,不等式的结果我们用“真”和“假”来描述;
真:true
假:false
java的世界中,有一种数据类型,它只能保存真假两个数据,这个类型叫做“布尔型”
int整型的取值范围: -2的31次方 ~ 2的31次方-1 ,也就是正负20多亿
布尔类型的取值范围:true、false
布尔类型存放的是不等式的比较结果!
boolean b = 10 > 3 ;
6、if选择结构
当满足一些条件时,就会得到相应的结果
语法:
if(条件){
如果条件成立,被执行的代码
}
条件一定是结果为布尔类型的表达式
if( 10>8 ){
System.out.println("成立");
}
7、逻辑运算符
将多个布尔类型的结果联系在一起的符号
&& 与:并且
- 我要吃一碗面条并且再吃三个包子,才能吃饱。
- 一碗面条和三个包子,这两个条件,必须要同时满足,才能得到最终吃饱的结果。
- 如果没有一碗面条,或者包子少了,我都会吃不饱。
- 一碗面条 && 三个包子
- 条件1 && 条件2
- 条件1成立,条件2不成立,结果不成立
- 条件1不成立,条件2成立,结果不成立
- 条件1成立,条件2成立,结果成立
- 条件1不成立,条件2不成立,结果不成立
|| 或:或者
- 我要吃一碗面条或者吃三个包子,都可以吃饱
- 一碗面条和三个包子,这两个条件,只要满足我其中一个,我就可以吃饱
- 一碗面条我可以吃饱,或者不吃面条也行,三个包子我也可以吃饱。
- 但是,如果一碗面条不给我,3个包子也不给我,我吃不饱。
- 一碗面条和三个包子同时让我吃,肯定也能吃饱
- 一碗面条 || 三个包子
- 条件1 || 条件2
- 条件1成立,条件2不成立,结果成立
- 条件1不成立,条件2成立,结果成立
- 条件1成立,条件2成立,结果成立
- 条件1不成立,条件2不成立,结果不成立
! 非:不是
- 取反,吃饱了,取反,就是没吃饱
- !成立 , 意思为:不成立
- !不成立,意思为:成立