🎉默认自己无能,无疑是给失败制造机会!🎉
前言
与牛客的相知相遇:
一次偶然的机会我接触到了牛客网,从那次我就发现牛客网好像是一个全能型的网站,里面有各种语言的练习题、算法题、大厂的面试题、还有求职等各项功能。从那以后我就开始了我的牛客之旅。
链接我就放在这了需要的伙伴们自取👉注册即可免费刷题
目录
一、前言
- 学习概述:一维数组的使用与注意事项
- 学习目标:一维数组的熟练使用
二、数组的定义
1.概述
数组,是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。
2.数组的特点
- 特点:数组是有序排列的。
3.静态初始化数组代码
数据类型[] 数组名 = { 元素1,元素2 ,元素3,… };
例如:
int [] array= {1,2,3,4,5};
double[] scores = {88.5, 99.5, 59.5};
4.动态初始化数组代码
int[] arr = new int[5]; //定义可以储存5个元素的整数类型数组
arr[0] = 1; //为第一个元素赋值1
arr[1] = 2; //为第二个元素赋值2
5.总结
1.数组一旦初始化完成其长度就确定了
2.数组的角标是从0开始的,到数组的长度-1结束
三、length的属性
- 定义:长度可以直接调用length得到数组的长度。
样例:
//静态初始化数组
int [] array= {1,2,3,4,5};
System.out.println(array.length);//调用方法,输出长度 5
//最大索引array.length-1
四、一维数组的遍历
通过使用for循环遍历数组内的元素
for(int i = 0;i <=arr.length;i++){
System.out.println(arr[i]);
}
五、例题
1.问题描述
- 需求:在控制台输出所有的“水仙花数”和个数,水仙花数必须满足如下2个要求:
- 水仙花数是一个三位数
- 水仙花数的个位、十位、百位的数字立方和等于原数
- 例如:1^3 + 5^3 + 3^3=153
2.问题解析
详细记录解题的步骤,分成下面几步:
1.for遍历所有的三位数,范围100~999。
2.求解数字的个位、十位、百位
3.if判断立方和等于原数
4.记录满足条件的数字,输出结果
3.编码实现
int ge,shi,bai,i,count=0;//定义个位、十位、百位变量存储数据
for(i=100;i<=999;i++)//遍历所有3位数字
{
ge=i%10;//求解个位
shi=(i/10)%10;//求解十位
bai=i/100;//求解百位
if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i)//满足结果
{
count++;
System.out.println(i);
}
}
System.out.println("水仙花数一共有"+count+"个");//输出结果
4.输出结果
六、常见问题
索引越界
//静态初始化数组
int [] array= {1,2,3};
System.out.println(array[3]);
- 上面的代码运行之后,会出现下面的报错异常:
- Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 3
- 解释:我们静态化初始数组给了3个数字,最大索引为2,当我们访问3时,就会报错