【新手友好型视频】全面讲解java一维数组(内含带答案和讲解的练习题彩蛋喔)看完即上手!更有详解版练习题来帮你加深印象~~
视频讲解:
一、数组的概述
数组(array),是存储一系列同类型数据元素的一种数据结构。它通过数组名和一个整型下标可访问数组中每一个元素。
看完一维数组的概述呢,用以下图片做例子。我们来解决下面四个问题:
q1 :“数组名”是什么?
a1:“数组名”是存储一系列同类型数据元素的一种数据结构的名字【例如上图的:“我的爱豆”】
q2: 数组“下标(索引)”是什么?
a2: 数组“下标(索引)”是从0→到“数组长度-1”
q3: “数组元素”是什么?
a3: “数组元素”是添加到数组中的每一个常量【例如上图的:“易烊千玺”,"小乔","小乔1","小乔2","小乔3"】
q4 :“数组长度”是什么(注意:数组长度一旦确定就不能更改)
a4:“数组长度”是数组元素的总个数【例如上图共有:“易烊千玺”,"小乔","小乔1","小乔2","小乔3"5个元素,所以长度为5】
二、一维数组的使用
1.静态初始化(指定数组内容)
看下面的图片,更便于理解
一般格式:
数据类型[]数组名称=new 数据类型 [] {元素1,元素2,……};
eg:string [] wodeaidou = new string []{“易烊千玺”,“小乔”, “小乔1”, “小乔2”, “小乔3”};
简便格式:(推荐使用)
数据类型[]数组名称={元素1,元素2,……};
eg: string [] wodeaidou = {“易烊千玺”,“小乔”, “小乔1”, “小乔2”, “小乔3”};
2.动态初始化(指定数组长度)
格式:
数据类型[]数组名称=new 数据类型 [数组长度];
eg:string [] wodeaidou =new string [5];
在动态初始化的数组中赋值
数组名称 [下标] = 常量; 注意:数组下标从0开始——“长度-1”为止
eg:wodeaidou[0]=“易烊千玺”;
3.想要得到数组长度该怎么办?
数组名.length即可得到数组的长度
eg: wodeaidou.length = 5;
使用数组长度的例子——遍历一维数组,并输出一维数组的值
public static void main(string[] args) {
string arr []= new string [5];//动态初始化
arr[0]="易烊千玺";
arr[1]="小乔";
arr[2]="小乔1";
arr[3]="小乔2";
arr[4]="小乔3";
for(int i = 0;i
system.out.println("第"+i+"个元素的值为"+arr[i]);
}
}
讲解:
过程
每次的输出结果
i=0 arr.length =5 0<5 输出arr[0]
第0个元素的值为易烊千玺
i=1 arr.length =5 1<5 输出arr[1]
第1个元素的值为小乔
i=2 arr.length =5 2<5 输出arr[2]
第2个元素的值为小乔1
i=3 arr.length =5 3<5 输出arr[3]
第3个元素的值为小乔2
i=4 arr.length =5 4<5 输出arr[4]
第4个元素的值为小乔3
结果:
三、arrays工具类中的sort方法(sort方法用的多,我们具体讲一下)
√ void sort(int[] a) 对数组进行排序。
对数组进行排序。
例子:使用void sort(int[] a) 方法 对数组进行排序。
import java.util.arrays;
public class arrayexample {
public static void main(string[] args) {
int a[] = { 100, 120, 9, 45, 63, -1 };//静态初始化
arrays.sort(a);
for (int i = 0; i < a.length; i++) {//a.length=6
system.out.println("第" + i + "个元素的值为" + a[i]);
}
}
}
讲解:
直接使用arrays.sort()方法对a数组进行排序
遍历排序后的数组a,输出数组排序后的每一个元素
过程
每次的输出结果
i=0 arr.length =6 0<6 输出arr[0]
第0个元素的值为-1
i=1 arr.length =6 1<6 输出arr[1]
第1个元素的值为9
i=2 arr.length =6 2<6 输出arr[2]
第2个元素的值为45
i=3 arr.length =6 3<6 输出arr[3]
第3个元素的值为63
i=4 arr.length =6 4<6 输出arr[4]
第4个元素的值为100
i=5 arr.length =6 5<6 输出arr[5]
第5个元素的值为120
结果
四、数组中的常见异常
数组索引越界异常(arrayindexoutofboundsexception)
eg:int arr = new int [2];
arr[0]=1;
arr[1]=2;
arr[2]=3;//索引越界。因为数组索引是从0 → “数组长度-1”
空指针异常(nullpointerexception)
int[] arr = null;
system.out.println(arr[0]);
arr引用没有指向实体,却在操作实体中元素
五、一维数组练习题
问题:声明一个int型的数组,循环接收8个学生的成绩,计算这8个学生的总分。
思路:
1.创建一个int型数组用来保存8个学生的成绩。int arr[]=new int[8];
2.scanner 键盘输入8个学生的成绩
3.循环接收:用一个for循环遍历数组,并把每次从键盘输入的学生成绩保存到数组中
4.int sum=0;//,用来存放学生成绩总分,每一次添加成绩后把成绩相加
代码:
package com.task10;
import java.util.scanner;
public class arrayexercise {
public static void main(string[] args) {
int sum = 0;// 用来存放学生成绩总分
int arr[] = new int[8];// 用数组来存放8个学生成绩,下标是0-7
scanner sc = new scanner(system.in);
for (int i = 0; i < arr.length; i++) {// 遍历数组,arr.length=8
arr[i] = sc.nextint();// 将键盘输入的每一个成绩分别存放在数组中
sum = sum + arr[i];// 每一次添加成绩后把成绩相加
}
system.out.println("总分为" + sum);
}
}
讲解:
过程
执行
每次输出的结果
从键盘输入成绩100 i=0 arr.length=8 i
arr[0]=100,sum=0+arr[0]
sum=100
从键盘输入成绩50 i=1 arr.length=8 i
arr[1]=50,sum=100+arr[1]
sum=150
从键盘输入成绩70 i=2 arr.length=8 i
arr[2]=70,sum=150+arr[2]
sum=220
从键盘输入成绩60 i=3 arr.length=8 i
arr[3]=60,sum=220+arr[3]
sum=280
从键盘输入成绩80 i=4 arr.length=8 i
arr[4]=80,sum=280+arr[4]
sum=360
从键盘输入成绩90 i=5 arr.length=8 i
arr[5]=90,sum=360+arr[5]
sum=450
从键盘输入成绩40 i=6 arr.length=8 i
arr[6]=40,sum=450+arr[6]
sum=490
从键盘输入成绩30 i=7 arr.length=8 i
arr[7]=30,sum=490+arr[7]
sum=520
结果:
六、彩蛋(本期视频使用的ppt+【练习题(带答案和详解)】)
推荐你看:
双重for循环【视频+图文】讲解传输门:点击这里即可查看
【视频+图文】新手友好型java return语句用法 讲解传输门:点击这里即可查看
带continue语句的双重for循环【视频+图文】讲解传输门:点击这里即可查看
带break语句的双重for循环【视频+图文】讲解传输门:点击这里即可查看
【你需要的各种数据类型转换,这里都有~】传输门:点击这里即可查看
如果你觉得这篇文章还不错,麻烦帮我点个赞鸭!可以让更多人看到这篇文章。让我有动力继续更技术文~
希望与广大网友互动??
点此进行留言吧!