1、Java八种基本数据类型
首先Java中的数据类型的最高位表示符号位,1表示负数,0表示正数。
(1)整形,包括byte、short、int、long
byte
:1个字节(Byte),即8位(bit)
字节byte由8个bit(位)组成,kb=2^10byte=1024b;
byte可以表示2^8=256个数,即1000 0000 ~ 0111 1111,表示范围为-128~127,0算作正数的一部分。负数会使用补码的形式来进行存储。
short
:短整型 2个字节,16位
可以表示2^16个数,范围是是-2^15~2^15-1;int和long以此类推
int
:整型 4个字节,32位
long
:长整型 8个字节,64位
(2)浮点型,包括flout、double
flout
:单精度,4个字节
double
:双精度,8个字节
使用小数时,默认使用的是double类型,当要用float类型时,在数字后加上f,示例flout x=1.6f;另外,浮点型数据在存储时,是以底数指数的方式存储的。
(3)布尔型,boolean
boolean
:1个字节,8位,只有true和false两个值
(4)字符类型,char
char
:2个字节,16位;只能表示一个字符,用单引号括起来;一共可以表示65536个字符。
java中使用unicode编码来表示字符,而unicode在前128位和ASCII码是相同的。如果要在’'中表示单引号,那么需要使用’形式进行转义。同理在字符串中,如果要使用双引号,也需要转义,另外有些特殊的字符是有特定含义的,比如\r \n等等。用(类型)进行类型间的强制转换,可以查找字符所对应的unicode编码。
例如char c=‘特’;int z= (int) c
当需要表示多个字符时,使用String字符串类型,并用双引号括起来。(注意:string不属于基本数据类型)
2、Java中数据类型转换
(1)自动类型转换
如图,低范围类型的数据可以自动转换为高范围的数据类型,即可以直接将低范围的数值赋值给高范围的变量,例如int b=a;long c=2
。
(2)强制类型转换
强制类型转换即把高范围的数据类型转为低范围的数据类型,此时需要先将数值进行强制转换,如int a=(int)12.12
。需要注意的是,强制转换可能丢失精度。
3、Java中的精度选择
(1)低精度往高精度进行转换时,会丢失精度,计算结果不再准确,会用内存中的残留数据进行补全,可以理解成随机补全。
(2)高精度往低精度进行转换时,会截断保留小数位数,并进行四舍五入,因此计算结果依然准确。
(3)不同类型的数值进行计算时,以高精度的数值为基准,精度由低到高如下图。
java中如果进行科学计算,使用bigDecimal或者其他的一些计算类来计算数字。
4、Java文件的命名规则
(1)Java保存的文件名必须与类名一致
(2)如果文件中只有一个类,文件名必须与类名一致
(3)一个Java文件中只能有一个public类
(4)如果文件中不止一个类,文件名必须与public类名一致
(5)如果文件中不止一个类,而且没有public类,文件名可与任一类名一致
5、Java标识符命名规则
Java所有的组成部分都需要名字,类名、变量名以及方法名都被称为标识符。
Java中的标识符命名规则:
(1)标识符的首字符应该以字母、下划线(_)或者$符号开头,之后的字符可以是字母、下划线、$和数字,不要包含其他如空格等特殊字符。
(2)Java命名类名时,遵循大驼峰规则,即首字母大写,后续的单词每个单词首字母大写。
(3)变量名和方法名命名,遵循小驼峰规则,即首字母小写,后续的单词每个单词首字母大写。另外。
(4)Java的保留关键字不能作为标识符。
6、Java保留关键字
Java中保留关键字全为小写。
数据类型: Boolean、int 、long、short 、byte 、float、double、char、class、interface
流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally
权限修饰符:Java用于限定其他对象对该类内部定义的访问权限有public、protected 、private、default
,具体权限如下表。
其他修饰符:final、void、static、strictfp、abstract、transient、synchronized、volatile、native
动作:package、import、throw、throws、extends、implements、this、Super、instanceof、new
保留字:true、false、null、goto、const
7、Java面向对象的三大特性:封装、继承、多态
(1)封装:将现实的事物的特征和功能抽象提取为一个类,进行定义后,能够通过类的对象来使用。使用封装好的类的时候,不关注内部如何实现,只需要知道如何去使用封装好的属性和方法。
(2)继承:从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。Java只支持单继承,也就是只能继承一个类。
(3)多态:指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在父类及其各个子类中具有不同的含义。Java 实现多态有 3 个必要条件:继承、重写和向上转型。