1.数据类型(八种基本数据类型)
Java有八种基本数据类型,八种基本数据类型可以分为三类,字符类型char,布尔类型boolean,以及数值类型byte,short,int,long,float,double。其中,数值类型又可以分为整数类型byte,short,int,long和浮点数类型float和double。
1.1 整型变量(int)
int 表示变量的类型是一个整型,在Java中,一个int变量占4个字节,和操作系统没有直接关系。
int类型的数据范围是-2^31 -> 2^31-1,当数据大于int的最大范围是,就会出现溢出现象,对此,Java中提供了long类型。
1.2 长整型变量(long)
long表示变量的类型是一个长整型,在初始化时,数字较小,可以用其初始化,但最好在后面加上小写字母l,Java中long类型占8个字节,表示的范围-2^63 -> 2^63-1。
1.3 双精度浮点型变量(double)
double表示变量的类型是一个双精度浮点型变量,在Java中,int除以int得到的值仍然是int,所以会导致舍弃小数部分,当你想要得到小数部分是,需要使用double类型计算,在Java中,double类型占8个字节,精度范围大。
1.4 单精度浮点型变量(float)
float表示变量的类型是一个单精度浮点型变量,在Java中,float类型占4个字节,数据精度范围较小,在使用中,优先考虑double,不太推荐使用float。
1.5 字符类型变量(char)
char表示变量的类型是一个字符型变量,计算机中的字符本质是一个整数,在C语言中使用ASCII表示字符,而在Java中使用Unicode表示字符,因此字符占用两个字节,表示的字符种类更多,包括中文。
1.6 字节类(byte)
byte表示变量的类型是一个字节类型变量,字节类型只占用一个字节,范围为(-128~+127)。
1.7 短整型(short)
short表示变量的类型是一个短整型变量,short占用两个字节,表示的数据范围是 -32768~32767,他的表示范围较小,一般不推荐使用。
1.8 布尔类型变量(boolean)
boolean表示变量的类型是一个布尔类型变量,boolean类型变量只有两种取值,true表示真,false表示假,在Java中boolean类型不能与int类型相互转换,不存在1表示true,0表示false这样的用法,在Java中boolean的实现占用1个字节,有些是占用1个比特位,没有明确规定。
1.9 字符串类型变量(String)
String表示变量的类型是一个字符串类型变量,在Java中String不是基本类型,是引用类型,字符串中一些特定的不太方便表示的字符需要进行转义,如
2.变量的命名规则
一个变量名只能包含数字,字母,下划线,其中数字不能在开头,在命名时大小写不能互换,表示不同的变量,同时在变量命名时建议使用小驼峰命名法,如maxValue,除了第一个单词首字母小写,后面单词首字母均大写。
3. 常量
常量指的是在运行时类型不能发生改变,其中常量主要分为,字面型常量和final关键字修饰的常量。
4. 类型转换
在不同数值类型间进行转换,可能会导致精度损失,所以,在不同数字类型的变量之间赋值,表示范围更小的类型能隐式转换成范围较大的类型,反之则不行。一般类型转换时会编译报错,这时可以使用强制类型转换,但强制类型转换可能会导致精度丢失。
5.运算符
5.1 算数运算符
算是运算符就是我们数学上所学的 + - * / %
5.2 关系运算符
关系运算符主要有6个 == != < > <= >=
关系运算符表达式返回值都是boolean类型
5.3 逻辑运算符
逻辑运算符主要有三个 && || !
逻辑与 && ,逻辑或 || 逻辑非!
&& 一假为假
|| 一真为真
!取反
其中要注意的是&& 和 ||存在短路求值,就是指当两边表达式一边已经可以判断时不会再去计算另一边,例如 3 > 4 && 4 > 2,此时只会计算左边而不会计算右边。
5.4 位运算符
位运算符主要有四个& | ~ ^
位操作表示按二进制进行位运算 计算时,需要把十进制数转化为为二进制进行计算,& |和逻辑预算符中类似,~表示取反,^表示异或,即相同为0,不同为1。
5.5 移位运算符
移位运算符有三个<< >> >>>
左移,右移和无符号右移
简单来说左移表示原数字乘以2的n次方,移几位乘以多少次方,右移则是除以,无符号呢就是不管正负都成了正的。
5.6 条件运算符
条件运算符只有一个 表达式1 ? 表达式2 : 表达式3 ,即表达式1为真,执行表达式2,假则执行表达式3.
5.7 运算符的优先级
常用的算数运算符与数学中优先级一样,对于不太明白的加上括号即可。