zoukankan      html  css  js  c++  java
  • 第5章 Java数组

     

    1.什么是数组

    数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据

    例如:int[] scores = {78,68,94,93};

    2.如何使用Java中的数组

    2.1申明数组

    使用前先声明,声明方式是:
    数据类型[] 数组名;

    数据类型 数组名[];

    例:int[] scores;等价int scores;

    2.2分配空间

    第二步需要为数组分配可以用的空间是多少。
    分配方式是:
    数组名 = new 数据类型[数组长度]

    例:scores = new int[5]

    说明:第一步中我们先使用int[] scores定义了一个数组,第二步中,我们给了scores数组分配了5个长度。
    上面两步可以合在一起:

    int[] scores = new int[5];

    2.3赋值

    利用上两步,我们创建了一个数组,第三步就需要往数组里面填充数据了。方式如下:

    scores[0]=89;
    scores[1]=78;

    2.4另外一种创建数组的方式

    上面使用了三个步骤来创建了一个数组,但是我们还有另外一种方式来创建一个数组,这个方式将数组的声明,分配空间,赋值都合并在一起了,方法如下:

    int[] scores = {78,89,78,98};

    这个完全等价于:

    int[] scores = new int[]{78,89,78,98};

    注意:这个右边的int[]里面是什么都不填的

    3.遍历数组

    遍历java数组一般都是用for,跟其他语言是一样的,特点有两个:
    1.数组的小标是从0开始
    2.数组最后一个数的下标是:数组长度-1
    遍历如下:

    1 public class HelloWorld {
    2     public static void main(String[] args) {
    3         String[] hobbys = { "sports", "game", "movie" };
    4         System.out.println("循环输出数组中元素的值:");
    5         for(int i=0; i<hobbys.length; i++){
    6          System.out.println(hobbys[i]);   
    7         }

    4.使用Arrays类操作数组

    java中对数组的一些操作方法都在Arrays中,这里举两个例子,其他的方法可以查询java.util.Arrays类
    Arrays类是在java.util.Arrays,用的时候要先导入

    4.1数组排序

    使用方法:Arrays.sort(数组名);

    4.2将数组转化为字符串

    使用方法:Arrays.toString(数组名);
    一个例子如下;

     1 //导入Arrays类
     2 import java.util.Arrays;
     3 
     4 public class HelloWorld {
     5     public static void main(String[] args) {
     6 
     7         // 定义一个字符串数组
     8         String[] hobbys = { "sports", "game", "movie" };
     9 
    10         // 使用Arrays类的sort()方法对数组进行排序
    11         Arrays.sort(hobbys);
    12 
    13         // 使用Arrays类的toString()方法将数组转换为字符串并输出
    14         System.out.println(  Arrays.toString(hobbys)          );
    15     }
    16 }

    5.使用foreach操作数组

    foreach方法其实是for方法的一个简化,是不需要下表而对数组遍历的一种方法,使用语法如下:
    for(元素类型 元素变量 : 遍历对象){
    执行的代码
    }
    举个例子:

     1 import java.util.Arrays;
     2 
     3 public class HelloWorld {
     4 
     5     public static void main(String[] args) {
     6 
     7         // 定义一个整型数组,保存成绩信息
     8         int[] scores = { 89, 72, 64, 58, 93 };
     9 
    10         // 对Arrays类对数组进行排序
    11         Arrays.sort(scores);
    12 
    13         // 使用foreach遍历输出数组中的元素
    14         for ( int score :scores ) {
    15             System.out.println(score);
    16         }
    17     }
    18 }

    6.Java中的二维数组

    一维数组时,数组中每个位置保存的都是一个数据,二维数组中,数组中每个位置保存的都是一个数组,二维数组是一张表

    6.1声明并分配空间

    数据类型[][] 数组名=new 数据类型[行的个数][列的个数]
    或者
    数据类型[][] 数组名;
    数组名 = new 数据类型[行的个数][列的个数]
    例如:

    int[][] num = new int[2][3]

    6.2赋值

    赋值是通过坐标赋值,坐标从0开始
    数组名[行的索引][列的索引]=值;

    例:num[0][0]=12;

    6.3处理数据

    二维数组处理数据是通过两个下坐标来的,通常遍历一个二维数组的时候是需要在一个for循环中再嵌套一个for循环

  • 相关阅读:
    (Java) LeetCode 44. Wildcard Matching —— 通配符匹配
    (Java) LeetCode 30. Substring with Concatenation of All Words —— 与所有单词相关联的字串
    (Java) LeetCode 515. Find Largest Value in Each Tree Row —— 在每个树行中找最大值
    (Java) LeetCode 433. Minimum Genetic Mutation —— 最小基因变化
    (Java) LeetCode 413. Arithmetic Slices —— 等差数列划分
    (Java) LeetCode 289. Game of Life —— 生命游戏
    (Java) LeetCode 337. House Robber III —— 打家劫舍 III
    (Java) LeetCode 213. House Robber II —— 打家劫舍 II
    (Java) LeetCode 198. House Robber —— 打家劫舍
    (Java) LeetCode 152. Maximum Product Subarray —— 乘积最大子序列
  • 原文地址:https://www.cnblogs.com/cenyu/p/6061545.html
Copyright © 2011-2022 走看看