JavaSE(二)-标识符,关键字,数据类型
一、标识符和关键字
1、具有特殊作用的分隔符:分号;、花括号{}、圆括号()、空格、圆点 .
2、标识符规则:用于给程序中变量、类、方法命名的符号。
Java的标识符必须以字母、下划线_、美元符$开头,后面可跟任意数目的字母、数字、下划线、和美元符。
此处的字母不限于26个英文字母,而且可以包括Unicode字符集内的多种语言的字符。
注意:(1)标识符不能以数字开头;
(2)区分大小写;
(3)不能是Java关键字和保留字,错误实例:int boolean; 但可以包含关键字和保留字:int aboolean。
(4)对于特殊字符,只能包含美元符,不能包含@、#等其他特殊字符
3、变量名,类名,包名命名建议首先要见名知意:
|
变量名
|
类/接口名
|
包名
|
常量
|
方法名
|
一个单词
|
小写
|
首字母大写
|
小写
|
大写
|
小写
|
举例
|
num
|
Hello
|
utils
|
NUM
|
test
|
两个或多个
单词
|
小写,而且可以用下划线分隔
|
首字母大写
|
小写
|
小写,而且可以用下划线分隔
|
首个单词小写,第二个单词开始首字母大写
|
举例
|
num_before
|
HelloWorld
|
|
MAX_VALUE
|
getConnection
|
二、附图Java关键字:
abstract
|
continue
|
for
|
new
|
switch
|
assert
|
default
|
if
|
package
|
synchronized
|
boolean
|
do
|
goto
|
private
|
this
|
break
|
double
|
implements
|
protected
|
throw
|
byte
|
else
|
import
|
public
|
throws
|
case
|
enum
|
instanceof
|
return
|
transient
|
catch
|
extends
|
int
|
short
|
try
|
char
|
final
|
interface
|
static
|
void
|
class
|
finally
|
long
|
strictfp
|
volatile
|
const
|
float
|
native
|
super
|
while
|
其中,enum是Java5开始新增的关键字,用于定义一个枚举。
goto,const也被称为保留字(reserved word),意思是Java目前还未使用这两个关键字,但可能在未来的Java版本中使用这两个关键字。
Java还提供了三个特殊的直接量(literal): true、false、null。Java的标识符也不能使用这三个特殊的直接量。
三、Java数据类型分类
Java支持的类型分为两类:基本类型(Primitive Type)和引用类型(Reference Type)。
(一)基本类型包括boolean类型和数值类型
boolean类型只有两个值,真和假,即true和false,理论上占用1bit的空间,实际上占用一字节(8bit)
数值类型包括整数类型(
byte,1字节8位,范围:-128(-2^7)~127(2^7-1);
short,2字节16位,范围:-32768(-2^15)~32767(2^15-1);
char,2字节(代表字符型,相当于一个16位的无符号整数);
字符类型的值必须由单引号括起来,它有三种表示形式
1.直接通过单个字符来指定,例如'A'、'9'和'0'等
2.通过转义字符表示特殊字符型值,例如'\n'、'\t'等
3.直接使用Unicode值来表示字符型值
格式是'\uXXXX',其中XXXX表示一个十六进制数,一共可以表示65536个字符
其中前256个('\u0000'~'\u00FF')字符和ASCII码(美国信息交换标准代码)中的字符完全重合
char类型的变量、值完全可以参加四则运算等数学运算,也可以比较大小——实际上都是用该字符对应的编码参与运算
int,4字节32位,范围:-2147483648(-2^31)~2147483647(2^31-1);
long,8字节64位,范围:(-2^63)-(2^63-1)
)和
浮点类型(
float,单精度浮点数,4字节32位,第一位是符号位,接下来8位表示指数,再接下来的23位表示尾数;
double,双精度浮点数,8字节64位,第一位是符号位,接下来11位表示指数,再接下来的52位表示尾数;
Java的浮点类型默认是double类型,如果希望Java把一个浮点类型值当成float类型处理,应该在这个浮点类型值后紧跟f或F;
Java的浮点数有两种表示形式:
-->十进制数形式:如5.12、512.0、.512,浮点数必须包含一个小数点,否则会被当成int类型处理;
-->科学计数法形式:如5.12e2(即5.12*10^2),5.12E2(也是5.12*10^2)
注意:只有浮点类型的数值才可以使用科学计数法形式表示。如51200是int类型的值,但512E2则是浮点类型的值。
此外,Java还提供了三个特殊的浮点数值:正无穷大,负无穷大,非数,用于表示溢出和出错。
如,使用一个正数(浮点数)除以0将得到正无穷大:float x = 521.0f/0; //输出Infinity
使用一个负数(浮点数)除以0将得到负无穷大:float y = -521.0f/0; //输出-Infinity
0.0除以0.0或对一个负数开方得到非数:float a = 0.0f/0.0f;//输出NaN
这三个特殊值是Float和Double类中定义的public static final值,可通过Double和Float类直接调用
Double.POSITIVE_INFINITY/Float.POSITIVE_INFINITY = Infinity
Double.NEGATIVE_INFINITY/Float.NEGATIVE_INFINITY = -Infinity
Double.NaN/Float.NaN= NaN
注意:所有的正无穷大,负无穷大值都是相等的,而NaN不与任何数值相等,甚至和自身都不相等
)
(二)引用类型包括类、接口、和数组类型,还有一种特殊的null类型
所谓引用数据类型就是对一个对象的引用,对象包括实例和数组两种。
实际上,引用类型变量就是一个指针,指向所引用的对象在内存中存放的首地址,只是Java没有指针这个说法。
空类型(null)就是null值的类型,这种类型没有名称。空引用(null)是null类型变量唯一的值。
null只能被转换为引用类型,不能转换成基本类型,所有不要把一个null值赋给基本数据类型的变量
---学习记录----