一, java数据类型图:
┏数值型━┳━整数型:byte ,short, int ,long
┏基本数据类型━━┫ ┗━浮点型:float ,double
┃ ┣字符型:char
数据类型╋ ┗布尔型:boolean
┃
| ┏类(class)
┗引用数据类型━━╋接口(interface)
┗数组(array)
字符串(String)
引用数据类型:引用数据类型以特殊方式指向对象实体,声明引用数据类型数据时 不会分配内存,只是存储了一个地址。
例如:int[] arrayNumber01={1,5,3,6,4,13}; 想要打印此数组元素,那么用
System.out.println(arrayNumber01);来打印时 ,输出的是乱码 这个东西: [I@337b5179,其实这个是这个数组的地址。
如果想要打印数组的具体对象实例(值)那么:String intTotString=Arrays.toString(arrayNumber01);
System.out.println(intToString);
此知识点的应用:1)“==”用在引用数据类型之间,判断内存地址是否相等,判断内容实体(值)是用equals
2)基本数据类型传值,传参是副本,修改后原值不改变,引用数据类型传的是地址,修改后原值改变。
代码:
import java.util.Arrays;
public class ArrayTest
{
/*一,定义一个数组*/
//1.第一种第一方法:叫动态定义,定义数组的同时制定了数组的长度。
String arrayOne[]=new String[4];
//2.第二种定义方法:分配了内存空间的同时还初始化值。
String arrayTwo[]={"abc","a","b","bcd"};
//3.第三种定义方法
String[] arrayThre=new String[]{"a","b","abcd"};
/*二,打印数组中的元素*/
public void arrayTest01()
{
int[] arrayNumber01={1,5,3,6,4,13};// 数组一
int[] arrayNumber02={1,5,3,6,4,13};//数组二
//用equals来判断数组一和数组二相不相等
System.err.println(arrayNumber01.equals(arrayNumber02));
System.out.println("\n");//换行
//用“==”来判断数组一和数组二相不相等。
System.out.println(arrayNumber01==arrayNumber02);
//输出数组arrayNumber01
System.out.println(arrayNumber01);//因为数组是引用类型所以它输出的内存地址
//用Arrays.toString来转换
String numToString=Arrays.toString(arrayNumber01);
System.out.println(numToString);//转换后输出的是对象实体(值)
}
public static void main(String[] args)
{
ArrayTest one=new ArrayTest();
one.arrayTest01();
}
}
输出结果: