变量
变量按声明位置(作用范围)分为:
- 局部变量:在方法中声明的
- 成员变量:在类中声明的
成员变量分为:- 实例(对象)变量:不加static
- 静态变量:加static
变量按数据类型分为:
- 基本数据类型变量:在内存中存放真正的值,比如:int double char…
- 引用数据类型变量:在内存中存放地址(引用),如String
基本数据类型
又分为四大类,共计8种
整数类型:byte short int long
- 整数类型中默认为int
- 整数类型各自取值范围
short -32768~ - 在Java中,当对byte、short、char类型赋值时,如果没有超出该类型的取值范围则可以直接赋值
- 在Java,取值范围小的类型可以直接赋给取值范围大的类型,构成自动类型转换
long d=6; //构成自动类型转换
d=12345678909; //出现编译错误,因为值默认为int,超出int取值范围
//解决办法:将右侧的值后面添加L或l,此时该值就为long,
//也就是说该值为long类型
d=12345678909L;//没有构成自动类型转换
浮点类型:float double
- 浮点类型默认为double
- 浮点类型各自的取值范围
float y=0.87; //出现编译错误,原因:在java中取值范围大的类型不能直接给取值范围小的类型赋值,
//解决方法第一种:将0.87值变为float类型,也就是在该值后面添加F或f,然后在给左侧float类型赋值
float y=0.87f; //没有构成类型转换
//解决方法第二种:当取值范围大的类型赋给取值范围小的类型时,必须进行强制类型转换,也就是说在该值前面添加(目标类型)
float y=(float)0.87; //构成强制类型转换
字符类型:char
- 字符类型,一次只能存放一个,并且使用英文的单引号引起来
- 一个汉字表示一个字符
- 整数类型和字符类型之间是可以进行相互转换的
ch = 100; //注意:整数值可以给字符类型直接赋值,字符中存放的就是ASCII对应的字符
i = 'a'; //注意:字符也可以直接给int类型赋值,int类型的变量中存放的就是对应字符的ASCII
- 字符类型的取值范围:0-----65535,占两个字节
布尔类型:boolean
- boolean 只能取值true 或 false 不能取值为null 不可以用0或非0的整数代替true或false ,这点和c语言不同
- 布尔类型占一个字节
引用数据类型
分为:
String
用户自定义类型:如Student Computer…
对引用数据类型赋值的方式:
第一种:将对象赋给引用名称
如:s = new Student();
第二种:将null赋给引用名称
如:s = null