写点数组笔记

什么是数组?

1.数组就是一组具有相同数据类型的数据集合
2.数组是引用数据类型,实质是在内存中连续分配的内存空间
3.数组的取值和赋值都围绕索引/下标来展开(索引从0开始)

数组的特性

1.java的数组是引用类型,但数组中的元素可以是基本数据类型,也可以是引用类型
2.数组的长度一经确定不能改变

一维数组的使用

1.数组的定义和初始化:	数据类型 [] 数组名 = new 数据类型[length];
2.定义和静态初始化:	数据类型 [] 数组名 = {,,,......};
						或者:	数据类型 [] 数组名 = new 数据类型[] {,,,......};

数组的取值和赋值

赋值:数组名[索引] =;
取值: 数组名[索引];

怪东西

import java.util.Arrays;

/**
 * @Author: Bun
 * @Version: 1.0
 * @Date: 2022/9/24-16:10
 * @Name: Int[] array = {2,432,5221,235,2,5352,1,53,5,3,5364,2,2,63,3533,2,53,532,532};
 * 求所有元素和。
 * 输出所有下标为奇数的元素。如:下标为1 3 5 7等的元素值。
 * 输出所有元素中,值为奇数的。
 * 将所有元素乘二。
 * 将所有元素加到第一个元素中。 --> 将所有元素的累加和存入到第一个元素中。
 * 将原数组中为奇数的数字存到B数组中
 * 偶数元素存到C数组中  -->  为偶数的数字存到C数组中。
 * 分别逆序输出B数组和C数组。
 */
public class Day04TestSuper {
    public static void main(String[] args) {
        int[] array = {2, 432, 5221, 235, 2, 5352, 1, 53, 5, 3, 5364, 2, 2, 63, 3533, 2, 53, 532, 532};

        //元素和
        int sum = 0;
        for (int i : array) {
            sum += i;
        }
        System.out.println(sum);

        //输出下标为奇数的数
        for (int i = 0; i < array.length; i++) {
            if (i % 2 != 0) {
                System.out.print(array[i] + " ");
            }
        }

        //输出值为奇数的
        int A = 0;
        System.out.println();
        for (int i : array) {
            if (i % 2 != 0) {
                A++;
                System.out.print(i + " ");
            }
        }

        //所有元素乘以二
        int j = 0;
        for (int i : array) {
            array[j] = i * 2;
            j++;
        }
        System.out.println();
        System.out.println(Arrays.toString(array));

        //将所有元素的累加和存入到第一个元素中
        sum = 0;
        for (int i : array) {
            sum += i;
        }
        array[0] = sum;
        System.out.println(Arrays.toString(array));

        //将原数组中为奇数的数字存到B数组中
        int[] array1 = {2, 432, 5221, 235, 2, 5352, 1, 53, 5, 3, 5364, 2, 2, 63, 3533, 2, 53, 532, 532};
        int arrJi[] = new int[A];
        int B = 0;

        for (int i : array1) {
            if (i % 2 != 0) {
                arrJi[B] = i;
                B++;
            }
        }
        System.out.println("新奇数数组: " + Arrays.toString(arrJi));

        //为偶数的数字存到C数组中
        int C = 0;
        int arrOu[] = new int[array1.length - A];
        for (int i : array1) {
            if (i % 2 == 0) {
                arrOu[C++] = i;
            }
        }
        System.out.println("新偶数数组: " + Arrays.toString(arrOu));

        //奇数排序
        for (int i = 0; i < arrJi.length - 1; i++) {
            for (int k = 0; k < arrJi.length - 1 - i; k++) {
                if (arrJi[k] < arrJi[k + 1]) {
                    int temp = arrJi[k + 1];
                    arrJi[k + 1] = arrJi[k];
                    arrJi[k] = temp;
                }
            }
        }
        System.out.println("排序后: " + Arrays.toString(arrJi));

        //偶数排序
        for (int i = 0; i < arrOu.length - 1; i++) {
            for (int k = 0; k < arrOu.length - 1 - i; k++) {
                if (arrOu[k] < arrOu[k + 1]) {
                    int temp = arrOu[k + 1];
                    arrOu[k + 1] = arrOu[k];
                    arrOu[k] = temp;
                }
            }
        }
        System.out.println("排序后: " + Arrays.toString(arrOu));
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值