1.关键字和保留字
2.标识符
1.标识符的作用:凡是可以自己起的地方都叫标识符
比如:类名,方法名,变量名,接口,包名
2.标识符的命名规则: (如果不遵守不通过)
-
由26字母大小写 ,数字,下划线_,美元符号$组成
-
不能由数字开头
-
不可以使用关键字和保留字,但可以包含关键字和保留字
-
java中严格区分大小写,长度不限
-
标识符不能包含空格
3.java中的名称命名规范
(不遵守可以编译,建议遵守)
-
包名:多单词组成时所有单词都是小写xxxyyyzzz
-
类名,接口名:多单词组成时,所有单词的的第一个单词首字母大写 XxxYyyyZzzz
-
变量名,方法名:多单词组成时,第一个单词的首字母小写,第二个单词之后的首字母大写 xxxYyyZzz
-
常量名:所有字母都要大写,多个单词之间要用下划线连接XXX_YYY_ZZZ
-
注意:起名称要见名知意
4.变量的定义
1.java定义的格式:数据类型 变量名= 变量的值
//变量的定义 int myAge=18; System.out.println(myAge); //变量的声明 int myNumber; //变量的赋值 myNumber=1000; System.out.print(myNumber);
2.说明:
-
变量必须先定义,后声明
int myNumber;//错误的例子, System.out.print(myNumber); myNumber=1
-
变量都定义在其作用域内,出了{}定义域就失效了
-
变量只有在其作用域内才有效
-
同一个定义域中,不能定义同一个变量名
变量的分类
1.按照数据类型来分
基本数据类型:
整型:byte(1个字节 范围-128--127),short (2个字节),int(4个字节),long(8个字节)
浮点型:float,double
字符型:char
布尔型:Boolean
-
byte的范围:-128-127
-
声明long型变量,必须用“l”或“L”结尾
long myAge=10L; System.out.println(myAge);
-
通常定义整型变量时,使用int型
浮点型:单精度flaot(4个字节)/双精度double(8个字节)
-
浮点型:表示小数点的数值
-
flaot表示数值的范围比long还大
-
定义flaot类型变量时,变量要以“f”或者“F”结尾
float f1=123.4f; System.out.println(f1);
-
通常,定义浮点型变量时,使用double型
字符型:char(1个字符=2个字节)
-
定义char型,通常使用一个单引号'',内部只能写一个字符
char c1='a'; char c2='中';
-
表示方式:1.声明一个字符,2.转义字符3.制表符
char c4='\n'; System.out.print("hello"+c4); System.out.print("world");
-
布尔型:boolean
//4.boolean 布尔型 //只能使用两值之一:true false //常常在判断条件,循环结构中使用 // “\”的使用 \\nno // \n :换行 若前面加个\ 输出 \n boolean isMarryed=true; if(isMarryed){ System.out.println("\\nno"); }else { System.out.println("false"); }
-
引用数据类型:
类:class
接口:interface
数组:array
基本数据类型之间的运算规则
前提:讨论的是7种基本数据类型,不包含Boolean类型
1.自动类型提升:
结论:当容量小的数据类型的变量间的运算和容量大的数据类型之间的变量,运算 最后生成容量大的数据类型之间的变量
byte ,char,short-> int ->long ->float -> double
特别的 byte ,char,short三种类型的变量之间做运算时,结果为int型,或者可以转化为更高的类型
byte b1=2; int i=100; int b2=b1+i; System.out.println(b2);//编码成功 102 short s1=3; double s2=b1+s1; System.out.println(s2);//编码成功
说明:此时的容量的大小是:表示数的范围的大小*/
/*编码错误 byte b1=2; int i=100; byte b2=b1+i; */ //System.out.println(b2); //编码正确 byte b1=2; int i=100; int b2=b1+i; System.out.println(b2);
2.强制类型转换
/*强制类型转换:自动类型提升运算的逆运算1.需要使用强转符:()2.强制类型转换,可能导致精度损失
//精度损失 eg1 double d1=10; int i1=(int)d1; System.out.println(i1); //没有精度损失 long l1=10; short s1=(short)l1; System.out.println(s1);
变量的两个特殊情况
//情况一: 123为int型 ,int转换为long 小——大 long l=123; System.out.println(l); //情况二: 12345678455454为int型, 因为12345678455454超过了int型的范围 //原因:过大的整数:12345678455454 // long l1=12345678455454; //System.out.println(l1); //编译错误 :原因:double 不能自动转换为float 需要强制类型转换 //float f1=12.0; //编码情况三: byte b=12; //byte b1=b+1;//1为int转化为byte,有精度损失 编译错误; //float f1=b+12.3 //double自动转换为float,有精度损失,编译错误; b可以自动转换为float
String变量的使用
String变量的使用1.String属于引用数据类型,翻译为“字符串”2.声明String类型变量时,使用一对双引号"";
3.String可以和8中基本数据类型做运算,且运算只能用连接运算
4.与String运算后的结果为String类型
String s1="liuyujie"; System.out.println(s1); String s2="a"; String s3=""; //char c1='';编译不通过 : char类型里面不能少写也不能多写内容 /*************************** int number=1001; String numberStr="学号:"; String info=numberStr+number; System.out.println(info); boolean b1=true; System.out.println(info+b1);