概述
一.定义静态数组
格式:数据类型[] 数组名
int[] arr;
double[] arr;
char[] arr;
二.定义动态数组
格式:数据类型[] 数组名 = new 数据类型[数组长度]
int[] arr = new int[3];
注意
数组中的索引是从0开始的,直接输出数组将会得到一个地址而不是数组内容。
三.数组常见的两个异常
3.1索引越界异常
超出数组长度范围,改成数组适合长度即可。
3.2空指针异常
出现原因
public class ArrayDemo { public static void main(String[] args) { int[] arr = new int[3]; //把null赋值给数组 arr = null; System.out.println(arr[0]); } }
arr = null 这行代码,意味着变量arr将不会在保存数组的内存地址,也就不允许再操作数组了,因此运行的时候会抛出 NullPointerException 空指针异常。在开发中,数组的越界异常是不能出现的,一旦出现了,就必须要修改我们编写的代码。
解决方案
给数组一个真正的堆内存空间引用即可!
四.相关案例
4.1遍历数组
需求:将数组中的每个元素输出
public class xi1 { public static void main(String[] args) { int[] arr = {4,5,456,6,1,654}; for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } } }
4.2最小值
需求:获取数组中的最小值
public class xi2 { public static void main(String[] args) { double [] arr ={12.9,53.54,75.0,99.1,3.14}; double min = arr[0]; for (int i = 0; i < arr.length; i++) { if(arr[i]< min){ min = arr[i]; } } System.out.println(min); } }
注意:在定义初始的最小值时,采用数组中的一个元素。
4.3数组求和
需求:求出数组元素的和
import java.util.Random; //导入随机包 public class xi3 { public static void main(String[] args) { //主函数 int sum = 0; //定义和的初始值 int [] arr = new int [6]; // 创建长度为6的数组 Random r = new Random(); // 创建对象 for (int i = 0; i < 6; i++) { // int sui = r.nextInt(101); //接收对象 arr[i] = sui; // System.out.println(arr[i]); } for (int i = 0; i < arr.length; i++) { // sum+=arr[i]; // } System.out.println("6个数和为"+sum); } }
4.4数组查找
需求:输入想要查找的数据,输出在数组中的索引
import java.util.Scanner; public class ye8 { public static void main(String[] args) { int [] arr ={12,89,1,54,5,15,4,84,65}; Scanner sc = new Scanner(System.in); System.out.println("请输入你想找的数字"); int number = sc.nextInt(); int index=-5; //随便定义,只是为了确定能否找到这个数 for (int i = 0; i < arr.length; i++) { if(arr[i] == number){ System.out.println("找到了在"+i+"索引上"); index++; break; } } if(index==-5){ System.out.println("没找到"); } } }
4.5评委打分
需求:输入6个评委的分数,去掉最大值和最小值,求平均值
import java.util.Scanner; public class ye7 { public static void main(String[] args) { int [] arr =new int[6]; Scanner sc = new Scanner(System.in); for (int i = 0; i < 6; i++) { System.out.println("请第"+(i+1)+"位裁判输入选手成绩"); int score = sc.nextInt(); if(score>=0&&score<=100){ //判断是否输入成绩正确 arr[i] = score; }else{ System.out.println("您输入的成绩有误"); i--; } } int sum = 0; int max = 0; int min = 0; for (int i = 0; i < arr.length; i++) { sum+=arr[i]; max = max > arr[i]?max:arr[i]; min = min < arr[i]?min:arr[i]; } int avg = (sum-max-min)/4; System.out.println(avg); } }
最后
以上就是典雅烧鹅为你收集整理的JAVA第五天(数组)一.定义静态数组二.定义动态数组三.数组常见的两个异常四.相关案例的全部内容,希望文章能够帮你解决JAVA第五天(数组)一.定义静态数组二.定义动态数组三.数组常见的两个异常四.相关案例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复