Java学习第五天-数组的操作

一、数组的操作-循环

1、数组的操作 就是数组进行赋值与取值

赋值语法:数组名称[索引]=数据 例如:nums[10]

取值语法:数组名称[索引] 例如:nums[0]

2、数组的范围

0-数组的长度-1

3、注意点:

使用循环变量的时候 都是在遍历数组中的索引

二、案例

step01需求::需要定义一个数组 使用循环来存入五个同学的成绩 求出五个同学的平均分

step02分析

A.动态初始化 长度5

B.使用循环来给数组进行赋值 for循环

C.使用循环来获取数组的元素 for循环

step03

import java.util.Scanner; public class Test01 { public static void main(String[] args) { //实例化 Scanner input = new Scanner(System.in); //动态初始化一个数组 int [] scores = new int[5]; //使用循环给数组赋值 for(int i = 0; i < scores.length;i++){ System.out.println("请输入第"+(i+1)+"个同学的成绩"); int num =input.nextInt(); //将成绩存入数组中 scores[i]=num; } //使用循环来遍历数组,获取数据 //定义一个变量来记录总分 int sum=0; for(int j=0;j<scores.length;j++){ //获取数组中的数据 int s =scores[j]; sum +=s; } System.out.println(sum/scores.length); } }

三、数组操作-数据最大值

step01需求

step02分析:

step03

public class Test02 { public static void main(String[] args) { //静态初始化一个数组 int [] arrays={10,20,30,-30,50,100,550}; System.out.println(showMax(arrays)); System.out.println(showMin(arrays)); } //定义一个方法取最大值 public static int showMax(int [] arrays){ int max=-1; //非空数组的判断 if(arrays!=null&&arrays.length>0){ //获取初始化 max=arrays[0]; //使用循环依次比较,得出擂主 for (int i=0;i<arrays.length;i++){ if(arrays[i]>max){ //将值进行替换 max=arrays[i]; } } } return max; } }

四、数组操作-置换数组中的元素

step01需求 将数组中的元素进行置换 置换规则:第一个元素与最后一个元素置换 第二个元素与倒数第二个元素进行置换 依次进行

step02分析:

step03代码

五、数组操作-查找指定元素在指定区间的索引值

step01需求

step02分析

A.定义一个方法

访问修饰符 public static

返回值类型 int

参数: 数组 元素 开始索引 结束索引

方法体:

使用循环查找这个元素 返回对应的索引值

step03

public class Test04 { public static void main(String[] args) { //主函数 System.out.println(getIdex(new int[]{10, 20, 30, 40, 50, 60, 70, 80, 90, 200}, 50, 0, 8)); } public static int getIdex(int [] arrays,int num,int startIndex,int endIndex){ //数组非空判断 if(arrays!=null&&arrays.length>0){ //对开始索引和结束索引进行处理 if(startIndex>=0 &&startIndex<=endIndex &&endIndex<arrays.length){ for(int i=startIndex;i<endIndex;i++){ if(arrays[i]==num){ return i; } } } } //如果没有找到该元素返回-1 return -1; } }

六、数组操作-生成扑克牌

step01需求

step02分析

A.定义两个数组

一个数组是花色

一个数组是点数

B.使用嵌套for循环来获取数组中的花色和点数

step03代码

import java.util.Arrays; public class Test05 { public static void main(String[] args) { //定义一个数组记录花色 String [] color=new String[]{"♠","♥","♣","♦"}; //定义一个数组记录点数 String [] nums=new String[]{"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; for(int i=0;i<color.length;i++){ for (int j=0;j<nums.length;j++){ String s =color[i]+nums[j]; System.out.print(s+"\t"); } System.out.println(""); } } }

七、冒泡排序

step01需求

step02分析

step03代码

import java.util.Arrays; public static void main(String[] args) { //定义一个数组 int [] arrays=new int[]{10,20,60,-5,-6,-100,80,900}; //定义一个for循环表示比较轮数 for(int i=0;i<arrays.length-1;i++){ //定义一个for循环表示次数 for (int j=0;j<arrays.length-1-i;j++){ //前后两个元素进行比较 if(arrays[j]>arrays[j+1]){ //进行数值得替换 int temp = arrays[j]; arrays[j]=arrays[j+1]; arrays[j+1]=temp; } } } System.out.println(Arrays.toString(arrays)); } }

八、数组操作-

step01ba需求:

数组元素 1 3 5 60 90 null(默认值)

向数组中插入一个值为35

数组元素 1 3 5 35 60 90 按照升序进行排序

step02分析:

step03代码:

import java.util.Arrays; import java.util.Scanner; public class Test06 { public static void main(String[] args) { //实例化 Scanner input = new Scanner(System.in); //定义一个数组 int [] arrays=new int[6]; //对数组进行赋值,留一个默认值 arrays[0]=1; arrays[1]=6; arrays[2]=90; arrays[3]=100; arrays[4]=839; //定义一个变量来记录 int index=-1; System.out.println("请输入需要插入的元素:"); int num= input.nextInt(); for (int i=0;i<arrays.length;i++){ if(arrays[i]>num){ index= i; //结束循环 break; } } if(index==-1){ index=arrays.length-1; }else{ //将数组中元素从前往后移动 for(int j=arrays.length-1;j>index;j--){ arrays[j]=arrays[j-1]; } } //进行值得插入 arrays[index]=num; //打印数组中的元素 System.out.println(Arrays.toString(arrays)); } }

九、数组综合案例

9.1外层框架

step01需求

step02分析

step03

import java.util.Scanner; public class Test07 { public static void main(String[] args) { //实例化 Scanner input =new Scanner(System.in); System.out.println("欢迎来到老王欢乐系统"); //定义一个标签 boolean flag =true; //使用循环 do { System.out.println("*******************"); System.out.println("1.我要订餐"); System.out.println("2.查看钱袋"); System.out.println("3.签收订单"); System.out.println("4.删除订单"); System.out.println("5.我要点赞"); System.out.println("6.退出系统"); System.out.println("*******************"); //提示客户输入选择编号 System.out.println("请您选择需要的服务:"); int noId=input.nextInt(); //使用分支结构 switch (noId){ case 1: System.out.println("1.我要订餐"); break; case 2: System.out.println("2.查看钱袋"); break; case 3: System.out.println("3.签收订单"); break; case 4: System.out.println("4.删除订单"); break; case 5: System.out.println("5.我要点赞"); break; case 6: System.out.println("6.退出系统"); //将标记设置为false flag=false; break; } if(noId!=6){ System.out.println("是否继续使用本系统,输入0继续使用!随机输入其他退出"); noId=input.nextInt(); if(noId==0){ flag=true; }else{ flag=false; } } }while(flag); System.out.println("您已退出系统,欢迎下次再来!"); } }

9.2查看钱袋

step01需求

step02分析:

step03代码:

9.2我要订餐

step01需求

step02分析

step03

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值