Java基础:一维数组

理解数组的作用

为什么需要数组

 

数组是一个变量,存储相同数据类型的一组数据

声明一个变量就是在内存空间划出一块合适的空间 声明一个数组就是在内存空间划出一串连续的空间

什么是数组

数组基本要素:标识符 数组元素 元素下标:从0开始 元素类型

 

掌握数组的定义

如何使用数组

1.声明数组 :int[ ] a;  2.分配空间:a = new int[5]; 3.赋值 :a [0] = 8;  4.处理数据:a [0] = a[0] * 10;

声明数组

声明数组: 告诉计算机数据类型是什么

int[ ] score1;             //Java成绩
int score2[ ];             //C#成绩
String[ ] name;        //学生姓名

语法:数据类型    数组名[ ] ;或数据类型[ ]  数组名,声明数组时不规定数组长度          

分配空间

分配空间: 告诉计算机分配几个连续的空间

scores = new int[30]; 
avgAge = new int[6];     
name = new String[30];

声明数组并分配空间

数据类型[ ]  数组名   =   new   数据类型[大小]  ;   
//数组元素根据类型不同,有不同的初始值

数组赋值

 

 处理数据

//对数据进行处理:计算5位学生的平均分
int [ ] scores = {60, 80, 90, 70, 85};
double avg;
avg = (scores[0] + scores[1] + scores[2] + scores[3] + scores[4])/5;  


int [ ] scores = {60, 80, 90, 70, 85};
int sum = 0;
double avg;
for(int i = 0; i < scores.length; i++){
     sum = sum + scores[i];
}
avg = sum / scores.length; 

练习1:猜数游戏

有一个数列:8,4,2,1,23,344,12 循环输出数列的值 求数列中所有数值的和 猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数

 Scanner input=new Scanner(System.in);
        int sum=0;
        int number=0;
        int i=0;
        System.out.println("输入一个数");
        number=input.nextInt();
        boolean flag=false;
        int arr[]=new int[]{8,4,2,1,23,344,12};
        for (int arrs:arr) {
            System.out.println(arrs);
            sum+=arrs;
            if (number==arrs){
                flag=true;
            }
        }

        System.out.println(flag ? "中了" : "没中");
        System.out.println("数组的和"+sum);

求最大值

从键盘输入本次Java考试五位学生的成绩,求考试成绩最高分

//从键盘输入本次java考试五位学生的成绩,求考试成绩最高分
        Scanner input=new Scanner(System.in);//创建input键盘输入函数
        int [] arr=new int[5];//定义一串长度为五的数组
        int max=0;//定义一个int类型的max
        System.out.println("请输入五个学生成绩");
        for (int i=0;i<arr.length;i++){//创建循环遍历数组
            System.out.println("请输入第"+(i+1)+"个学生成绩");
            arr[i]=input.nextInt();//遍历的数组使用input的函数输入成绩
            if(max<arr[i]){//判断max和数组的大小,数组大就赋值给max
                max=arr[i];//
            }
        }
        System.out.println("最高分的成绩为:"+max);

插入数值:有一组学员的成绩{99,85,82,63, 60},将它们按降序排列。要增加一个学员的成绩,将它插入成绩序列,并保持降序

Scanner input=new Scanner(System.in);//创建input键盘输入函数
        int scors=input.nextInt();//定义一个键盘输入的数
        int num=0;//定义初始下标
        int [] arr=new int[]{99,85,82,63,60,0};//创建一个数组并赋值
        for (int i=0;i<arr.length;i++){//循环遍历
            if(scors>arr[i]){//判断键盘输入的数和数组的大小
                num=i;//scors比arr[i]大就记录下标
                break;//中断循环
            }
        }
        for(int i=arr.length-1;i>num;i--){//从后往前遍历下标大于记录的下标
                arr[i]=arr[i-1];//将前面的数赋给后面
        }
        arr[num]=scors;//将scors的数赋值给记录的下标
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);//循环输出数组
        }

练习2:获取最低价手机价格:需求说明 求出4家店的最低手机价格

步骤 1.定义数组存储价格,并利用循环输入 2.定义变量min保存当前的最低价 3. 将min和数组中的其余元素依次比较

 int arr[]=new int[4];
        Scanner input=new Scanner(System.in);
        for(int i=0;i<arr.length;i++){
            System.out.print("第" + (i+1) + "家手机店的价格:");
            arr[i]=input.nextInt();
        }
        int money=arr[0];
        for(int i=1;i<arr.length;i++){
            if(arr[i]<money){
                money=arr[i];
            }
        }
        System.out.println("最低价格是:" + money);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值