Java基础语法
Java注释
java注释分为三种类型:
-
单行注释 注释方式采用"//"来进行表示,如下图所示。
补充:注释颜色的变更,点击此处转到上篇博文了解
-
多行注释 注释方式采用"/* + 中间内容 + */"来进行表示,如下图所示。
-
文档注释 即JavaDoc文档注释,采用 "/** + 中间内容 + */" 来进行表示,如下图所示。
Java标识符
Java的所有组成部分都需要名字,如:类名、方法名、变量名等,如下图所示。
注:
-
所有的标识符的首字母(开头)都必须以字母(A-Z or a-z)、美元符号($)、下划线(_)开始。如下图所示。
补:数字、*、#等符号开头都不行,如下图所示。
-
开头首字母确定后,其余位置可以为任意组合,如下图所示。
-
不能使用关键词作为变量名或者方法名,如下图所示。
-
标识符大小写敏感,大写字母和小写字母,不是同一个变量,如下图所示。
-
标识符可以用中文来命名,如下图所示。
Java数据类型
Java是一种强类型语言,即变量使用严格要求符号规定,变量必须先定义后使用。
Java的数据类型分为基本类型(Primitive type) 和引用类型(Reference type)
基本类型(Primitive type) 分为:数值、boolean类型
-
数值 分为整数、浮点型、字符
整数:
-
byte,大小:1个字节,范围:-2^7~(2^7)-1,即(-128~127)。
-
short,大小:2个字节,范围:-2^15~(2^15)-1,即(-32768~32767)。
-
int,大小:4个字节,范围:-2^31~(2^31)-1,即(-2147483648~2147483647)。
-
long,大小:8个字节,范围:-2^63~(2^63)-1,即(-9223372036854775808~92233720368554775807)。
补充:在使用long来定义类型时,需在数字后添加字母L,来表明类型为long,一般不用小写l,易于1混淆,如下图所示。
注:范围是通过字节数来计算得到的,8位(bit)1字节(byte)。以int为例,4字节为32位,总大小为2^32,范围由负到正分两半,故范围为-32768~32767。
拓展:
-
进制表示:在java中,二进制前加"0b",八进制前加"0",十六进制前加"0x",如下图所示。
-
进制的换算:对于八进制来说,先将其化为二进制,接着在二进制数中,每三位取为一组,位数不够,小数点左边向前补0,小数点右边向后补0,(对于整数位数不够直接向前补0)。十六进制,同理,不同的是以每四位一组。如下图所示。
-
浮点型:
-
float,大小:4个字节。
-
double,大小:8个字节。
补充:在使用float来定义类型时,需在数字后添加字母F或f,来表明类型为float,如下图所示。
拓展:浮点类型最好不要用来比较大小,因为浮点类型,有限且离散,具有舍入误差,所以结果都为一个大约数,接近却不等于真实值。
解决方案:可以采用BigDecimal类,数学工具类。
字符:
-
char ,大小:2个字节,范围:0~65535。用于表示单个字符。
拓展:字符的本质还是数字,一般使用Unicode方式来进行编码,范围是从U0000~UFFFF,通过转义字符\u,可实现编码表示的转义输出。转义字符还有\t(制表符)、\n(换行符)等。
-
-
boolean类型
代表了是与非,占1位(bit),只有true和false两种状态,如下图所示。
拓展:一般来说代码要精简易读,如下所示,两式子相互等价,一般采用前者。
if(flag){} if(flag == true){}
引用类型(Reference type) 分为:类、接口、数组。
Java类型转换
Java的类型容量排序
byte、short、char-->int-->long-->float-->double (从左往右容量依次增大)
Java的类型转换
在Java类型转换过程中,从高容量向低容量转换,采用强制转换 ;从低容量向高容量转换,采用自动转换。
注:
-
不能对布尔值进行转换。
-
不能把对象类型转换为不相干类型。
-
转换过程中会产生内存溢出、精度下降等问题。
拓展:
-
大额数字,数字之间可以通过下划线分割,如下图所示。
-
如果计算结果已经溢出,如下图所示。
即便转变前方变量的类型,转为更大的long类型也无济于事,因为转换前已经产生了溢出问题,如下图所示。
正确解决办法:将后者中的一个变量进行强制类型转换,转换为更大的long类型,如下图所示。