一,数据类型
1 Java语言数据类型的分类
-
基本数据类型
-
引用数据类型
2 基本数据类型的四类八种
①整数类型:long、int、short、byte
②浮点类型:float、double
③字符类型:char
④布尔类型:boolean
注意点
-
如果要定义 一个整数类型的变量,不知道选择哪种数据类型了,默认使用int。
-
如果要定义 一个小数类型的变量,不知道选择哪种数据类型了,默认使用double。
-
如果要定义一个long类型的变量,那么在数据值的后面需要加上L后缀。(大小写都可以,建议大写。)
-
如果要定义一个float类型的变量,那么在数据值的后面需要加上F后缀。(大小写都可以)
3、引用数据类型
引用数据类型非常多,大致包括:
类、 接口类型、 数组类型、 枚举类型、 注解类型、 字符串型
简单来说,所有的非基本数据类型都是引用数据类型。
二.算术运算符
分类:
+ - * / %
运算特点:
+ - * :跟小学数学中一模一样没有任何区别.
/: 1.整数相除结果只能得到整除,如果结果想要是小数,必须要有小数参数。 2.小数直接参与运算,得到的结果有可能是不精确的。 案例: System.out.println( 10 / 3);//3 System.out.println(10.0 / 3);//3.3333333333333335
%:取模、取余。 他做的也是除法运算,只不过获取的是余数而已。 案例: System.out.println(10 % 2);//0 System.out.println(10 % 3);//1 应用场景: //可以利用取模来判断一个数是奇数还是偶数 System.out.println(15 % 2);//1 奇数
三,隐式转换
概念:
也叫自动类型提升。
就是把一个取值范围小的数据或者变量,赋值给另一个取值范围大的变量。此时不需要我们额外写代码单独实现,是程序自动帮我们完成的。
两种提升规则:
-
取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。
-
byte、short、char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算。
取值范围从小到大的关系:
byte short int long float double
四.强制转换
概念:
如果要把一个取值范围大的数据或者变量赋值给另一个取值范围小的变量。是不允许直接操作。
如果一定要这么干,就需要加入强制转换。
书写格式:
目标数据类型 变量名 = (目标数据类型)被强转的数据;
简单理解:
要转成什么类型的,那么就在小括号中写什么类型就可以了。
案例:
public class OperatorDemo2 { public static void main(String[] args) { double a = 12.3; int b = (int) a; System.out.println(b);//12 } }
注意点:
强制转换有可能会导致数据发生错误。(数据的精度丢失)
五,自增自减运算符
分类:
++ 自增运算符 -- 自减运算符
++:就是把变量里面的值+1
--:就是把变量里面的值-1
使用方式:
放在变量的前面,我们叫做先++。 比如:++a
放在变量的后面,我们叫做后++。 比如:a++。
六.字符串的+操作
当+操作中出现字符串时,此时就是字符串的连接符,会将前后的数据进行拼接,并产生一个新的字符串。
当连续进行+操作时,从左到右逐个执行的。
七,扩展赋值运算符
分类:
+=、-=、*=、/=、%=
运算规则:
就是把左边跟右边进行运算,把最终的结果赋值给左边,对右边没有任何影响。
案例:
public class OperatorDemo7 { public static void main(String[] args) { //扩展赋值运算符 int a = 10; int b = 20; a += b;//把左边和右边相加,再把最终的结果赋值给左边,对右边没有任何影响 // 相当于 a = a + b; System.out.println(a);//30 System.out.println(b);//20 } }
注意点:
扩展的赋值运算符中隐层还包含了一个强制转换。
以+=为例。
public class OperatorDemo8 { public static void main(String[] args) { byte a = 10; byte b = 20; //a += b; a = (byte)(a + b); System.out.println(a);//30 } }
a += b ;实际上相当于 a = (byte)(a + b);
八.关系运算符
又叫比较运算符,其实就是拿着左边跟右边进行了判断而已。
分类:
符号 | 解释 |
---|---|
== | 就是判断左边跟右边是否相等,如果成立就是true,如果不成立就是false |
!= | 就是判断左边跟右边是否不相等,如果成立就是true,如果不成立就是false |
> | 就是判断左边是否大于右边,如果成立就是true,如果不成立就是false |
>= | 就是判断左边是否大于等于右边,如果成立就是true,如果不成立就是false |
< | 就是判断左边是否小于右边,如果成立就是true,如果不成立就是false |
<= | 就是判断左边是否小于等于右边,如果成立就是true,如果不成立就是false |
关系运算符最终的结果一定是布尔类型的。要么是true,要么是false