Java教程

Java Part1 Day7 数组的概念及声明 数组的赋值及获取元素 数组的遍历 数组的应用之排序 数组的其他应用

本文主要是介绍Java Part1 Day7 数组的概念及声明 数组的赋值及获取元素 数组的遍历 数组的应用之排序 数组的其他应用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

方法及数组

一、内容回顾

1、break 跳出 switch 循环

​ continue 用在循环中

​ break如何跳出指定的循环: 使用标记

2、什么是方法?完成特定功能的有名称的代码块

​ 作用:代码复用

3、声明的语法:

public static void/数据类型 名(数据类型 参数名,数据类型 参数){

​ //方法体

​ return 变量

}

4、形参:声明方法时定义的参数

​ 实参:调用方法时使用的参数

5、

public static int sum(int num){
	int sum=0;
	for(int i=3; i<=num; i=i+3){
		
		sum+=i;
		
	}
	return sum;
}

6、main(){

​ //调用方法

​ int sum=sum(100);

}

7

二、今日内容

1、作业讲解

2、数组的概念及声明

3、数组的赋值及获取元素

4、数组的遍历

5、数组的应用之排序

6、数组的其他应用

1、作业讲解

1、编写方法,给两个数,计算最大公约数

2、打印等腰三角形

​ 分析:

​ 二重循环:

​ 外层:行数 3 4 3 4

​ 内层:打印空格 找空格的规律 1行 2个空格 1 3

​ 打印* 2 1 2 2

​ 换行 3 0 3 1

​ 4 0

空格的规律:空格的个数=总行数-当前行数

*的规律 *的个数=2*行数-1

3

1 1

2 3

3 5

2、数组的概念及声明

问题:存放班级里35名同学的名字?

​ 可以声明变量来存储,但是麻烦、繁琐

技术的升级:由变量 ----》数组

概念:是一组(若干个)数据类型相同的变量的集合

特点:1、同一个数组里的所有值,数据类型都相同

​ 2、内存空间连续

​ 3、存放元素的个数固定(不能动态加长、也不能缩短)

声明:创建数组、分配内存空间

public static void main(String[] args) {
		// TODO Auto-generated method stub
		//声明数组  array
		String[] aryName=new String[5];  //0 1 2 3 4
		int[] aryScore=new int[5];
		//数组的相关概念
		//数组长度:数组里存放值的个数
		//下标/索引:java给数组值的编号,第一个是0,以此类推
		//数组元素/元素:就是数组里存放的值
		//获取数组中的元素:数组名[索引]
		System.out.println(aryName[1]);
		System.out.println("最后一个成绩:"+aryScore[4]);
		//【注意】 数组的最大索引=数组长度-1
		//数组索引范围:0 ~ 数组长度-1  
		//数组越界:访问数组时,超出索引的范围  ArrayIndexOutOfBoundsException
		//System.out.println(aryScore[5]);
		//给数组赋值
		aryName[0]="1";
		aryName[2]="2";
		aryName[1]="3";
		aryName[3]="4";
		aryName[4]="5";
		System.out.println(aryName[1]);
	}

方式1:构造方式声明数组

数据类型[ ] 数组命名/变量名=new 数据类型[数组的长度]

名词解释:

数组长度:就是数组中存放值的个数

3、数组的扩容

【说明】并不是在原数组的基础上增加长度,是创建一个更长的数组,然后把原数组的值,复制到新数组中

	int[] aryScore={90,95,100,80,95};
	//创建一个更长的数组
	//1、确定新数组的长度
	int newLength=aryScore.length+(aryScore.length/2);
	//2、创建新数组
	int[] aryNewScore=new int[newLength];
	//3、把值复制到新数组中
//		for(int i=0; i<aryScore.length; i++){
//			aryNewScore[i]=aryScore[i];
//		}
		//方式2:System.arraycopy()
		//参数1:原数组  
		//参数2:从原数组的哪个位置开始复制
		//参数3:复制得到哪个数组中,目标数组
		//参数4:复制到目标数组的起始位置
		//参数5:复制几个元素
		System.arraycopy(aryScore, 0, aryNewScore, 0, aryScore.length);
		//方式3:Arrays.copyOf(aryScore, 7)
		//参数1:要赋值的原数组
		//参数2:新数组的长度
		//返回值:创建一个新长度的,并且已经复制了值的新数组
		int[] aryNewScore2= Arrays.copyOf(aryScore, 10);
		//打印新数组
		ArrayUtil.printIntAry(aryNewScore2);

4、重要:基本类型和引用类型,作为方法参数的区别

基本类型:在传参的时候,是把值实参复制出一份,传递给形参 ,实参和形参对应的是两个空间里的值

引用类型:在传参的时候,把地址复制一份,传递个形参,形参地址和实参地址对应着同一个空间

今日总结:

1、作业的讲解:二重循环 方法

2、数组:为什么—简化变量的操作

​ 什么是数组:是一组内存空间连续的数据类型相同的变量的集合

​ 特点:1、数据类型要相同

​ 2、内存空间连续,遍历时效率高

​ 3、长度固定

3、声明数组的方式

​ 构造方式

​ 字面量方式:直接在{}中赋值

4、数组的相关概念

索引/下标: 范围 0~数组长度-1

数组长度:数组中元素的个数 数组名.length;

数组元素:数组里存放的值,不同类型数组有不同的默认值

5、数组元素的访问:

数组名是数组内存的首地址

数组名[索引]

6、数组的遍历

7、数组的扩容 3种数组复制的方式

8、方法的参数是基本类型,是引用类型的区别?

作业:

1、梳理清楚技能点

2、课堂案例

3、文档的题

面试题:

1、why:为什么? 好处

2、when:什么时候用?

3、what:是什么?概念

4、how:怎么用?

这篇关于Java Part1 Day7 数组的概念及声明 数组的赋值及获取元素 数组的遍历 数组的应用之排序 数组的其他应用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!