知识点梳理
心得体会
小知识点
1.方法调用:返回值类型为void时只能单独调用,其他返回值类型可以根据需求选择单独调用、输出调用、赋值调用
2.主函数调用方法的同时也是传参给方法
3.方法重载只需记住一点:重载只与参数列表有关(个数、类型、顺序),与其他无关
4.返回值类型为void时,return可不写,但写上的话,return后不能有返回值
5.一个数组中只能使用一种初始化方式
数组倒序输出
三种办法:倒序输出 、中间值交换(一个变量)、中间值交换(两个变量)
public class ArrySwapDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数组的长度(正整数)");
int n = scanner.nextInt();
int [] arr=new int[n];
System.out.println("请输入"+n+"个整数,数字间用空格或换行隔开");
for (int i=0;i<n;i++){
arr[i]= scanner.nextInt();
}
printArr1(arr,n);//输出原数组
swapArr1(arr,1);//倒序输出原数组
swapArr2(arr);//中间值交换
printArr2(arr,2);//输出方法2交换后的数组
swapArr2(arr);//由于方法2会改变原数组索引与元素的对应关系,再调用一次恢复为原数组
swapArr3(arr);//中间值交换
printArr2(arr,3);//输出方法3交换后的数组
}
//打印输出输入数组,注意换行问题
public static void printArr1(int[]arr,int n){
System.out.print("输入的数组是:[");
for (int i=0;i<n;i++){
if (i==n-1){
System.out.println(arr[i]+"]");
}else{
System.out.print(arr[i]+",");
}
}
}
//方法一
//让for循环从数组索引最后一位向前循环,依次输出,不改变原数组元素与索引的对应关系,只是倒序输出
public static void swapArr1(int[]arr,int a){
System.out.print("方法"+a+":数组的倒序是:[");
for (int i=arr.length-1;i>=0;i--){
if (i==0){
System.out.println(arr[i]+"]");
}else {
System.out.print(arr[i]+",");
}
}
}
//方法二
//中间值交换,定义两个变量,改变了原数组元素与索引的对应关系
public static void swapArr2(int[]arr){
for (int i=0,j=arr.length-1;i<j;i++,j--){
int median=arr[i];
arr[i]=arr[j];
arr[j]=median;
}
}
//方法三
//中间值交换,定义一个变量,改变了原数组元素与索引的对应关系
public static void swapArr3(int[]arr){
for (int i=0;i<arr.length/2;i++){
int median=arr[i];
arr[i]=arr[arr.length-1-i];
arr[arr.length-1-i]=median;
}
}
//打印输出数组的倒序,注意换行问题
public static void printArr2(int[]arr,int a){
System.out.print("方法"+a+":数组的倒序是:[");
for (int i=0;i<arr.length;i++){
if (i==arr.length-1){
System.out.println(arr[i]+"]");
}else {
System.out.print(arr[i]+",");
}
}
}
}