JAVA ---数组

数组的定义

格式一:

​ 数据类型 [] 数组名

比如:int [] array

格式二:

​ 数据类型 数组名 []

比如: int array []

打印数组的时候,实际出现的是数组的地址值。

数组的地址值:就表示数组在内存中的位置。

数组的初始化:
1.静态初始化 :int [] arr = {10,20,30,40};
2.动态初始化:int [] arr = new int [3]

不可以混用静态初始化和动态初始化

数组的默认初始化值:

整数类型:0

小数类型:0.0

布尔类型:false

字符类型:‘\u0000’

引用类型:null

  • 索引一定是从0开始的。
  • 连续不间断。
  • 逐个+1增长。
    数组的遍历
    数组的遍历

遍历:就是把数组里面所有的内容一个一个全部取出来。

数组的长度:数组名.length;

int [] arr = {10,20,30,40};

        int sum = 0 ;
        for (int i = 0; i < arr.length; i++) {
            sum +=arr[i];
        }

        System.out.println(sum);

数组中求最大值

  int []array = {100,2300,300,400};
        int max = array[0];
        for (int i = 1; i <array.length ; i++) {
            if(max<array[i]){
                max = array[i];
            }
        }
        System.out.println(max);

数组的翻转1:

int []array1 = {100,2300,300,400};
        int []array2 = new int[array1.length];

        for (int i = array1.length-1,j = 0; i >=0&&j<array2.length;j++, i--) {
           array2[j] = array1[i];
        }

        for (int i = 0; i < array2.length; i++) {
            System.out.println(array2[i]);
        }

数组的翻转2:

int []array1 = {100,2300,300,400,100};
        int []array2 = new int[array1.length];
        int temp;
        long time1 = System.currentTimeMillis();
        for (int i = 0,j = array1.length-1; i <j; i++,j--) {
            temp =array1[i];
            array2[i] = array1[j];
            array2[j] =temp;
        }
        for (int i = 0; i < array2.length; i++) {
            System.out.println(array2[i]);
        }

生成随机的排名

        int []arr = new int[5];
        int i1 ,temp;
        Random random = new Random();
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < arr.length; i++) {
             arr[i] = scanner.nextInt();
        }

        for (int i = 0; i < arr.length; i++) {
             i1 = random.nextInt(arr.length);
             temp = arr[i];
             arr[i] = arr[i1];
             arr[i1] = temp;
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

求1-n的和

public static int sum(int n){
        int sum = 0;
        for (int i = 0; i <=n; i++) {
            sum+=i;
        }
        return sum;
    }

判断奇偶

public static boolean sum(int n) {
        if (n % 2 == 0) {
           return true;
        } else {
           return false;
        }
    }

在这里插入图片描述

public static double buy_ticket(int month,double price,int type) {

        if(month>=5&&month<=10)
        {
            type = 1;
        }
        else {
            if(month>12){
                System.out.println("月份错误");
                return -1.0;
            }
            type = 0;
        }

        switch (type){
            case 1:price*=0.9;
                    break;
            case 0:price*=0.7;
                break;
        }
        return price;
    }

在这里插入图片描述

 public static double average(int n){
        double sum = 0,temp = 0,temp_max = 0,temp_min = 0;
        Scanner scanner = new Scanner(System.in);

        for (int i = 0; i < n; i++) {
            temp = scanner.nextInt();
            sum+=temp;
            if(i ==0){
                temp_max = temp;
                temp_min = temp;
            }
            else {
                if (temp>temp_max)
                {
                    temp_max =temp;
                }
                if (temp<temp_min)
                {
                    temp_min =temp;
                }
            }
        }
        sum-=temp_max;
        sum-=temp_min;
        return sum/=(n-2);
    }

加密:

public static String password(int n )
    {
        byte [] temp = new byte[n];
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < n; i++) {
            temp[i] =scanner.nextByte();
            temp[i]+=5;
            temp[i]%=10;
        }

        byte []array = new byte[temp.length];
        byte temp1;
        for (int i = 0,j = temp.length-1; i <j; i++,j--) {
            temp1 =temp[i];
            array[i] = temp[j];
            array[j] =temp1;
        }

        String s = new String(array);
        return s;
    }

抢红包
在这里插入图片描述

public static void hongbao(int n, int arr[]){
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < n; i++) {
            int temp = scanner.nextInt();
            if(temp>n){
                System.out.println("没有那么多个红包,只有"+n+"个红包");
                i--;
                continue;
            }
            if(temp<=0){
                System.out.println("没有负数红包哦");
                i--;
                continue;
            }
            if(arr[temp-1]!=0){
                System.out.println("你取走了第"+(temp)+"个红包");
                arr[temp-1] =0;
            }
            else {
                System.out.println("第"+(temp)+"个红包已经被取走了");
                System.out.println("请重新输入");
                i--;
            }
        }
        System.out.println("红包已经被抢走了哦");
    }

判断素数

public static boolean get(int n){
        for (int i = 2; i < Math.sqrt(n); i++) {
            if(n%i == 0){
                return true;
            }
        }
        return false;
    }

九九乘法表

 for (int i = 1; i <=9; i++) {
            for(int j =1;j<=i;j++){
                System.out.print(i+"*"+j+"="+(i*j)+'\t');
            }
            System.out.println(' ');
        }

双色球和验证码没有做

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值