标识符:
1.规则
组成:数字,字符,下划线,$
开头:字符,下划线,$, 不能以数字开头
关键字:java语言中有一些具有特殊用途的单词被称为关键字,定义标识符的时候不能与关键字相同
java中所有的关键字都是小写的,TRUE FALSE NULL都不是java的关键字
java中一共包含48个关键字,goto const两个保留字,3个特殊的直接量:true false null
2注意:
java是严格区分大小写的,所以area,Area,AREA是完全不同的标识符。
变量
注意:方法中声明的变量在使用之前必须被赋值
常量:声明和赋值必须在同一条语句eg:final datatype constantname=value;
数值运算符
除法/ :当除法的操作数都是整数事,除法的结果就是整数,小数部分被舍弃;
为了实现通常意义的算数除法,其中一个操作数必须是浮点数
5/2=2, 5.0/2=2.5
取余%特殊地方:%也可以用在负整数和浮点值中,只有当被除数是负数时,余数才是负值
eg:-7/3=-1;-12/4=0;20/-13=7
java数据类型:基本类型+引用类型
基本类型:boolean类型+数值类型
数值类型:整数类型+浮点类型
整数类型:
byte 1个字节
short 2个字节
int 4个字节
long 8个字节
浮点类型:
float 4个字节
double 8个字节
java中提供了3个特殊的浮点数值:正无穷大,负无穷大,非数,用于表示溢出和出错;且所有的正无穷大都是相等的,所有的负无穷大都是相等的,非数不与任何数相等。
注意:只有浮点数除以0才可以得到正无穷大或是负无穷大的,,因为java会自动把和浮点数运算的0当成0.0,如果一个整数值除以0,则会抛出异常。
字符类型 :
char 2个字节(java使用十六位的Unicode字符集作为编码方式)
布尔类型:
boolean 1位
自动类型转换图示:
将一个数值付给支持更大数值范围类型的变量,是自动的,这里的范围表示的是不同的基本类型所能表示的数值范围,double>float>long
表达式类型的自动提升
eg:
short value=5;
value =value-2;//此时将一个int类型值赋值给short将发生错误,value-2表达式已经提升为int型,不增加强制转化是错误的。
自动提升的规则:
1.所有的byte char short被提升为int型
2.整个算术表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型。
eg:
System.out.print("hello"+'a'+7)//helloa7
system.out.println('a'+7+"hello")//104hello
why?
第一个表达式先进行“hello”+'a'将a转化为字符串,在拼接
第二个表达式先进行‘a'+7,是将a自动提升为int型,变成a的ASCII码97