1.标识符的命名规则(必须遵守的硬性规定)(背)
凡是可以自己起名字的地方都叫标识符
- 由26个英文字母大小写、0-9,_或$组成。
- 数字不可以开头。
- 不可以使用关键字和保留字,但可以包含关键字和保留字。
- Java中严格区分大小写,长度无限制。
- 标识符不能包含空格。
2.标识符的命名规范 (软要求,代码规范)
- 包名:所有字母小写:xxxyyyzzz 。for example:java.lang com.cm.ylu
- 类名、接口名:多个单词组成时,每个单词的首字母大写XxxYyyZzz,i.e., HelloWorld
- 变量名、方法名:从第二个字母开始大写:xxxYyyZzz,如:getName
- 常量名:所有字母大写并用下划线连接_,XXX_YYY_ZZZ
3.使用变量注意事项:
- Java变量必须先声明后使用
- 变量的作用域在{ },出了作用域后无法使用
- 同一作用域,不能定义重名的变量。
变量名声明格式:数据类型 变量名=变量值
4. Java中变量的数据类型分为两大类:
基本数据类型:byte, short int ,long, float, double, char, boolean
引用数据类型:class(String), interface, [ ], enum, @interface, record
注意long的声明:
- 定义 long 类型的变量,赋值时需要以"l"或"L"作为后缀。
- 定义 long 类型的变量,赋值时需要以"l"或"L"作为后缀。
- Java的整型常量默认为 int 型。
long num = 1234567; //右边的整数常量值如果在 int 范围呢,编译和运行都可以 通过,这里相当于一个自动类型提升。将int型的1234567提升到long类型。
long bigNum = 12345678912L;//右边的整数常量值如果超过 int 范围,必须加 L,显式表示 long 类型。否则编译不通过。
一句话:在定义long时右边数字在int范围内的话可以不加L相当于自动类型提升,不在int范围内必须要加L否则编译不通过。
注意float的声明:
- float:单精度,尾数可以精确到 7位有效数字。很多情况下,精度很难满足需求。
- double:双精度,精度是 float的两倍。通常采用此类型。
- 定义 float类型的变量,赋值时需要以"f"或"F"作为后缀。
- Java 的浮点型常量默认为double型。
5.基本数据类型的转换规则如图:
6.自动类型提升和强制类型转换(重点)
规则:将取值范围大的(或容量大)的类型强制转换成取值范围小的类型。
自动提升类型是Java自动执行的,而强制类型转换是自动类型提升的逆运算,需要我们手动去执行。
注意:(特殊情况)byte、short、char两两做运算得到int类型
当存储范围小的数据类型与存储范围大的数据类型变量一起混合运算时,会按照其中最大的类型运算。
7. 基本数据类型与String的运算
String是引用数据类型使用一对“ ”来表示一个字符串,内部可以包含0个、1个或多个字符。声明方式与基本数据类型类似。例如:String str="尚硅谷";
1、任意八种基本数据类型的数据与 String类型只能进行连接“+”运算,且结果一定也是 String类型
System.out.println("" + 1 + 2);//12
2、String类型不能通过强制类型()转换,转为其他的类型
String str = "123";
int num = (int)str;//错误的
int num = Integer.parseInt(str);//正确的,后面才能讲到,借助包装类的方法才能转