java循环输入_【图文+视频新手也友好】Java一维数组详细讲解(内含练习题答案+详解彩蛋喔~)...

bcbd34486fe316288a919566e941549d.png
【新手友好型视频+图文】
全面讲解Java一维数组(内含带答案和讲解的练习题彩蛋喔)
看完即上手!更有详解版练习题来帮你加深印象~~

一、视频讲解

965a59ede58875fe697da60f017afedf.png
一维数组详解https://www.zhihu.com/video/1222199315558629376
3745ca9c4479bf6d9b12019e222a33c3.png
一维数组练习题详解:含彩蛋https://www.zhihu.com/video/1222199896909922304 【本期视频图文讲解会放在专栏里】||【新手友好型视频】全面讲解Java一维数组(内含带答案和讲解的练习题喔)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com
c36dd3f30b8c9ad0bcda1abcf4447078.png

二、数组的概述

数组(Array),是存储一系列同类型数据元素的一种数据结构

它通过数组名和一个整型下标访问数组中每一个元素

看完一维数组的概述呢,以下图片做为例子。
让我们一起来一起解决这四个问题:

12fb8f7a71649d7967c18f5ec13c32a0.png

Q1 :“数组名”是什么?

A1:数组名”是存储一系列同类型数据元素的一种数据结构的名字【例如上图的:“我的爱豆”】

Q2: 数组“下标(索引)”是什么?

A2: 数组“下标(索引)”是从0→到“数组长度-1”

Q3: “数组元素”是什么?

A3: “数组元素”是添加到数组中的每一个常量【例如上图的:“易烊千玺”,“小乔”,“小乔1”,“小乔2”,“小乔3”】

Q4 :“数组长度”是什么(注意:数组长度一旦确定不能更改)

A4:“数组长度”是数组元素的总个数【例如上图共有:“易烊千玺”,“小乔”,“小乔1”,“小乔2”,"小乔3"5个元素,所以长度为5】


三、一维数组的使用

1.静态初始化(指定数组内容)

看下面的图片,更便于理解

12fb8f7a71649d7967c18f5ec13c32a0.png

一般格式:

数据类型[]数组名称=new 数据类型[]{元素1,元素2,……};

Eg:String [] wodeaidou = new String[]{“易烊千玺”,“小乔”, “小乔1”, “小乔2”, “小乔3”};

简便格式:(推荐使用)

数据类型[]数组名称={元素1,元素2,……};

Eg: String [] wodeaidou = {“易烊千玺”,“小乔”, “小乔1”, “小乔2”, “小乔3”};

2.动态初始化(指定数组长度)

看下面的图片,更便于理解

12fb8f7a71649d7967c18f5ec13c32a0.png

格式:

数据类型[]数组名称=new 数据类型 [数组长度];

Eg:String [] wodeaidou =new String [5];

如何在动态初始化的数组中赋值?

数组名称 [下标] = 常量;

注意:数组下标从0开始——“长度-1”为止

Eg:wodeaidou[0]=“易烊千玺”;

3.想要得到数组长度该怎么办?

12fb8f7a71649d7967c18f5ec13c32a0.png

使用数组名.length即可得到数组的长度

Eg: wodeaidou.length = 5;

使用数组长度的例子——遍历一维数组,并输出一维数组的值

public 

讲解:

过程 每次的输出结果

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

结果:

e845d110d4581da3218496d528816bf3.png

四、Arrays工具类中的sort方法(sort方法用的多,我们具体讲一下)

√ void sort(int[] a) 对数组进行排序。 对数组进行排序。

例子:使用void sort(int[] a) 方法 对数组进行排序。

import 

讲解:

  1. 直接使用Arrays.sort()方法对a数组进行排序

2.遍历排序后的数组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

结果:

d77c676efe396463a49d20e18a461274.png

五、数组中的常见异常

数组索引越界异常(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循环遍历数组,并把每次从键盘输入的学生成绩保存到数组中

http://4.int sum=0;//,用来存放学生成绩总分,每一次添加成绩后把成绩相加

代码:

package 

讲解:

从键盘输入成绩100 i=0 arr.length=8 i<arr.length

arr[0]=100,sum=0+arr[0]

sum=100

从键盘输入成绩50 i=1 arr.length=8 i<arr.length

arr[1]=50,sum=100+arr[1]

sum=150

从键盘输入成绩70 i=2 arr.length=8 i<arr.length

arr[2]=70,sum=150+arr[2]

sum=220

从键盘输入成绩60 i=3 arr.length=8 i<arr.length

arr[3]=60,sum=220+arr[3]

sum=280

从键盘输入成绩80 i=4 arr.length=8 i<arr.length

arr[4]=80,sum=280+arr[4]

sum=360

从键盘输入成绩90 i=5 arr.length=8 i<arr.length

arr[5]=90,sum=360+arr[5]

sum=450

从键盘输入成绩40 i=6 arr.length=8 i<arr.length

arr[6]=40,sum=450+arr[6]

sum=490

从键盘输入成绩30 i=7 arr.length=8 i<arr.length

arr[7]=30,sum=490+arr[7]

sum=520

结果:

69cc539f895f174175e419f709926146.png

七、彩蛋(本期视频使用的PPT+【练习题(带答案和详解)】)

d78e5767f2b5e0a6bbc9afa5c957c8eb.png

推荐你看:

小乔甜甜:【视频+图文】带你快速掌握Java中含break语句的双重for循环

小乔甜甜:【视频+图文】带你快速掌握Java中含continue语句的双重for循环

小乔甜甜:【小白视频学Java for循环】3分钟学会Java的for循环,让看懂for循环嵌套再不是难事

小乔甜甜:Java基本数据类型的介绍及其转换(内附字符串与多种数据之间的转换)

小乔甜甜:【视频+图文】新手友好型Java return语句用法

【视频+图文新手也友好】Java ++i(前自增)和i++(后自增)用法详解

如果你觉得这篇文章还不错,麻烦帮我点个赞鸭!可以让更多人看到这篇文章。让我有动力继续更技术文~(小乔的Java系列专栏内容会由浅入深更新呢,需要的宝宝可以关注一下哦~)

25582d16af952cf92398c3b22c60da8b.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值