第一章第五天Java基础语法 数组

数组的概念:用来保存一组具有相同数据类型的数据的一种存储结构。

注意:数组也是一种数据类型,数组类型,属于引用数据类型

数组的定义语法:

1、数据类型[] 数组名=new 数据类型[数组中存储数据个数];-----推荐使用该语法

2、数据类型 数组名[]=new 数据类型[数组中存储数据个数];

3、获取数组的长度:数组名.length

获取数组元素:

3、数据类型[] 数组名={值1,值2,…值n};

4、数据类型[] 数组名=new  数据类型[]{值1,值2,…值n};

例一:某百货商场当日消费积分最高的八名顾客,他们的积分分别是:18,25,7,36,13,2,89,63.编写程序找出最低的积分及它在数组中原始的位置(下标)。

public class Day07_1 {
    public static void main(String[] args){
        int [] arr = {18,25,7,36,13,2,89,63};
        int min = arr[0];
        int a = 0;
        for(int i = 0;i <arr.length;i++){
            if(arr[i] < min){
                min = arr[i];
                a = i;
            }
        }
        System.out.println("最低积分:" + min +"\n它在数组中原始的位置:" + a);
    }
}

例二:从键盘上输入10个整数,合法值为1、2或3,不是这三个数则为非法数字。试编程统计每个整数和非法数字的个数。程序的运行结果如下:

请输入10个数:

1

5

2

3

6

9

5

2

3

1

数字1的个数:2

数字2的个数:2

数字3的个数:2

非法数字的个数:4

 

import java.util.Scanner;
public class Day07_2 {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        int a = 0;
        int b = 0;
        int c = 0;
        int d = 0;
        int[] arr = new int[10];
        System.out.println("请输入10个数:");
        for(int i = 0;i <arr.length;i++){
            arr[i] = input.nextInt();
        }

        for(int i = 0;i < arr.length;i++){
            switch(arr[i]){
                case 1:
                    a += 1;
                    break;
                case 2:
                    b += 1;
                    break;
                case 3:
                    c += 1;
                    break;
                default:
                    d += 1;
                    break;
            }
        }
        System.out.println("数字1的个数:" + a);
        System.out.println("数字2的个数:" + b);
        System.out.println("数字3的个数:" + c);
        System.out.println("非法数字的个数:" + d);
    }

}

例三:假设有一个长度为5的数组,如下所示:

   int[] array=new int[]{1,3,-1,5,-2};

   现创建一个新数组newArray[],要求新数组中的元素的存放顺序与原数组的元素逆序,并且如果原数组中的元素小于0,在新数组中按0存储。编程输出新数组中的元素,程序运行结果如下:

原数组为:

1  3  -1  5  -2

逆序并处理后的数组为:

0  5  0   3   1

public class Day07_3 {
    public static void main(String[] args){
        int[] array = new int[]{1,3,-1,5,-2};
        int[] newArray = new int[5];
        System.out.println("原数组为:");
        for(int i = 0;i < array.length;i++){
            newArray[i] = array[i];
            System.out.print(array[i] + "\t");
        }
        System.out.println("\n" + "逆序并处理后的数组为:");
        for(int i = newArray.length - 1;i >= 0;i--){
            if(newArray[i] <0 ){
                newArray[i] = 0;
            }
            System.out.print(newArray[i] + "\t");
        }
    }
}

 

 

要从键盘输入4个数字并按升序排序,你可以使用Java语言中的Scanner类来获取用户的输入,并使用数组或集合来存储这些数字。然后,可以通过选择排序、冒泡排序、插入排序等算法对这些数字进行排序。这里给出一个使用数组和选择排序算法实现的示例代码: ```java import java.util.Scanner; public class SortNumbers { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] numbers = new int[4]; // 创建一个长度为4的数组来存储数字 // 输入4个数字 System.out.println("请输入4个数字:"); for (int i = 0; i < numbers.length; i++) { numbers[i] = scanner.nextInt(); // 读取输入的数字并存储到数组中 } // 关闭scanner scanner.close(); // 使用选择排序算法对数组进行排序 for (int i = 0; i < numbers.length - 1; i++) { // 假设当前位置为最小值 int minIndex = i; for (int j = i + 1; j < numbers.length; j++) { // 如果发现更小的值,更最小值的位置 if (numbers[j] < numbers[minIndex]) { minIndex = j; } } // 如果最小值不在当前位置,将其与当前位置的值交换 if (minIndex != i) { int temp = numbers[i]; numbers[i] = numbers[minIndex]; numbers[minIndex] = temp; } } // 输出排序后的数组 System.out.println("升序排序后的数字为:"); for (int num : numbers) { System.out.print(num + " "); } } } ``` 在这段代码中,我们首先导入了Scanner类,用于从控制台读取用户输入。然后创建了一个长度为4的整数数组来存储用户输入的数字。通过一个循环结构来读取用户的输入,并将其存储在数组中。接下来使用选择排序算法对数组中的数字进行排序,排序完成后通过另一个循环将排序后的数组打印出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值