1、目标
理解数组的作用
掌握数组的定义
掌握数组的基本使用及常用操作
掌握数组常用操作
获取最大值、最小值
数组排序
插入数字
2、数组
2.1 为什么需要数组
数组是一个变量,存储相同数据类型的一组数据
声明一个变量就是在内存空间划出一块合适的空间声明一个数组就是在内存空间划出一串连续的空间
2.2 数组的基本要素
2.3 如何使用数组
分配空间:
分配空间: 告诉计算机分配几个连续的空间
数组元素根据类型不同,有不同的初始值
声明数组并分配空间
数据类型[ ] 数组名 = new 数据类型[大小] ;
赋值:向分配的格子里放数据
2.4 数组赋值
方法一、边声明 边赋值
int[] scores = {89,98}
int[] scores = new int[]{89,98}
方法二、动态地从键盘录入信息并赋值
Scanner input = new Scanner(System.in);
for(int i = ;i<30;i++){
scores[i] = input.nextInt();
}
2.5 数组与内存
2.6常见错误
编译出错,没有写明数组的大小
编译出错,数组越界
编译出错,创建数组并赋值的方式必须在一条语句中完成
2.7 求最大值
2.8 插入数值
练习
练习一、猜数游戏
import java.util.Scanner;
// 按两次 Shift 打开“随处搜索”对话框并输入 `show whitespaces`,
// 然后按 Enter 键。现在,您可以在代码中看到空格字符。
public class Main {
public static void main(String[] args) {
int[] arr ={8,4,2,1,23,344,12};
int num = 0;
for (int i = 0;i< arr.length;i++){
System.out.println(arr[i]);
num +=arr[i];
}
//猜数游戏
int a;
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字");
a = sc.nextInt();
for (int i = 0;i< arr.length;i++){12
if ( a== arr[i]){
System.out.println("该数字在数组内");
break;
}
}
}
}
练习二、获取手机最低价格
import java.util.Scanner;
public class minphone {
public static void main(String[] args) {
double[] arr = new double[4];
Scanner sc = new Scanner(System.in);
for (int i = 0;i<4;i++){
System.out.print("请输入第" + i +"家手机价格:");
arr[i] = sc.nextInt();
}
double min = arr[0];
for (int j = 1;j<4;j++){
if (arr[j-1]>arr[j]){
min = arr[j];
}
}
System.out.println("最低价格是" + min);
}
}
作业
作业一、 输入五个数,并找出最小
import java.util.Scanner;
public class homework1 {
public static void main(String[] args) {
double[] arr = new double[5];
Scanner sc = new Scanner(System.in);
for (int i = 0;i<5;i++){
System.out.print("输入5个数");
arr[i] = sc.nextInt();
}
double min = arr[0];
for (int j = 1;j<5;j++){
if (arr[j-1]>arr[j]){
min = arr[j];
}
}
System.out.println("最小的是" + min);
}
}
作业二、五个数降序排序
public class homework2 {
public static void main(String[] args) {
int[] arr = {11,22,9,7,1};
int temp;
for (int i = 0;i<arr.length;i++){
for (int j = 0;j<arr.length;j++){
if (arr[j] >arr[i]){
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
for (int i = 0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
}
作业三、数组存储5笔购物金额,在控制台输出并计算总金额
import java.util.Scanner;
public class homework3 {
public static void main(String[] args) {
double[] arr = new double[5];
Scanner sc = new Scanner(System.in);
for (int i = 0 ;i < 5;i++){
System.out.println("请输入金额:");
arr[i] = sc.nextDouble();
}
int num = 0;
System.out.println("序号 金额");
for (int i = 0 ;i < 5;i++){
System.out.print(i+" ");
System.out.println(arr[i]);
num += arr[i];
}
System.out.println("总金额 "+num);
}
}
作业四、3.定义一个数组,并初始化信息(红烧带鱼,鱼香肉丝,蛋炒饭),金额(13.5,12,11),并循环打印
public class project1 {
public static void main(String[] args) {
String[][] a = {
{"红烧带鱼","鱼香肉丝","蛋炒饭"},
{"13.5","12","11"}
};
for (int i = 0;i< a.length;i++){
// System.out.print(a[i]);
for (int j = 0;j <a[i].length;j++){
System.out.println(a[i][j]);
}
}
}
}