Java笔记整理(三)标识符,关键字,数据类型
一、标识符和关键字
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)。
(1)基本类型包括boolean类型和数值类型
boolean类型只有两个值,真和假,即true和false,理论上占用1bit的空间,实际上占用一字节(8bit)
boolean类型的值或者变量,通常被用作flag来进行流程控制,比如用在 if条件控制语句以及 while、do-while、for等循环控制语句中,还可在三目运算符中使用
(2)数值类型包括整数类型和浮点类型
整数类型:
1、byte类型:1字节8位,范围:-128(-2^7)~127(2^7-1);
2、short类型:2字节16位,范围:-32768(-2^15)~32767(2^15-1);
3、char类型:2字节(代表字符型,相当于一个16位的无符号整数);
char类型的值必须由单引号括起来,它有三种表示形式
(1)直接通过单个字符来指定,例如'A'、'9'和'0'等
(2)通过转义字符表示特殊字符型值,例如'\n'、'\t'等
(3)直接使用Unicode(Java使用的字符集)值来表示字符型值;格式是'\uXXXX',其中XXXX表示一个十六进制数,一共可以表示65536个字符
其中前256个('\u0000'~'\u00FF')字符和ASCII码(美国信息交换标准代码)中的字符完全重合
(4)在C中char是ASCII的字符集,最大为255,即一个字节;而java的char是Unicode的字符集,最大为65535,即两个字节,其容纳了各国的字符。
所以C中不可以使用汉字作为变量名,而java则可以
(5)char类型的变量、值完全可以参加四则运算等数学运算,也可以比较大小——实际上都是用该字符对应的编码参与运算
4、int类型:4字节32位,范围:-2147483648(-2^31)~2147483647(2^31-1);
5、long类型:8字节64位,范围:(-2^63)-(2^63-1)
浮点类型:
1、float类型:单精度浮点数,4字节32位,第一位是符号位,接下来8位表示指数,再接下来的23位表示尾数;
Java的浮点类型默认是double类型,如果希望Java把一个浮点类型值当成float类型处理,应该在这个浮点类型值后紧跟f或F;
2、double类型:双精度浮点数,8字节64位,第一位是符号位,接下来11位表示指数,再接下来的52位表示尾数
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不与任何数值相等,甚至和自身都不相等
(3) 引用类型包括类、接口、和数组类型,还有一种特殊的null类型
所谓引用数据类型就是对一个对象的引用,对象包括实例和数组两种。
实际上,引用类型变量就是一个指针,指向所引用的对象在内存中存放的首地址,只是Java没有指针这个说法。
空类型(null)就是null值的类型,这种类型没有名称。空引用(null)是null类型变量唯一的值。
null只能被转换为引用类型,不能转换成基本类型,所有不要把一个null值赋给基本数据类型的变量
这是我的学习笔记,请大家多多指正。
---学习记录----