1、关键字和保留字
1)关键字
定义:Java语言中被赋予特殊含义,用作专门用途的字符串
特点:均为小写
例子:
定义数据类型:class、interface、int、long等
定义流程控制:if、else、while
访问权限修饰符:private、public、protected
更多请见官方文档:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
2)保留字
定义:现有Java版本尚未使用,但后续版本可能会使用,命名时要避开
例子:goto、const
2、标识符
定义:
Java对各种变量、方法和类等,进行命名时使用的字符序列成为标识符,即,自己可以命名的都叫标识符
命名规则:
标识符命名错误,会导致编译不通过
1、26个字母、0-9,_或$组成
2、数字不可以开头
3、不可以使用关键字或保留字,但可以包含关键字和保留字
4、严格区分大小写,长度无限制
5、不能包含空格
Java中名称命名规则
不按以下规则命名,不会引起编译错误,但是会降低代码可读性,保证好的编程习惯,从命名开始吧
1、包名:多单词组成时所有字母都小写
2、类名、方法名:多单词组成时,所有单词首字母大写
3、变量名、方法名:多单词组成时,第一个单词首字母小写,其余单词首字母大写
4、常量名:所有字母都大写,多单词时用_连接
5、尽量命名有意义
3、变量
定义:
内存中的一个存储区域,该区域的数据可以在同一类型范围内不断变化
变化是程序中最基本的存储单元,包含变量类型、变量名和存储的值
作用:
在内存中保存数据
注意事项:
1、Java中每个变量必须先声明,后使用
2、使用变量名来访问这块区域的数据
3、变量的作用域,在其定义时所在的{}内
4、变量尽在其作用域生效
4、同一个作用域内,变量名唯一
(一)基本数据类型
1、基本数据类型
1)数值型:整数类型--byte(1字节=8个bit), short(2字节),int(4字节), long(8字节);浮点类型--float(4字节), double(8字节)
PS:
定义long型时,必须以l或L结尾
定义float型时,必须以f或F结尾
如:long number = 1233323L;
2)字符型:char(1字符=2字节)
PS:
定义char型,通常使用'',可以表示转义字符,或者使用Unicode值来表示字符常量
如,char c = '\t';
char d = '\u0123';
3)布尔型:boolean
只能取两个值之一:true,false
通常用于条件判断,或者循环结构中使用
4)引用数据类型:类class、接口interface、数组[]
(二)基本数据类型变量间转换
PS:仅针对除boolean类型外,其余7种类型变量的运算
1、自动类型转换
当容量小(表示数的范围,非所占字节)的数据类型变量与容量大的数据类型变量做运算,结果可自动转换为容量大的数据类型
即,byte、char、short--->int--->long--->float--->long
PS:byte、char、short三种类型变量做运算时,含三种类型自身做运算,如byte + byte,结果必须为int型
class VaribleTest{
public static void main(String[] args){
byte b = 2;
int i = 129;
//c也可以是long或float接收,使用float,输出会多一个.0
int c = b + 1;
System.out.println(c);
}
}
特殊情况
class VariableTest1{
public static void main(String[] args){
char c = 'a';
int i = 10;
short s =3;
int i1 = c + i;
//char c1 = s + c;//编译会报错,只能输出int
//short s1 = s +c;//编译会报错,只能输出int
System.out.println(i1);//输出107,char转换为int
}
}
2、强制类型转换-自动转换的逆运算
1)需要使用强转符:()
2)强制类型转换,可能导致精度损失,如double转int
class VariableTest2{
public static void main(String[] args){
double d = 12.9;
long l1 = 12
int i = (int)d1;//相当于截断操作
short s = (short)l1;//不损失精度
int i1 = 128;
byte b = (byte)i1;//损失精度,输出-128
System.our.println(i);
}
}