day05_数组(array)
array
数组的定义
1.动态定义:数据类型[] 数组名 = new 数据类型[元素个数];
2.静态定义:数据类型[] 数组名 = new 数据类型[]{,,,,,,} ; -------------->标准格式
数据类型[] 数组名 = {,,,,,,} ; --------->省略格式
一 . [交换元素新数组输出]
package array_TestWork; 方法可以嵌套调用,不可以嵌套定义
/*
1.分析以下需求,并用代码实现:
(1)定义一个int类型的一维数组,内容为{6,2,9,15,1,5,20,7,18}
(2)将数组最大元素与最后一位元素进行交换,最小元素与第一位元素进行交换,并打印数组
*/
public class Test01{
public static void main(String[] args){
//1.定义给定int类型数组
//2.有参无返回值 打印输出 直接调用
//3.打印方法中嵌套调用 获取最大值索引方法 获取最小值索引的方法 交换方法(无返回值)
//4.遍历数组输出
int[] arr = {6,2,9,15,1,5,20,7,18};
println(arr);
}
public static void println(int[] arr){
//赋值调用
int maxIndex = getMaxIndexx(arr);
int minIndex = getMinIndex(arr);
swap(arr,maxIndex,arr.length-1);
swap(arr,minIndex,0);
//遍历数组
for(int i = 0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
//获取最大值索引的方法
public static int getMaxIndexx(int[] arr){
//假设第一个元素为最大值
int index = 0;
for(int i = 0;i<arr.length;i++){
if(arr[index]<arr[i]){
index = i;
}
}
return index;
}
//获取最小值索引的方法
public static int getMinIndex(int[] arr){
//假设第一个元素为最小值
int index = 0;
for(int i = 0;i<arr.length;i++){
if(arr[index]>arr[i]){
index = i;
}
}
return index;
}
//交换方法
public static void swap(int[] arr,int i,int j){
int temp = arr[i];
arr[i] = arr[j];
arr[j] =temp;
}
}
二. [数组在方法中的应用]
package array_TestWork;
//5,定义一个方法,接收一个int数组,如果数组包含数字2两次,或数字3两次,则返回true.
public class Test04 {
public static void main(String[] args){
int[] arr = {23,2,3544542,28,3};
boolean b = method(arr);
System.out.println("b="+b);
}
//1.有参数有返回值 赋值调用
//2.if 逻辑或判断
//3.元素次数变量
public static boolean method(int[] a){
//定义元素为2和3的次数变量
int count1 = 0;
int count2 = 0;
for(int i = 0;i<a.length;i++){ //遍历数组
if(a[i]==2){
count1++;
}
if(a[i]==3){
count2++;
}
}
return count1==2||count2==2;
}
}
三.[赋值调用返回新数组]
package array_TestWork;
//9,定义一个方法,接收int数组,返回它的前2个元素的新数组。如果数组长度小于等于2,则返回原数组。-------> (新数组遍历)
public class Test07 {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5,6};
int[] a = method(arr);
for(int i = 0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
//1.有参数有返回值--------->赋值调用
//2.数组长度作为判断条件
public static int[] method(int[] arr){
if(arr.length<=2){
return arr;
}else{ //数组长度大于2时新创建数组
int[] newarr = new int[6]; //新创建有个数组
newarr[0] = arr[0];
newarr[1] = arr[1];
return newarr;
}
}
}

浙公网安备 33010602011771号