Java数据类型
Java中的数据类型分为两大类,基本数据类型和引用数据类型。
1 基本数据类型
基本数据类型只有八种,可按照如下分类
-
整数类型 :
longintshortbyte -
浮点类型:
floatdouble -
字符类型:
char -
布尔类型:
boolean
| 数据类型 | 大小/位 | 可表示数据范围 | 默认值 | 封装器类 | |
|---|---|---|---|---|---|
| 1 | byte | 8 | -128~127 | 0 | Byte |
| 2 | short | 16 | -32768~32767 | 0 | Short |
| 3 | int | 32 | -2147483648~2147483647 | 0 | Integer |
| 4 | long | 64 | -9223372036854775808~9223372036854775807 | 0 | Long |
| 5 | float | 32 | -3.4E38~3.4E38 | 0.0 | Float |
| 6 | double( | 64 | -1.7E308~1.7E308 | 0.0 | Double |
| 7 | char | 16 | 0~255 | '\u0000' | Character |
| 8 | boolean | 1 | true或false | flase | Boolean |
2.引用数据类型
Java有 5 种引用类型(对象类型):类 接口 数组 枚举 注解
例如,String类型就是引用类型。
简单来说,所有的非基本数据类型都是引用数据类型。
基本数据类型和引用数据类型的区别
基本数据类型
在方法定义的非全局基本数据类型变量的具体内容是存储在栈中
引用数据数据类型
只要是引用数据类型变量,其具体内容都是放在堆中,而栈中存放的是其具体内容所在内存的地址
public class Main{
public static void main(String[] args){
//基本数据类型
int i=5;
char=i;
//引用数据类型
String str="Hello";
}
}

传递方式
基本变量类型
在方法中定义的非全局基本数据类型变量,调用方法时作为参数是按数值传递的
ps:值传递等于复制一份自己给方法,本身的值不会被改变
public class Main{
public static void main(String[] args) {
int a=100;
System.out.println("调用方法前a的值"+a);
fun(a);
System.out.println("调用方法后a的值"+a);
}
private static void fun(int temp) {
temp=0;
}
}

引用变量类型
引用数据类型变量,调用方法时作为参数是按引用传递的
ps:引用传递等于将自己传递过去了 ,本身的值是会被改变的
public class Main {
public static void main(String[] args) {
Book book=new Book();
System.out.println("调用方法前的"+book);
set(book);
System.out.println("调用方法后的"+book);
set
}
private static void set(Book set) {
set.setBookNum(1314);
set.setName("《YOU》");
}
}
class Book{
private String name;
private int bookNum;
public Book(String name, int bookNum) {
this.name = name;
this.bookNum = bookNum;
}
public Book() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getBookNum() {
return bookNum;
}
public void setBookNum(int bookNum) {
this.bookNum = bookNum;
}
@Override
public String toString() {
return " 书名:'" + name + '\'' +
", 书号:" + bookNum ;
}
}


浙公网安备 33010602011771号