在java中接触到地第一个数据结构就是数组,数组是一种定义后长度大小固定,能存储多个同种类型的数据结构。数组是具有下标的,对数组内容进行查找和修改是高效率的,因为可以根据下标直接定位到数据元素位置。注意:数组下标是从0开始的到数组大小-1结束,每次+1。数组一旦创建实例化就会有默认值,默认值根据数组定义的类型而定,byte、int类型的默认值为0,double、float类型的默认值为0.0,char为空字符,布尔类型默认值为false。使用数组过程中可能产生的异常:下标越界: java.lang.ArrayIndexOutOfBoundsException,发生情况:当操作一个不存在的数组元素时,索引超出实例化的大小范围。所以使用数组时要注意下标不能超过数组大小-1。
需求:某百货商场当日消费积分最高的八名顾客,他们的积分分别是18、25、7、36、13、2、89、63。编写程序找出最低的积分及它在数组中的原始位置(下标)。
程序源代码如下:
package com.cdtu.chapterfive;
/**
* 功能:找最低积分及其下标
*/
public class Demo2 {
public static void main(String[] args) {
int[] fens ={18,25,7,36,13,2,89,63};
findMin(fens);
}
public static void findMin(int []fens){
//找最小积分
int min = fens[0];
//最小下标
int minIndex = 0;
for (int i = 1; i < fens.length; i++) {
if(min>fens[i])
{
min = fens[i];
minIndex = i;
}
}
System.out.println("最小积分为:" + min + "下标为:" + minIndex);
}
}
运行结果:
此处还介绍一个常用工具类Random类,默认创建的随机范围为[0,1),包含0不包含1,也可自己定义随机范围,如:
Random rand = new Random();
int num = rand.nextInt(4);
用随机数类实现的一个实现幸运抽奖的案例,可以结合理解随机数类的应用。程序源代码如下:
package com.cdtu.chaptersix;
import java.util.Random;
import java.util.Scanner;
/**
* @author:lxj
* @date 2022/11/29 13:53
* 功能:实现幸运抽奖
*/
public class LuckyDraw {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int end = 0;
do {
System.out.println("*******欢迎你参加活动*******");
System.out.println("请选择:1-进行抽奖,0-退出系统");
System.out.println("请输入你的选择:");
int select = sc.nextInt();
switch (select) {
case 1:
// 实现随机抽奖功能
draw();
end++;
break;
case 0:
System.out.println("你已退出系统");
System.exit(0);
default:
System.out.println("输入错误,请按提示重新输入");
}
} while(end<3);
System.out.println("抽奖数已达3次,谢谢你的大力支持");
}
public static void draw() {
String[] praise = {"恭喜你荣获特等奖---奖金1万","恭喜你荣获一等奖---电脑一台","恭喜你荣获二等奖---自行车一辆","恭喜你荣获三等奖---肥皂一块"};
Random rand = new Random();
int num = rand.nextInt(4);
switch (num) {
case 0:
System.out.println(praise[0]);
System.out.println();
break;
case 1:
System.out.println(praise[1]);
System.out.println();
break;
case 2:
System.out.println(praise[2]);
System.out.println();
break;
case 3:
System.out.println(praise[3]);
System.out.println();
break;
}
}
}
运行结果: