Java数据类型和参数传递
在Java中,boolean、byte、short、int、long、char、float、double这八种是基本数据类型,其余的都是引用类型
1.对于基本数据类型来说,java实现的是值传递,方法接收参数的值,但不能改变这些参数的值。
2.对于引用数据类型来说,java实现的仍是值传递,但引用数据类型里的值是对象的地址,所以方法中对数据的操作可以改变数据的值。
import java.io.*;
public class PassTest{
float ptValue;
public static void main(String args[]) {
int val;
PassTest pt=new PassTest();
val=11;
System.out.println("Original Int Value is:"+val);
pt.changeInt(val); //值参数
System.out.println("Int Value after Change is:" +val); //值参数值的修改,没有影响值参数值
pt.ptValue= 101f ;
System.out.println("Original ptValue is:"+pt.ptValue);
pt.changeObjValue(pt); //引用类型的参数
System.out.println("ptValue after Change is:"+pt.ptValue);//引用参数值的修改,改变参数值
}
public void changeInt(int value){
value=55; //在方法内部对值参数进行了修改
}
public void changeObjValue(PassTest ref){
ref.ptValue=99f; //在方法内部对引用参数进行了修改
}
}
3.当我们声明一个引用类型变量时,系统只为该变量分配了引用空间,并未创建一个具体的对象;当用new为对象分配空间后,将对象的引用赋值给引用变量。
4.数组
基本数据类型一维数组内存分配
若num=null,相当于切断了和对象之间的关系。那它的对象就成为了一个垃圾内存。
对象数组的内存分配