-
标识符的命名规则有哪些?
Java中的标识符只能使用字母大小写、数字0-9、美元符号$、下划线_
Java中的标识符不能使用关键字、保留字、特殊值,例如class、viod、public、static
不能使用空格
不能以数字开头
Java标识符严格区分大小写
- 标识符的命名规范有哪些?
类名、接口名,每一个单词的首字母都要求大写,形式:WwwYyyZzz
例如:HelloWord
变量名、方法名,要求从第二个单词开始,首字母大写,其他小写,形式:xxxYyyZzz
例如:nextInt()
Java包名要求字母都小写,单词以.隔开,形式:xxx.yyy.zzz
例如:java.io
常量名,要求所有字母大写,以_隔开,形式:XXX_YYY_ZZZ
- Java变量按照数据类型怎么划分?并指出Java的基本数据类型有那八种,并指出各自占用的内存大小?
byte:1个字节,8位,-128~127 最大存储数据量 255
short:2个字节,16位,-32768~32767 最大存储数据量 65535
char:2个字节,16位,存储Unicode编码,用‘’
int:4个字节,32位,负的2的31次方~2的31次方-1 最大存储数据量 2的31次方-1
float:4个字节,32位
double:8个字节,64位
long:8个字节,64位,负的2的64次方~2的64次方-1 最大存储数据量 2的64次方-1
- 说明基本数据类型变量之间自动类型提升的运算规则 ?
基本数据类型之间的运算规则
只讨论7种基本数据类型变量之间的运算,不包含boolean类型1,自动类型提升
当容量小的数据类型变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型
此时的容量大小指的是表示数的范围大小,不是占用字节的大小,比如float(4个字节) 的容量大于long(8个字节)的容量
byte–>short–>int–>long–>float–>double
byte,char,short–>int–>long–>float–>double
byte,char,short三个互相做运算时输出都是int或更大的类型
2,强制类型转换
是自动类型提升运算的逆运算
1, 需要使用强转符号()例如long l1 = 112.9L;short s1 = (short)l1; 输出为112,只取整数部分。
2,使用强制类型转换,可能会出现精度损失。注意
1,编码情况
long 1 = 122;也可以编译通过,会默认为int类型
long l2 = 12345673333;编译不通过,超出int范围,需要末尾加L,
float f1 = 12.3;编译失败,必须加F,因为默认为double类型。
2,编码情况2
byte b = 12;
byte b1 = b + 1;编译失败,数字1为整数型常量,默认为int型,小数型默认为double
说明基本数据类型变量之间强制类型转换的使用规则和强转可能出现的问题 ?
1.自动类型提升
这里只是讨论七种数据的运算(不包含布尔型,因为布尔型只有两种情况:false和true)
当容量小的数据类型变量与容量大的数据类型变量做运算时,结果自动提升为容量大的数据 类型
即 容量小的数据类型变量+容量大的数据类型变量=容量大的数据类型变量
byte→short→int→long→float→double
说明:此时的容量大小指的是,表示数的范围的大和小。
比如:float容量要大于long的容量
特别的:当byte,short,char三种类型的变量做运算时,结果为int.
①要使用强转符()
②注意,强制类型转换,可能会导致精度损失(降低或溢出)
容量小的数据类型变量→容量大的数据类型变量,不会丢失原有信息。
容量大的数据类型变量→容量小的数据类型变量,可能会丢失原有信息。
通常:字符串不能直接转换为基本类型,但能通过基本类型对应的包装类则可以实现把 字符 串转换成基本类型。
如:String x = “65”; int i= lnteger.parselnt(x)
boolean类型不可以转换为其他类型的数据



