```Ⅰ. 常量
1.常量在声明之后只能初始化一次,之后不能再修改,在运行期间不能改变
2.Java中声明常量的关键字为:final
3.final可以不在定义的同时进行初始化,但是一旦被初始化之后就不能再改 变;final不仅可以修饰变量,还可以修饰函数,接口,类等等
(final int x=1;)
***Ⅱ.变量
- 8种内置类型(简单类型):int short long double float char byte boolean
数值类型:int long short double float
字符类型:char
字节类型:byte
布尔类型:boolean
. int:四个字节 默认值为0
System.out.println(Integer.MAX_VALUE);//int的最大值
.short:两个字节 默认值为0
System.out.println(Short.MAX_VALUE);//short的最大值
.long: 八个字节 默认值为0
System.out.println(Long.MAX_VALUE);//long的最大值
.double:八个字节 默认值为0.0f
System.out.println(Double.MAX_VALUE);//double的最大值
.float: 四个字节 默认值为0.0d
System.out.println(Float.MAX_VALUE);//float的最大值
.char:两个字节 默认值:‘\u0000’ 没有符号位 范围:0~65535
.byte:一个字节 默认值为0 范围:-128~127
.boolean:没有明确的字节大小 初始值只有true和false 默认值false
2.字符串类型
string:引用类型 没有\0结尾
转义字符:
\n 换行
\t 水平制表符
\‘ 单引号
\“ 双引号
\ 反斜杠
"+"操作:当一个含有“+”的表达式中存在字符串的时候,都是执行字符串拼接行为
变量作用域:变量声明后有效的程序范围/能被访问到的范围;
基本数据类型变量存放在虚拟机栈(虚拟机栈容量较小,但运算速度较快);
局部变量:声明在方法或者小的语句块中的变量;在第一次使用之前必须进行初始化;
Java中变量作用域在声明该变量的代码块内,当代码块执行结束,块内所有的变量生命结束,内部代码块可以访问外部代码块中的变量;
变量的命名规则:只能包括数字、字母、下划线(数字不能开头);
小驼峰命名法:除了第一个单词,后面的每一个单词的首字母大写(maxNum)
Ⅲ.类型转换
java是强类型语言,对类型有严格要求
-
不同数字类型的变量之间赋值,表示范围更小的类型能隐式转换成范围较大的类型;
-
数值类型和布尔类型不能相互赋值,也不能通过强制类型转换实现;
-
使用字面值常量赋值的时候,java会自动针对数字范围进行检查,判定复制是否合理;
-
强制类型转换(可能会引起精度丢失):a=(目标转换类型)b;
short类型和char类型相互复制一定要进行强制类型转换; -
cpu是以4个字节为单位来进行内存的读写数据,所以当数据不够四个字节时都会先把数值类型提升为四个字节。