20.9.10笔记

20.9.10笔记

单词

random 随机 function 函数 method 方法 StackOverflowError 栈溢出错误

Array 数组 Index 索引 length 长度

递归

方法调用自身的过程成为递归-递归算法

应用场景:

例:1.for循环可以求前n项和

​ 2.求n的阶乘 n!

​ 3.求斐波那契数列-第n项的值0、1、1、2、3、5、8

缺点:

效率不高,还容易造成栈溢出,不建议递归

public static int sum(int n){
	if (n==1) {
		return 1;//
	}
	return n*sum(n-1);//StackOverflowError
	//                  栈溢出错误
	//调用方法             返回值
	//sum(5)    5+4+3+2+1
	//sum(4)    4+sum(4-1)
	//sum(3)    3+sum(3-1)
	//sum(2)    2+sum(1)
	//sum(1)    1
	//
}

数组

数组就是一个容器

形式:

int [] arr = {100,200,300}

1.声明数组:int [] arr;

2.初始化 初始化之后有默认值:arr=new int[7];

3.赋值 通过索引 数组名[]:
arr[0]=1;//给数组的第一个元素赋值为1
arr[1]=2;//给数组的第二个元素赋值为100
arr[4]=200;//给数组的第五个元素赋值为200

4.访问 数组名[]:
System.out.println(arr[3]);

5.注意事项
1.长度固定
2.只能存储固定类型的数据
3.存储地址连续 601 602
4.不能超出索引 超出之后索引异常的错误ArrayIndexOutOfBoundsException
5.数组使用之前一定要初始化 数组有默认值 int 0 String null boolen false
6.索引最大值比长度小1

特点:

1.长度固定,一旦确定了数组的长度就不可以更改

2.存储类型是一致的,只能存储一种数据类型

3.存储连续,通过索引访问数组

例题:

请输入学生数量 依次录入学生成绩 保存到一个数组中

public static void main05(String[] args) {
		creatStudentScoreArray();
	}
public static void  creatStudentScoreArray(){
		System.out.println("请输入学生的数量:");
		Scanner scanner=new Scanner(System.in);
		int count=scanner.nextInt();
		//1.获取用户输入的学生数量
	float [] scoreArr;
	scoreArr=new float[count];
	//2.创建成绩数组
	for (int i = 0; i < scoreArr.length;) {
		System.out.println("请输入第"+(i+1)+"学生的成绩");
		float score= scanner.nextFloat();
		//获取用户输入的成绩
		if (score>=0&&score<=150) {
			
			scoreArr[i++]=score;	
		}
		
	}
	//3.录入
		for (int i = 0; i < scoreArr.length; i++) {
		System.out.println(scoreArr[i]);
	}
	//4打印数组成绩		

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值