6. java之二维数组

1.一维数组:在内存开辟一段连续的空间用来存值.

2.二维数组:在内存开辟一段连续的空间用来存值,每个空间存的是一个一维数组.

3.n维数组:在内存开辟一段连续的空间用来存值,每个空间存的是一个n-1维数组.

4.二维数组特征:

4.1:二维数组是引用数据类型.
4.2:二维数组的四个组成部分(四要素):数据类型,数组名,元素(二维数组每个元素是一个一维数组),索引(二维数组的索引,二维数组每个元素即一维数组也有索引).
4.3:同一个数组中,元素的数据类型相同,不同的数组数据类型可不同.
4.4:访问二维数组中每个空间:数组名[二维数组的索引]
	访问二维数组中每空间中一维数组中每个元素:
			数组名[二维数组的索引][一维数组的索引]
4.5:二维数组的长度:数组名.length
	二维数组的每个元素即一维数组长度:数组名[二维数组索引].length
4.6:二维数组的索引范围:0~数组名.length-1.
	二维数组的每个元素即一维数组索引范围:0~数组名[二维数组索引].length-1
4.7:数组的索引不能超过索引范围,如果超过就报ArrayIndexOutOfBoundsException
4.8:二维数组一但分配了空间,它的长度是固定.
4.9:二维数组不赋初值,系统会默认给二维数组的每个一维数组分配初始值
	数组类型   默认初始值
	   int		0
	   double	0.0
	   char       \u0000,在window系统下解析是空格
	   String	null
	   boolean	false
4.10:数组一但分配了空间,就可以使用.
4.11:数组直接输出,输出的是内存地址.

5.二维数组使用

5.1:二维数组声明的语法:数据类型[][] 数组名;(推荐)
					数据类型 数组名[][];
	eg://声明二维数组
	String[][] stuName1;
	int stuAges1[][];

5.2:二维数组分配空间
	5.2.1:给已经声明二维数组分配空间:二维数组长度固定,每个一维数组长度不定.
			数组名=new 数据类型[二维数组的长度][]
			数组名[二维数组索引]=new 数据类型[一维数组的长度];

	5.2.2:给已经声明二维数组分配空间:二维数组每个元素即一维数组的长度也固定.
			数组名=new 数据类型[二维数组的长度][一维数组的长度];

	5.2.3:在声明二维数组的同时分配空间:
			数据类型[][] 数组名=new 数据类型[二维数组的长度][]
			数组名[二维数组索引]=new 数据类型[一维数组的长度];

	5.2.4:在声明二维数组的同时分配空间:
		数据类型[][] 数组名=new 数据类型[二维数组的长度][一维数组的长度];
	eg://第一种:给数组分配空间
	stuName1=new String[3][4];
	
	//第二种:给数组分配空间
	stuAges1=new int[3][];
	stuAges1[0]=new int[2];
	stuAges1[1]=new int[4];
	stuAges1[2]=new int[3];
	
	//第三种:声明数组同时分配空间
	double[][] height1=new double[3][2];
	
	//第四种:声明数组同时分配空间,一维数组长度不定
	double[][] weight1=new double[2][];
	weight1[0]=new double[3];
	weight1[1]=new double[2];

5.3:二维数组赋值
	5.3.1:动态赋值:在任何情况下都可以用.
		  数组名[二维数组索引][一维数组索引]=;
		  eg://给二维数组动态赋值
	stuName1[0][0]="张三1";
	stuName1[0][1]="张三2";
	stuName1[0][2]="张三3";
	stuName1[0][3]="张三4";
	
	stuName1[1][0]="李四1";
	stuName1[1][1]="李四2";
	stuName1[1][2]="李四3";
	stuName1[1][3]="李四4";

	5.3.2:静态赋值:在数组元素已知时候用
		5.3.2.1:将声明数组,给数组分配空间,静态赋值合三为一语法:
	数据类型[][] 数组名=new 数据类型[][]{{值10,值11...},{值20,值21...}...};

		5.3.2.2:将声明数组,给数组分配空间,静态赋值合三为一语法:
				数据类型[][] 数组名={{值10,值11...},{值20,值21...}...};
		eg://给数组静态赋值
	int[][] stuAges2=new int[][] {{20,30},{23,24,25}};
	
	//给数组静态赋值
	double[][] height2= {{1.75,1.8},{1.7,1.72},{1.6,1.69}};

5.4:二维数组遍历
	eg:/*用for循环遍历二维数组*/
	//外层循环遍历二维数组每个空间
	for (int i = 0; i < stuName1.length; i++) {
		//内层循环遍历二维数组每个元素即一维数组每个空间
		for (int j = 0; j < stuName1[i].length; j++) {
			System.out.print(stuName1[i][j]+"\t");
		}
		//输出二维数组每个空间的一维数组后换行
		System.out.println();
	}
	
	System.out.println("*****************************************");
	/*用增强版for循环遍历二维数组*/
	//外层循环遍历二维数组每个空间
	for (double[] ds : height2) {
		//内层循环遍历二维数组每个元素即一维数组每个空间
		for (double d : ds) {
			System.out.print(d+"\t");
		}
		//输出二维数组每个空间的一维数组后换行
		System.out.println();
	}

6.文档注释:/*注释内容/

6.1:适用范围:在类上,成员属性上,成员方法上.
6.2:作用:解释说明这个类,属性,方法的作用;
	方便调用者用对象调用属性和方法时,不能看这个类的源码都知道这个属性和方法的作用;
	生成当前工程的JavaDoc文档.
6.3:文档注释常用标签:
 
6.4:根据文档注释生成javadoc文档
	生成javadoc文档:package explore中选中项目-》鼠标右键-》export-》java/javadoc-》下步-》选中要生成文档注释的项目,同时在destination后面选			择文档生成的目的地-》下一步,下一步-在vm option选择下写字符编					码-encoding UTF-8 -charset UTF-8  -》下一步,点完成。 

7.程序错误叫bug,调试错误debug

7.1:编译出错:代码一写完,就报一条红线或报红X.
	    原因:语法写错了,变量超过作用范围.
7.2:运行出错:代码写完后不报错,一运行就报错或一运行就不按你写的流程执行.
		原因:代码设计不合理或者写错了.
7.3:解决运行出错:
	7.3.1:代码调试:原理:程序由main开始由上到下一行一行执行.
			做法:在认为有问题的代码地方:System.out.println();
	7.3.2:断点调试:
		7.3.2.1:在认为有问题设置断点:在行号旁双击.
		7.3.2.2:启动程序调试:点击debug运行(虫子按纽).
		7.3.2.3:一步一步运行,观察Variables这个变量窗体,通过变量变化和代码执	行找到错误.
				F6:单步跳过,执行完当前行代码,接收执行下一行代码.
				F5:单步跳入,跳到这行代码底层去执行.
		7.3.2.4:解决错误或异常.
		7.3.2.5:取消断点.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值