标识符:
-定义:可以自己命名的地方叫标识符
-如:类名,变量名,方法名,接口名,包名…
规则:
-
英文字母,数字,_,$(常用)组成
-
数字不可以开头
-
不可以使用关键字和保留字,但能包含关键字和保留字
-
区分大小写,长度无限制
-
标识符不能包含空格
命名规范:
-
包名:多个单词组成时所有字母都小写
-
类名,接口名:多单词组成时,所有单词的首字母大写
-
变量名,方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写
-
变量名:所有字母都大写,多个单词时每个用下划线连接
-
起名尽量有意义,即用户可以明白其含义
数据类型:
-
基本数据类型
- 数值型:整数型(byte,short,int,long);浮点型(float,double)
- 字符型(char)
- 布尔型(boolean)
-
引用数据类型
- 类(class)
- 接口(interface)
- 数组(array [ ])
-
数据类型自动提升
- 当容量小的数据类型变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型
byte,char,short(此三个不能互相转换)->int->long->float->double
-
强制类型转换
- 需要使用强转符:()
- 注意点:强制类型转换,可能导致精度损失;整形常量,默认类型为int型;浮点型常量,默认为double型,不要超过类型的最大值
变量:
-
在方法体外,类体内声明的变量为成员变量
-
在方法体内部声明的变量成为局部变量
-
所有变量
- 成员变量:实例变量(无static修饰),类变量(以static修饰)
- 局部变量:形参(方法,构造器中定义的变量),方法局部变量(在方法内定义),代码块局部变量(在代码块内定义)
-
PS:二者都有生命周期,但局部变量除形参外,需显式初始化
String:
- string属于引用数据类型
- 声明时需要使用双引号
- string可以和8中基本数据类型变量做运算,且运算只能是连接运算:+
- 运算结果仍然是string类型
char c= 'a';
int num = 10;
String str = "hello";
System.out.println(c+num+str); //107heloo
System.out.println(c+str+num); //ahello10
System.out.println(c+(num+str));//a10hello
System.out.println((c+num)+str);//107hello
System.out.println(str+num+c); //hello10a
System.out.println("* *"); //* *
// '*'+'\t'(此处为Ascll的值)做运算为int类型
System.out.println('*'+'\t'+'*'); //93
// "\t"为string类型,表示连接
System.out.println('*'+"\t"+'*');//* *
// '*'+'\t'(此处为Ascll的值)做运算为int类型
System.out.println('*'+'\t'+"*");//51*
System.out.println('*'+('\t'+'*')); //* *
System.out.println("hello"+3+4); //hello34