java入门第一季_1.6_数组

来源:互联网 发布:centos net snmp 安装 编辑:程序博客网 时间:2024/05/21 10:35

既然选择了远方,便只顾风雨兼程。

数组

数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。
Java语言中提供的数组是用来存储固定大小的同类型元素。

public class Demo1 {    public static void main(String[] args) {        // 定义一个数组,保存五名学生的成绩        int[] scores = { 78, 93, 97, 84, 63 };        // 输出数组中的第二个成绩        System.out.println("数组中的第2个成绩为:" + scores[1]);    }}

数组的基本使用

1、 声明数组

语法: 数据类型[ ] 数组名;

或者 数据类型 数组名[ ];

其中,数组名可以是任意合法的变量名,如:

2、 分配空间

简单地说,就是指定数组中最多可存储多少个元素

语法: 数组名 = new 数据类型 [ 数组长度 ];

其中,数组长度就是数组中能存放元素的个数,如:

话说,我们也可以将上面的两个步骤合并,在声明数组的同时为它分配空间,如:

3、 赋值

分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的,例如向 scores 数组中存放学生成绩

4、 处理数组中数据

我们可以对赋值后的数组进行操作和处理,如获取并输出数组中元素的值

在 Java 中还提供了另外一种直接创建数组的方式,它将声明数组、分配空间和赋值合并完成,如

它等价于:

使用循环操作 Java 中的数组

public static void main(String[] args) {        // 定义一个数组,保存五名学生的成绩        int[] scores = { 78, 93, 97, 84, 63 };        //for循环打印        for (int i = 0; i < scores.length; i++) {            System.out.print(scores[i]+"  ");        }        System.out.println();        //foreach打印        //foreach是for语句的特殊简化版本,在遍历数组、集合时, foreach更简单便捷。        //for(元素类型  变量:遍历对象){        //执行的代码        //}        for (int i : scores) {            System.out.print(i+"  ");        }    }

执行结果
78 93 97 84 63
78 93 97 84 63

编程练习

package com.zhb;public class Demo1 {    public static void main(String[] args) {        int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };        int max = nums[0]; // 假定最大值为数组中的第一个元素        int min = nums[0]; // 假定最小值为数组中的第一个元素        double sum = 0;// 累加值        double avg = 0;// 平均值        for (int i = 0; i < nums.length; i++) { // 循环遍历数组中的元素            // 如果当前值大于max,则替换max的值            if(nums[i]> max){                max = nums[i];            }            // 如果当前值小于min,则替换min的值            if(nums[i]< min){                min = nums[i];            }            // 累加求和            sum+=nums[i];        }        // 求平均值        avg = sum/nums.length;        System.out.println("数组中的最大值:" + max);        System.out.println("数组中的最小值:" + min);        System.out.println("数组中的平均值:" + avg);    }}

输出结果
数组中的最大值:148
数组中的最小值:4
数组中的平均值:49.0

使用 Arrays 类操作 Java 中的数组

Arrays 类是 Java 中提供的一个工具类,在 java.util 包中。该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序、搜索等.

package com.zhb;import java.util.Arrays;public class Demo1 {    public static void main(String[] args) {        // 定义一个字符串数组        String[] hobbys = { "sports", "game", "movie" };        // 使用Arrays类的sort()方法对数组进行排序        Arrays.sort(hobbys);            // 使用Arrays类的toString()方法将数组转换为字符串并输出        System.out.println( Arrays.toString(hobbys) );    }}

执行结果
[game, movie, sports]

java中的二维数组

所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组。

1、 声明数组并分配空间

或者

如:

2、 赋值

二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始

如:

3、 处理数组

二维数组的访问和输出同一维数组一样,只是多了一个下标而已。在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素。如:

运行结果:

需要了解的:在定义二维数组时也可以只指定行的个数,然后再为每一行分别指定列的个数。如果每行的列数不同,则创建的是不规则的二维数组,如下所示:

运行结果为:

冒泡排序

package com.zhb;public class Demo1 {    public static void main(String[] args) {        //冒泡排序        int [] nums={1,13,2,56,23,46};        int tmp;        for (int i = 0; i < nums.length-1; i++) {            for (int j = 0; j < nums.length-i-1; j++) {                if(nums[j]>nums[j+1]){                    tmp = nums[j];                    nums[j] = nums[j+1];                    nums[j+1]= tmp;                }            }        }        for (int i : nums) {            System.out.print(i+"  ");        }    }}

输出结果
1 2 13 23 46 56

1 0
原创粉丝点击