javaSE_06Java中的数组(array)-练习
(1),数组的两种遍历方式,顺序查找,二分查找,求最大最小数,冒泡排序,选择排序。
public class Test1{
public static void main(String[] args){
//1.数组的两种遍历方式,
int[] nums={34,54,29,3,9,234,9,5,56};
//for循环遍历数组,特点:有下标值
for(int i=0;i<=nums.length-1;i++){
System.out.print(nums[i]+" ");
}
System.out.println();
//增强for循环遍历数组,特点是无下标值
for(int d:nums){
System.out.print(d+" ");
}
System.out.println();
//2.顺序查找,特点:可以是无序数组
int a=nums[4];
for(int i=0;i<=nums.length-1;i++){
if(a==nums[i]){
System.out.println("要查找的数值是第"+(i+1)+"个");
}
}
//3.二分查找,特点:必须是有序数组,也不能有重复数据
int[] nums2={1,3,5,8,9,10,23,45,53};
int b=nums2[3];
int min=0;
int max=nums2.length-1;
int mid=(min+max)/2;
do{
if(b==nums2[mid]){
System.out.println("要查找的数值是第"+(mid+1)+"个");
break;
}else if(b<nums2[mid]){
max=mid-1;
}else{
min=mid+1;
}
mid=(min+max)/2;
}while(min<=max);
//4.求最大最小数
int max1=nums[0];
int min1=nums[0];
for(int i=0;i<nums.length-1;i++){
if(max1<nums[i]){
max1=nums[i];
}
}
System.out.println("数组nums的最大值:"+max1);
for(int i=0;i<nums.length-1;i++){
if(min1>nums[i]){
min1=nums[i];
}
}
System.out.println("数组nums的最小值:"+min1);
//冒泡排序:相邻两个数进行比较,若前面的大,那就与后一个数进行交换
System.out.println("对nums冒泡排序的结果如下:");
for(int j=0;j<=nums.length-2;j++){
for(int i=0;i<=nums.length-2-j;i++){
if(nums[i]>nums[i+1]){
int c=nums[i+1];
nums[i+1]=nums[i];
nums[i]=c;
}
}
}
for(int ns:nums){
System.out.print(ns+" ");
}
//选择排序:进行比较获取最小数的小标,把他赋值给第一个数
System.out.println("对nums选择排序的结果如下:");
for(int j=0;j<=nums.length-2;j++){
int key=j;
for(int i=j+1;i<=nums.length-1;i++){
if(nums[k]>nums[i]){
key=i;
}
}
int temp=arr[j];
nums[j]=nums[key];
arr[key]=temp;
}
}
}
(2),定义一个方法,用于得到数组的最大值和最小值,并将这两个结果进行返回
提示:返回的类型 int[]
public class Test1{
public static void main(String[] args){
//定义一个方法,用于得到数组的最大值和最小值,并将这两个结果进行返回
int[] nums={2,9,3,18,23,86,66,-23,34};
int[] maxMin=getMaxMin(nums);
System.out.println("该数组中的最大值为:"+maxMin[0]+",最小值为:"+maxMin[1]);
}
public static int[] getMaxMin(int[] array){
int max=array[0];
int min=array[0];
for(int i=1;i<=array.length-1;i++){
if(max<array[i]){
max=array[i];
}
if(min>array[i]){
min=array[i];
}
}
int[] maxMin={max,min};
return maxMin;
}
}