一维数组定义和参数传递

  • 一维数组定义的方式
  • 一维数组打印的两种方式
  • 将数组以字符串形式输出
  • 原数组不变,将数组乘二输出
  • 参数传递
  • 参数传递图解
  • 找出给出的数组中,只出现一次的数字
  • 动态数组的生成方式
  • 交换两个数组的值
  • 注意点:
    int[] arr = {};
    System.out.print(arr[0]);
    报错:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
        at appear1.main(appear1.java:26)
    

1.一维数组定义的方式

  int [] array = {1,2,3,4};
  int [] array2 = new int[]{11,22,33};
  int [] array3 = new int[4];//默认是0

2.一维数组打印的两种方式

public static void main(String[] args) {
        int [] array = {1,2,3,4};
        int [] array2 = new int[]{11,22,33};
        int [] array3 = new int[4];//默认是0
        array3[0] = 1;
        int len = array.length;//属性
        System.out.println(len);
        //数组打印的两种方式
        //法一
        for(int i = 0; i <array.length; i++){
            System.out.print(array[i]+" ");
        }
        System.out.println("=================");
        //方法二:
        for(int val:array){
            System.out.print(val+" ");
        }
}

3.将数组以字符串形式输出

 //打印字符串
    public static void main5(String[] args){
        int [] array = {1,2,3,6,5};
        System.out.print(Arrays.toString(array));
    }

 4.原数组不变,将数组乘二输出

 public static void main(String[] args) {
        int[] array ={3,5,6,7};
        transform(array);
        printArray1(array);

    }
    public static void printArray1(int[] arr){
        for(int i = 0; i <arr.length; i++){
            System.out.print(arr[i]);
        }
    }
    public static void transform(int[] arr){
        for(int i = 0; i < arr.length; i++){
            arr[i] = arr[i]*2;
        }
    }

5.参数传递

public class Chuandi {
    public static void main(String[] args) {
        int [] arr = {1,2,3};
        func(arr);
        System.out.println("arr[0]= " + arr[0]);

    }
    public static void func(int[] a){
        a[0] = 10;
        System.out.println("a[0]= " + a[0]);
        System.out.println(a[2]);
    }
}
//输出结果 arr[0] = 10; arr[0]=10; a[2]=3

6.数组参数传递图解

7.找出给出的数组中,只出现一次的数字  考察 & | ^  

思路:两个相同的数字异或为0    0^任何数字为任何数字

public class findOne {
    //找出给定数组中出现一次的数字
    public static void main(String[] args) {
        int[] array = {1,4,3,1,2,4,3};
        int ret = 0;
        for(int i = 0; i < array.length; i++){
            ret ^= array[i];
        }
        System.out.println(ret);
    }
}

8.动态生成数组的方式

import java.util.Arrays;
import java.util.Scanner;

/**
 * @program: sixiang
 * @description
 * @author: wenwen
 * @create: 2021-07-07 17:52
 **/
//有一组数据,只有一个数字是出现一次,其他是两次,请找出这个数字。
public class appear1 {
    public static void appear1(int[] arr){
        int x = 0;
       for(int i = 0; i < arr.length; i++){
          x= x^arr[i];
         //  System.out.println(x);
       }
        System.out.println(x);
    }
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
//        int[] array = {1,2,2,1,3};
//        appear1(array);



        int n = scan.nextInt();
        while(scan.hasNext()){
            int[] arr = new int [n];

            for(int i = 0; i < n; i++){
                arr[i]= scan.nextInt();
            }
            System.out.print(Arrays.toString(arr));
        }
    }
}

9.交换两个数组的值

import java.util.Arrays;

/**
 * @program: sixiang
 * @description
 * @author: wenwen
 * @create: 2021-07-07 19:15
 **/
//交换两个数组
public class swapArray {
    public static void swap(int[] array1,int[] array2){
        for(int i = 0; i < array1.length; i++){
            int temp = array1[i];
            array1[i] = array2[i];
            array2[i] = temp;
        }

    }
    public static void main(String[] args) {
        int[] array1 = {1,2,3,4};
        int[] array2 = {4,5,6,7,8,9};
        swap(array1,array2);
        System.out.println(Arrays.toString(array1));
        System.out.println(Arrays.toString(array2));
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值