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

视频讲解:

点击这里即可到小乔的B站观看

一、数组的概述

数组(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<arr.length;i++){//遍历数组,arr.length=5
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]);
}
}
}

讲解:

  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

结果

四、数组中的常见异常

数组索引越界异常(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.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

结果:

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

推荐你看:

推荐你看:

【图文+视频新手也友好】Java一维数组详细讲解(内含练习题答案+详解彩蛋喔~)的更多相关文章

  1. Java实现数组去除重复数据的方法详解

    一.用List集合实现 int[] str = {5, 6, 6, 6, 8, 8, 7,4}; List<Integer> list = new ArrayList<Integer ...

  2. 061 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 08 一维数组总结

    061 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 08 一维数组总结 本文知识点:一维数组总结 总结 注意点

  3. 060 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 07 冒泡排序

    060 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 07 冒泡排序 本文知识点:冒泡排序 冒泡排序 实际案例分析冒泡排序流程 第1轮比较: 第1轮比较的结果:把最 ...

  4. 059 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 06 增强型for循环

    059 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 06 增强型for循环 本文知识点:增强型for循环 增强型for循环格式 案例练习增强型for循环 数组名字 ...

  5. 058 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 05 案例:求数组元素的最大值

    058 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 05 案例:求数组元素的最大值 本文知识点:求数组元素的最大值 案例:求数组元素的最大值 程序代码及其执行过程 ...

  6. 057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和

    057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和 本文知识点:求整型数组的数组元素的元素值累加和 案例:求整型数 ...

  7. 056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用

    056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用 本文知识点:数组的实际应用 程序开发中如何应用数组? 程序代码及其运行结果: 不同数据类 ...

  8. 055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念

    055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念 本文知识点:数组的概念 数组的声明创建.初始化 在学习数组的声明创建.初始化前,我们可以和之 ...

  9. 054 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 01 数组概述

    054 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 01 数组概述 本文知识点:数组概述 为什么要学习数组? 实际问题: 比如我们要对学生的成绩进行排序,一个班级 ...

随机推荐

  1. Alfresco的安装配置(Centos6系统中安装)

    Alfresco是一款开源的企业内容管理系统(ECMS),为企业提供了日常的文档管理.协同工作.工作记录管理.知识管理.网络内容管理.图片管理等多种功能. Alfresco是目前应用最广泛的开源企业知 ...

  2. java 使用poi导入Excel通用方法

    需要的jar: [XML] 纯文本查看 复制代码 ? 1 2 3 4 5 <dependency>             <groupId>org.apache.poi< ...

  3. onbeforeunload事件兼容性操作

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  4. Ionic3学习笔记(八)使iOS端、Android端 Navbar 透明化

    本文为原创文章,转载请标明出处 若要使iOS端 Navbar 透明,只需要给 ion-navbar 添加 transparent 属性,但是Android端依旧会有一条border在,所以再给 ion ...

  5. mailx发邮件报错Error initializing NSS: Unknown error -8015. . . . message not sent.处理

    前提:在配置zabbix3.0监控发送邮件告警时zabbix界面显示邮件以送达,但是QQ邮箱却没有收到邮件,再shell命令行测试发邮件QQ邮箱又是可以收到的,在别人的提醒下用zabbix用户执行发送 ...

  6. Tian Tian 菾菾 导游 陪同

    自画像系列是梵高的代表作之一,他是一位自学成才的画家,下笔完全自由,主观提取了当时印象派画家学到的技巧,在这幅画中,我们可以看到,颜色在画中的堆叠,色彩与笔在画中表现的形态,都表现出,梵高在他作画中内 ...

  7. 如何在NLP领域第一次做成一件事

    作者简介 周明,微软亚洲研究院首席研究员.ACL候任主席(president).中国计算机学会中文信息技术专委会主任.中国中文信息学会常务理事.哈工大.天津大学.南开大学.山东大学等多所学校博士导师. ...

  8. webpack中打包拷贝静态文件CopyWebpackPlugin插件

    copyWebpackPlugin: 作用:用于webpack打包时拷贝文件的插件包 安装:npm install copyWebpackPlugin@版本号 使用:// copy custom st ...

  9. 通过python脚本读取多台虚机硬件信息

    主要通过fabric模块实现 import fabric ''' hosts = [] ,): host = "192.168.75." + str(i) hosts.append ...

  10. (Win10)Java,Maven,Tomcat8.0,Mysql8.0.15安装与环境配置,以及IDEA2019.3使用JDBC连接MySQL、创建JavaEE项目

    之前用windows+linux的双系统,最近不怎么舒服就把双系统给卸了,没想到除了问题,导致有linux残余,于是就一狠心重装了电脑,又把Java及其相关的一些东西重新装了回来,还好当初存了网盘链接 ...