1、关键字(keyword)
JAVA中有特别含义的字符串,全是小写字母。如abstract、public、class、int、for、void等。
2、标识符(identifier)
JAVA中命名时使用等字符序列,如类名、方法名、变量名。
标识符命名规则:
1、 由 26 个英文字母大小写,0-9 ,_或 $ 组成;
2、不可以包含空格;
3、不可以数字开头;
4、区分大小写;
5、不能使用关键字和保留字,但可以包含。
3、变量
变量:内存中的一块存储区域,可以在一定的变量类型范围内变化。
变量组成:数据类型、变量名、存储的值。
变量声明格式:数据类型 变量名 = 变量值
使用变量的目的:在内存中保存数据。
变量作用域:定义变量所在的{}内。同一作用域内,不能重复定义。
4、变量的数据类型
数据类型有两大类:基本数据类型、引用数据类型。
基本数据类型:在栈中直接分配内存的数据类型。
引用数据类型:栈中是数据的引用,实际的数据对象存储在堆中。
5、不同数据类型的相互转换
不同基本数据类型(不包括boolean,7种)相互转换有两种:自动类型提升、强制类型转换。
5.1 自动类型提升
取值范围小的类型自动提升为取值范围大的类型。
转换规则:
1、存储范围小的值赋给存储范围大的变量,会自动升级;
2、存储范围小和范围大的进行混合运算,取大的类型运算;
3、当 byte,short,char 数据类型的变量进行算术运算时,按照 int 类型处理。
5.2 强制类型转换
取值范围大的类型强制转换为取值范围大的类型。
转换格式:
数据类型1 变量名 = (数据类型1) 被强转数据值;
int i = (int)3.14;//损失精度 int i = 200; byte b = (byte)i;//溢出 //float f1 = 12.3; //报错,因为 12.3 看做是 double,不能自动转换为 float 类型 float f2 = 12.3F; float f3 = (float)12.3;
5.3 基本数据类型与String类(引用数据类型)的转换
转换规则:
1、任意八种基本数据类型的数据与 String 类型只能进行连接“+”运算,且结果一定也是 String 类型。
// 基本数据类型 ——> String
System.out.println("" + 1 + 2);//12
int num = 10;
boolean b1 = true;
String s1 = "abc";
String s2 = s1 + num + b1;
System.out.println(s2);//abc10true
//String s3 = num + b1 + s1;//编译不通过,因为 int 类型不能与 boolean 运算
String s4 = num + (b1 + s1);//编译通过
2、String 类型不能通过强制类型()转换,转为其他的类型。
// String ——> 基本数据类型
String str = "123";
int num = (int)str;//错误的
int num = Integer.parseInt(str);//正确的
6、数据类型byte和字节Byte、位bit、比特有什么关系?
好像有点关系,又好像没啥关系。我只能写下自己的理解,欢迎大家指正。
1、byte是Java中基本数据类型的一种,其他的数据类型还有short、int、long、double等等,其维度是用来描述不同的数据类型。
2、Byte、bit等都是存储数据的单位,其维度是描述数据存储的单位,表示数据存储的容量。
3、位等于比特,一个字节等于八位(1Byte = 8bit)
参考:
尚硅谷-宋红康老师《Java从入门到精通》