java数组练习
2017-11-04 18:22
477 查看
点击打开数组知识总结
1.数组遍历
public class Array { public static void main(String args[]){ //数组的遍历 int[] arr={1,2,3,5,6}; System.out.print("["); for(int i=0;i<arr.length;i++){ if(i==arr.length-1) System.out.print(arr[i]+"]"); else System.out.print(arr[i]+", "); } } }
运行结果:
2.输出数组中的最值
public class Array { public static void main(String args[]){ //获取数组最值 int[] arr2={11,87,63,59,36,72}; int max=arr2[0]; for(int i=0;i<arr2.length;i++){ if(arr2[i]>max) max=arr2[i]; } System.out.println("arr2的max: "+max); System.out.println("arr2的min: "+getMin(arr2)) } /*方法改进 需求:获取元素最小值 两个明确: 返回值类型:int 参数列表:int[] arr */ public static int getMin(int[] arr){ int min=arr[0]; for(int i=0;i<arr2.length;i++){ if(arr[i]<min) min=arr[i]; } return min; } }
运行结果:
3.数组元素逆序排列
分析:A:定义一个数组,并进行静态初始化
B:思路:
把0索引和arr.length-1的数据交换
把1索引和arr.length-2的数据交换
……
只要做到arr.length/2的时候即可
public class Array {
public static void main(String args[]){
//数组元素逆序
int[] arr3={11,22,33,55,66,77};
System.out.println("逆序前");
printArr(arr3);
System.out.println("\n逆序后");
reverse(arr3);
printArr(arr3);
}
//数组逆序方法:
public static void reverse(int[] arr){
for(int i=0;i<arr.length/2;i++){
int temp=arr[i];
arr[i]=arr[arr.length-1-i];
arr[arr.length-1-i]=temp;
}
}
public static void printArr(int[] arr){
System.out.print("[");
for(int i=0;i<arr.length;i++){
if(i==arr.length-1)
System.out.print(arr[i]+"]");
else
System.out.print(arr[i]+", ");
}
}
}
另法:改变方法体
public static void reverse(int[] arr){ for(int start=0,end=arr.length-1;start<=end;start++,end--){ int flag=arr[start]; arr[start]=arr[end]; arr[end]=flag; } }
运行结果:
方法二:
改变方法体,第一个索引最后一个索引分别设为start和end,根据索引交换数组元素的值,每交换一次,start++,end--,直到start等于end为止
public static void reverse(int[] arr){ for(int start=0,end=arr.length-1;start<=end;start++,end--){ int flag=arr[start]; arr[start]=arr[end]; arr[end]=flag; } }
4.数组查表法
根据键盘录入索引,查找对应星期import java.util.Scanner; public class Array { public static void main(String args[]){ //数组查表法:根据键盘录入索引,查找对应星期 String[] strArr={"星期1","星期2","星期3","星期4","星期5","星期6","星期7"}; System.out.print("请输入一个索引(0~6):"); Scanner sc=new Scanner(System.in); int index=sc.nextInt(); System.out.println("你要查找的日期是:"+strArr[index]); } }运行结果:
5.数组基本查找
数组元素查找(查找指定元素第一次在数组中出现的索引)分析:定义一个数组,并静态初始化,遍历数组,依次获取数组中的每一个元素, 和已知的数据进行比较,如果想等,就返回当前索引值 ;如果要查找的元素在数组中不存在,则一般返回负数-1
public class Array { public static void main(String args[]){ int[] searchArr={22,521,11,12,666,22}; System.out.println("2第一次在数组中出现的索引为:"+getArr(searchArr, 2)); System.out.println("22第一次在数组中出现的索引为:"+getArr(searchArr, 22)); } /* 需求:查找指定数值第一次在数组中出现的索引 两个明确: 返回值类型int; 参数列表:int[] arr,int value; */ public static int getArr(int[] arr,int value){ int index=-1; for(int i=0;i<arr.length;i++){ if(arr[i]==value) index=i; break; } return index; } }运行结果:
方法二:
改变方法体:
public static int getArr(int[] arr,int value){ for(int i=0;i<arr.length;i++){ if(arr[i]==value) return i; } return -1; }
相关文章推荐
- java基础学习记录之利用数组进行进制转换的学习与练习五
- JAVA数组练习
- Java数组练习
- Java数组练习(八)将输入的数组逆序输出
- java数组练习:三个班的同学参加比赛,每个班五名同学
- java基础学习记录之利用数组查表法进行进制转换的学习与练习六
- Java基本语法--数据类型、运算符表达式、基本控制语句、数组使用以及练习
- Java基础5--数组--数组练习
- java练习——求数组的最大值、最小值并升序降序排列
- JAVA数组练习
- Java基础编程小练习---(数组)学生成绩管理系统
- Lesson_for_java_day07--练习--求因子、求个数和、位置倒置、升序排列、键盘循环输入数组
- Java 基础一些代码练习笔记(Array数组)
- java基础学习记录之利用数组查表法进行进制转换优化的学习与练习七(十转二、十转八、十转十六)
- Java开发练习1,输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- Java-Java编程思想第四版 第十六章 数组 练习
- Java基本功练习七(一维数组强化[豆机问题、八皇后问题])
- Java 数组练习——排序和查找
- OC视频笔记3.10(可变数组的常用方法)3.12,3.13练习(略)(OC里description就是java里toString)
- Java数组练习中遇到的问题