数据类型
Java 语言支持的数据类型分为两种
- 基本数据类型
- 引用数据
一、基本数据类型
包括 boolean(布尔型)、float(单精度
浮点型)、char(字符型)、byte(字节型)、short
(短整型)、int(整型)、long(长整型)和 double
(双精度浮点型)共 8 种。
基本类型的访问是按值访问的,就是说你可以操作保存在变量中的实际的值。有如下特点: 1、基本数据类型的值是不可变的(我们不能给基本数据类型添加属性和方法); 2、基本数据类型的比较是值的比较(只有他们的值相等的时候才是相等的); 3、基本数据类型的变量是存放在栈里面的
| 数据类型 | 关键字 | 占用内存 | 取值范围 |
|---|---|---|---|
| 字节型 | byte | 1字节 | -128~127 |
| 短整型 | short | 2字节 | -32768~32767 |
| 整型 | int | 4字节 | -2147483648~2147483647 |
| 长整型 | long | 8字节 | -9223372036854775808L~9223372036854775807L |
| 单精度浮点型 | float | 4字节 | +/-3.4E+38F(6~7 个有效位) |
| 双精度浮点型 | double | 8字节 | +/-1.8E+308 (15 个有效位) |
| 字符型 | char | 2字节 | ISO 单一字符集 |
| 布尔型 | boolean | 1字节 | true 或 false |
二、引用类型
对象是属性和方法的集合,也就是说引用数据类型可以拥有属性和方法,属性又可以包括基本数据类型和引用数据类型。有如下特点: 1、引用数据类型可以拥有属性和方法,且值是可变的; 2、引用数据类型的值是同时保存在栈内存和堆内存的对象
char类型:
char = 97; 正确的 //97是编码对应的码值codePoinAt 。
编码和数字之间的转换:
栈内存:读写速度快,存储基本类型,引用类型的 变量。
堆内存:存储对象,内存动态分配。
基本类型和引用类型的区别
基本类型的演示:
public static void main(String[] args){
int A=12;
System.out.println("改前为"+A);
change(A);
System.out.println("改后为"+A);
}
public static void change(int z){
z*=2;
System.out.println("方法内为"+z);
}
引用类型的演示:
将数组转换成字符串输出
public static void main(String[] args){
String [] books = new String[] {"javascript","java","spring"};
//将数据转换为字符串输出
System.out.println(Arrays.toString(books));
}
更改数组中的元素值
public static void main(String[] args){
String [] books = new String[] {"javascript","java","spring"};
//将数据转换为字符串输出
System.out.println("改前为:"+Arrays.toString(books));
//调用方法
conversion(books);
System.out.println("改后为:"+Arrays.toString(books));
}
public static void conversion(String[] test){
//通过下表更改,默认从0开始
test[0]="mysql";
test[1]="jsp";
test[2]="mybaits";
System.out.println("方法内为:"+Arrays.toString(test));
}
附带一个面试题:
判断下面两段代码的正确性,并指出原因
//代码1
short s=1;
s=s+1;
//代码2
short s=1;
s+=1;
答案:代码1是错误的,代码2是正确的
原因:整型在Java中默认为整型,所以对于代码1等价于 int=short+1.
注意:小数默认为双精度浮点型。