一、标识符
1,标识符是用来给变量、类、方法及包进行命名的
2,标识符需要遵守一定的规则:
2-1,标识符必须以字母、下划线、美元符号 $ 开头
2-2,标识符其它部分可以是字母、下划线、美元符 $ 和数字的任意组合
2-3,java 标识符对大小写敏感,且长度无限制
2-4,标识符不可以是 java 的关键字
3,标识符的使用规范
3-1,表示类名的标识符:每个单词的首字母大写,如 Man,GoodMan
3-2,表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写,一般称为“驼峰原则”;
注意:java 不采用通常语言使用的 ASCII 字符集,而是采用 Unicode 这样标准的国际字符集,因此,这里字母的含义不仅仅是英文,还包括汉字等等,一般不建议用汉字
二、变量
1,变量本质上就是代表一个“可操作的存储空间”,空间位置是确定的,但是里面放置什么值是不确定的。我们可以通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间"存储的值。
2,java是一种强类型语言,每个变量都必须声明其数据类型,变量的数据类型决定了变量占据存储空间的大小,比如,int a=3; 表示 a 变量的空间大小为4个字节,
3,变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域,变量在使用前必须对其声明,只有在变量声明以后,才能为其分配相应长度的存储空间
4,变量分为:局部变量,成员变量,静态变量
4-1,局部变量(local variable):方法或语句块内部定义的变量,生命周期是从声明位置开始到方法或语句块执行完毕为止,局部变量在使用前必须先声明,初始化(赋初值)再使用
4-2,成员变量(实例变量 member variable):方法外部,类的内部定义的变量。从属于对象,生命周期伴随对象始终,如果不自行初始化,它会自动初始化成该类型的默认初始值
int 0; double 0.0; char \u0000'; boolean false; string null;
4-3,静态变量(类变量 static variable):使用 static 定义。从属于类,生命周期伴随类始终,从类加载到卸载。
三、常量(Constant)
1,常量通常指的是一个固定的值,例如:1、2、3、a、b、c;在 java 语言中,主要是利用关键字 final 来定义一个常量。常量一旦被初始化后不能再改其值。
2,声明格式为:final type varName = value;
3,常量命名规范:大写字母和下划线:MAX_VALUE
四、基本数据类型(primitive data type)
1,java 中定义了3类8种数据类型
1-1,数值型:byte(1字节),short(2字节),int(4字节),long(8字节),float(4字节),double(8字节)
1-2,字符型(文本型):char(2字节)
1-3,布尔型:boolean(1位)
2,整型:byte,short,int,long;用于表示没有小数部分的数值,它允许是负数,整型的范围与运行 java 代码的机器无关,这正是 java 程序具有很强移植能力的原因之一。
3,整型的表数范围
byte:-2^7 ~ 2^7-1(-128~127);short:-2^15 ~ 2^15-1(-32768~32767);int:-2^31 ~ 2^31-1(-2147483648~2147483647);long:-2^63 ~ 2^63-1;
4,java 语方整型常量的四种表示形式
4-1,十进制整数,如:99,-59
4-2,八进制整数,要求以 0 开头,如:015
4-2,十六进制数,要求 0x 或 0X 开头,如:0x15
4-3,二进制数,要求 0b 或 0B 开头,如:0b01110011
5,浮点类型常量
5-1,float 表数范围:-3.403E38~3.403E38;单精度类型,尾数可以精确到7位有效数字,在很情况下,float 类型的精度很难满足需求
5-2,double 表数范围:-1.798E308~1.798E308;其数值精度是 float 类型的两倍,以称双精度类型,浮点型常量默认类型也是 double
5-3,java 浮点类型常量有两种表示形式
5-4,十进制数形式,例如:3.14
5-5,科学记数法形式,例如:314e2(314*10^2),314E-2(314/10^2)
5-6,注意:float 类型的数值有一个后缀 F 或者 f ,没有后缀 F/f 的浮点数值默认为 double 类型,也可以在浮点数值后添加后缀 D 或者 d,以明确其为 double 类型
5-7,说明:浮点类型 float,double 的数据不适合在不容许舍入误差的金融计算领域。如果需要进行不产生传入误差的精确数字计算,需要使用 BigDecimal 类
5-8,浮点类型不能用于相等判断
5-9,如果一定要比较,java.math 包下有两个类:BigInteger 和 BigDecimal,这两个类可以处理任意长度的数值。BigInteger 实现了任意精度的整数运算。BigDecimal 实现了任意精度的浮点运算;例:
BigDecimal db = BigDecimal.valueOf(1.0);
bd = bd.subtract(BigDecimal.valueOf(0.1);
6,字符型变量/常量
6-1,字符型在内存中占2个字节,在 java 中使用单引号来表示字符常量,例如 'A' 是一个字符,它与 "A" 是不同的,"A" 表示含有一个字符的字符串
6-2,char 类型用来表示在 Unicode 编码表中的字符。Unicode 编码被设计用来处理各种语言的文字,它占2个字节,可允许有 65536 个字符
6-3,Unicode 具有从 0 到 65535 之间的编码,通常用从 '\u0000' 到 '\uFFFF' 之间的十六进制值来表示(前缀为 u 表示 Unicode)
7,java 语言中还允许使用转义字符 '\' 来将其后的字符转变为其它的含义,常用的转义字符及其含义和 Unicode 值如下
\b 退格(backspace) \u0008;\n 换行 \u000a;\r 回车 \u000d;\t 制表符 \u0009;\" 双引号 \u0022;\' 单引号 \u0027;\\ 反斜杠 \u005c
8,boolean 类型变量/常量
8-1,boolean 类型有两个常量值,true 和 false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false,用来判断逻辑条件,一般用于程序流程控制