码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-07-19 10:12:24      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

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

数组

数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。
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

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

标签:

原文地址:http://blog.csdn.net/allenjay11/article/details/51945923

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!