一.定义静态数组
格式:数据类型[] 数组名
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第五天(数组)一.定义静态数组二.定义动态数组三.数组常见内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复