【第三章 Java 二维数组(length和length()、使用)】

第三章 Java 二维数组(length和length()、使用)

1.length和length()
① 在java中String类可以定义字符串变量和字符串数组,length()用于求String字符串对象的长度,而length用于求String字符串数组的长度。
②length()是求String字符串对象中字符的个数,而length是求字符串数组中有多少个字符串。
2.二维数组的使用

package day3;
/**
 * 1.二维数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的元素而存在。
 * 其实,从数组底层的运行机制来看,其实没有多维数组。
 * 2.二维数组的使用
  ①二维数组的声明和初始化;
  ②如何调用数组的指定位置的元素;
  ③如何获取数组的长度;
  ④如何遍历数组;
  ⑤数组元素的默认初始化;
  规定:二维数组分为外层数组的元素,内层数组的元素
  int[][] arr=new int[4][3]
  外层元素:arr[0],arr[1]
  内层元素:arr[0][0]等
    针对初始化方式一:int[][] arr=new int[4][5]
  	外层元素初始化值为:地址值
    内层元素初始化值与一维数组初始化情况相同
      >数组元素是整型:0
      >数组元素是浮点型:0.0
      >数组元素是char型:0或'\u0000'非'0'
      >数组元素是boolean型:false
      >数组元素是string型:null
    针对初始化方式二:int arr[][]=new int[4][];
    外层元素的初始化值为:null
    内层元素的初始化值为:不能调用,否则报错。	
  ⑥数组的内存解析。
 * @author 26312
 */
public class ArrayTest2 {
	public static void main(String[] args) {
		//1.二维数组的声明和初始化;
		int[] arr=new int[] {1,2,3};//一维数组
		//静态初始化
		int[][] arr1=new int[][] {{1,2},{2,3,4},{2,5}};
		//动态初始化1
		String[][] arr2=new String[3][2];
		//动态初始化2
		String[][] arr3=new String[3][];//调用前必须先声明
		//错误写法:
		//String[][] str3=new String[][4];
		//int[4][3] str4=new int[][];
		//int[][] str5=new int[4][3] {{1,2,3},{4,5},{6,7,8}};
		
		//也是正确写法
		int[] arr4[]={{1,2,3},{4,5},{7,8,9,10}};
	    //2.如何调用数组的指定位置的元素;
		System.out.println(arr1[0][1]);//2
		System.out.println(arr2[1][1]);//null
	    arr3[1]=new String[4];
		System.out.println(arr3[1][0]);//调用前须先赋值
		//3.如何获取数组的长度;
		System.out.println(arr4.length);//3
		System.out.println(arr4[1].length);//2
		//4.如何遍历数组
		for(int i=0;i<arr4.length;i++) {
			for(int j=0;j<arr4[i].length;j++ ) {
				System.out.println(arr4[i][j]+" ");
			}
		}
		//5.数组元素的默认初始化
		int array[][]=new int[4][3];
		System.out.println(array[0]);//地址值[I@515f550a
		System.out.println(array[0][0]);//0
		System.out.println("*****************************");
		
		float array1[][]=new float[4][3];
		System.out.println(array1[0]);//地址值[F@626b2d4a
		System.out.println(array1[0][0]);//0.0
		System.out.println("*****************************");
		
		String array2[][]=new String[4][3];
		System.out.println(array2[0]);//地址值[Ljava.lang.String;@7de26db8
		System.out.println(array2[0][0]);//null
		System.out.println("*****************************");
		
		String array3[][]=new String[4][];
		System.out.println(array3[0]);//null
		//System.out.println(array3[0][0]);//报错
		System.out.println("*****************************");
		//6.数组的内存解析。
	}
}

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值