Java 005 方法 数组 内存分配

知识点梳理

Java day 05

心得体会

小知识点

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]+",");
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值