一,基础语言要素
1,标识符:给类,方法,变量起的名字。
1)必须以字母,下划线和$符号开头,不能以数字开头,其余字符可以是字母,下划线,$符号和数字
2)只能包含两个特殊符号,下划线 _和$符号,不允许有任何其他的特殊符号
3)区分大小写
4)标识符不能包含空格
2,关键字:只有系统才能用的标识符
1)true,false,null不是关键字!是字面量
2)main不是关键字,但是是一个特殊的单词,可以被JVM识别,主函数是固定格式,作为程序的入口。
二,八中基本数据类型
1)四种整数类型(byte,short,int,long)
byte:8位,范围:-2^7——2^7-1
short:16位 ,范围:-2^15——2^15-1
int :32位,范围:-2^31——2^31-1
long:64位,范围:-2^63——2^63-1
注意:整数字面量默认值是int类型,所以定义long类型数据后边加“l”或“L”
2)两种浮点数类型(float,double)
float:32位,后缀为F或f,
double :64位,后缀为D或d,
注意:浮点数字面量默认值是double,所以定义float类型时,后边加F
3)一种字符类型(char)
char:16位,是整数类型。用单引号括起来的一个字符(可以是一个中文字符),使用Unicode码代表字符,0~2^16-1
注意:·不能为0个字符
转义字符:\n换行,\t回车,\"双引号,\\单斜杠
两字符char之间使用“+”连接,内部先把字符转成int类型,再进行加减运算。char实质是一个数!显示的时候,经过处理显示为字符
4)一种布尔类型(boolean)
true false ;
5)类型转换
char--->
自动转换: byte--->short--->int--->long--->float--->double
强制转换:①会损失精度,小数点之后的数字全部舍弃;②容易超出取值范围
三,常量和变量
1,变量:内存中一块存储空间,可以保存当前数据。在程序运行过程中,其值可以改变。
1)必须声明且初始化之后使用。(在同一作用域中不能重复声明)
2)变量必须明确类型
3)变量有作用域,变量作用域越小越好
4)局部变量在使用时一定要初始化!成员变量在对象创建后有默认值,可以直接使用。
5)在方法中定义的局部变量在方法被加载时创建。
2,常量:在程序运行时,其值不改变。
3,不管常量还是变量,1,必须先定义,才能被使用。即现在内存中开辟存储空间。才能往里边存入数据。2,其存储空间有数据类型的差别。即有些变量存储空间存储整数,有些变量存储空间存储小数
四,运算符和表达式
1)数学运算:+ - * / % ++ --
注意:
①+-*/两端的变量必须是同种类型,并返回同种类型 ;
②%取于运算,负数的余数符号与被模数符号相同,-1%5=-1,1%-5=-1 ;
③注意整除问题:1/2=0(整数的除法算式整除0.5=0) 1.0/2=0.5
自增自减
int a=1; b=a++; System.out.println(a) ; sop(b) ; a=2;b=1 |
自增自减
x,y,z分别是5,6,7 计算z+=--y*z++; z=z+--y*z++ ----->42=7+5*7 从右往左入栈 |
2)位运算:& | ~ ^ >> << >>>
3)关系运算符:> < >= <= == !=
4)逻辑运算符:&& || ! & |
短路运算:&&:前边为false,则后边不运算,||:前边为true则后边不运算
5)条件运算符(三目运算)
表达式1?表达式2:表达式3
注意:三目运算符:表达式2和表达式3如果都为基本数据类型,则计算结果由容量高的决定。如:int x=4; x>4?99.9:9 ;,99.9为double类型,9为int类型。double容量高,所以结果为9.0