/*
1.关键字(keyword)和保留字
*所有关键字都是小写的;
*保留字:现有的Java版本尚未使用,但是以后的版本可能会用:goto,const。
2.标识符--identifier
*凡是可以自己起名字的地方都叫标识符。类名,变量名,方法名,接口名,包名...
*命名规则:*由26位英文字母大小写,0-9,_或$组成。
*数字不能开头;不可使用保留字和关键字;
*无长度限制,不能包含空格
*如果不遵守命名规则,编译不通过
命名规范:
>包名:所有字母都小写
>类名、接口名:多单词组成时首字母大写
>变量名、方法名:多单词组成时,第一个单词首字母小写,第二个开始大写
>常量名:所有字母都大写,单词间用_链接,如XXX_YYY
最后,命名时,要“见名知意”
3.变量
*变量类型 变量名=变量存储的值
*基本数据类型* 整数数值型 byte short int long
1byte=8bit(-128~127); 1short=2byte; 1int=4byte(约21亿); 1long=8byte;
* 浮点数型 float double
float=4byte; double=8byte;
浮点型表示数据范围远大于整数型;但是精度有限,float精确到小数点后7位,double精度是float的两倍。
* 字符型 char
1char=2byte;
*布尔型 boolean
只能取true或false;
*引用数据类型:*类class (字符串在这)
*接口interface
*数组[]
>变量必须声明并初始化后才能使用;
>变量都定义在其作用域内,变量只在作用域内有效;
>变量不可在同一个作用域内反复定义,但是可以反复赋值;
4.运算符
5.程序流程控制
*/
// int 学号 = 1002 编译通过,因为java用的是Unicode编码,但是不建议使用
/*
数字开头
class 1Hello_${
}
*/
/*
关键字做变量名
class static {
}
*/
class IdentifierTest{
public static void main(String[] agrs) {
int myNumber = 1001;
int myAge = 12;
System.out.println(myNumber);
System.out.println(myAge);
//System.out.println(myClass);变量myClass作用域在method类里
//整型变量
byte b1=12;
//byte b2=128;超过范围
System.out.println(b1);
short s1=128;
//定义整型变量常用int
int i1=1234;
long l1=12341234L; //定义long型变量,必须以l或L结尾。
//浮点型变量
float f1=12.3f;//定义float变量时,要以f或F结尾;
double d1=123.4;//通常定义浮点型变量时,使用double,因为他范围更大,精度更高
//字符类型
char c1='a';//定义char变量通常使用一对单引号'',且引号内只能有一个字符;
char c2='\n';//换行符
char c3='\t';//制表符
System.out.println(s1+c2);
System.out.println(i1+c3);
System.out.println(l1+f1+d1+c1);
//布尔类型,多用于判断语句
boolean isMarried=true;
if(isMarried) {
System.out.println("你不能参加'单身'party了");
}
else {
System.out.println("你应该多谈朋友");
}
//基本数据类型直接的运算(不包含布尔型)
//1.自动类型提升:容量小的与容量大的变量做运算,自动往容量大的类型转换
//****byte、short、char->int->long->float->double****
byte b=2;
int i=12;
float f=234;
char c='a';//97
short s=12;
System.out.println(b+i);
System.out.println(f+i);//输出246.0
//************特别的,当byte、char、short运算时,结果变成int***********
System.out.println(c+s);//输出109,变成int类型
System.out.println(c+b);//输出97+2=99,变成int型
//******************************************************************
//2.强制类型转换
double d=100.3;
int ii=(int)d;//强制类型转换例子
char b2=(char)ii;
System.out.println(ii);
System.out.println(b2);//输出d(97为a)
//*************************特例1
long l=123231;//结尾没加l,编译通过,默认123232为int型,再自动类型转换成long.
System.out.println(l);
//long ll=123475624589890;结尾没加l,编译不通过,因为这个数超过了Int的范围.
//*************************特例2
byte b=12;
//byte b1=b+1;编译失败,因为整型常量1默认为int类型,int型不能自动转换成byte型。
}
public void method() {
int myClass=1;
System.out.println(myClass);
}
}