• JavaSE学习(五):数组及其基础操作


    第一 数组

    1.1 数组定义

    将具有相同数据类型的数据集中再一个容器中,这个容器我们称之为数组。数组也是引用数据类型中的一种。

    1.2 数组的声明的方式

    1、方式一:

    数据类型[] 数组名 = new 数据类型[数组的长度];

    2、方式二:

     数据类型[] 数组名 = {数值1,数值2...};

    3、方式三:

     数据类型[] 数组名 = new 数据类型[] {数值1,数值2....};

    1.3 Java中的三种注释方式

    方式一:单行注释

    //   解释当前行代码

    方式二:多行注释

    /*注释内容*/   解释一段内容

    方式三:文档注释

    /**注释内容*/   解释当前类的内容

    例程:Demo1.java

     1 /**文档注释:
     2  * @author:Kanekiyi
     3  * 
     4  * 代码功能:数组声明的三种方式
     5  * 
     6  * */
     7 
     8 public class Demo1 {
     9     /*
    10      * 注释方法二之多行注释
    11      */
    12     public static void main(String[] args){
    13         
    14         //1、先声明后初始化
    15         int[] arr1 = new int[3];
    16         
    17         //2、声明的时候进行初始化操作
    18         String[] arr2 = {"期间","  ","www"};
    19         int positon = Arrays.binarySearch(arr2, "www");  
    20         
    21         System.out.println( positon);   //数组的地址
    22 
    23         //3、将12合起来
    24         int[] arr3 = new int[] {1,2,3};   //注意[]内不能有内容
    25         
    26     }
    27 
    28 }
    View Code

     

    二节 数组的操作

    2.1 数组的获取

    1:通过数组的下标来访问数组,从0开始,0表示数组中的第一个数据。也就是 数组名[0]表示数组中的第一个数据。

    2:通过length属性表示数组的长度

    数组名.length 可以获取数组的长度。数组的最后一个元素可以用:

    数组名[数组名.length-1]来获取

    3:数组的输出

    通过函数 Arrays.toString[数组名] 来输出数组

    思考:数组大小可以改变吗?

    数组的大小一旦确认后就不能改变。如果发生了改变将不是原来的数组地址,会开辟新的空间来指作为创建新的数组地址。

    可以通过数组的扩容和缩容来实现改变数组的大小。

    2.2 数组的扩容和缩容

    调用方法:

    Arrays.copyOf(原数组,新的数组长度);

    注:数组的扩容或缩容都是再原来的数组的末尾增加或减少数组值。

    例程:Demo2

     1 package com.auto.javase;
     2 
     3 import java.util.Arrays;
     4 /**
     5  * 
     6  * @项目名称:javaSEDay06m
     7  * @模块功能:数组的扩容缩容
     8  * @模块版本:
     9  * @JDKVersions:JDK 8.0
    10  * @author:  Kanekiyi
    11  * @time: 8月 7   下午1:49:26
    12  */
    13 public class Demo2 {
    14     public static void main (String[] args) {
    15 
    16         //1、通过数组的下标来访问数组数据
    17         int[] arr = new int[3];
    18         arr[0] = 1;
    19         arr[1] = 2;
    20         arr[2] = 3;
    21         //arr[4] = 6;   //如果超过数组长度会报异常
    22         System.out.println("数组的长度"+arr.length);
    23         
    24         //2、通过Arrays.toString(arr)来输出数组值
    25         System.out.println( Arrays.toString(arr) );
    26         
    27         //3、数组的扩容
    28         arr = Arrays.copyOf ( arr,5 );
    29         System.out.println( "数组的地址"+arr);   //数组的地址
    30 
    31         arr[4] = 6;  
    32         System.out.println("扩容后的数组为"+ Arrays.toString(arr) );
    33          //在原来的长度基础上增加长度
    34         arr = Arrays.copyOf ( arr,arr.length+8 );           
    35         arr[8] = 16;  
    36         System.out.println("扩容后的数组为"+ Arrays.toString(arr) );
    37 
    38         //数组的地址
    39         System.out.println( "数组的地址"+arr);  
    40         
    41         //4、数组的缩容
    42         arr = Arrays.copyOf(arr,arr.length-10);
    43         System.out.println("缩容后的数组为"+ Arrays.toString(arr) );
    44         
    45         System.out.println( "数组的地址"+arr);  //数组的地址
    46 
    47         arr = Arrays.copyOf(arr,1);
    48         System.out.println("缩容后的数组为"+ Arrays.toString(arr) );
    49         System.out.println( "数组的地址"+arr);  //数组的地址
    50 
    51     }
    52 }
    View Code

    2.3 数组的默认值

    数组中数组的默认值

    整数类型:0

    浮点类型:0.0

    字符类型:\u0000

    布尔类型:false

    引用数据类型:null

    例程:Demo4.java

     1 package com.auto.javase;
     2 
     3 import java.util.Arrays;
     4 
     5 /**
     6  * 数组中的数据类型的默认值
     7  *
     8  */
     9 public class Demo4 {
    10      public static void main(String[] args) {
    11     int[] arr1=new int[2];
    12     double[] arr2=new double[2];
    13     char[] arr3=new char[2];
    14     boolean[] arr4=new boolean[2];
    15     String[] arr5=new String[2];
    16     System.out.println(Arrays.toString(arr1));
    17     System.out.println(Arrays.toString(arr2));
    18     System.out.println(Arrays.toString(arr3));
    19     System.out.println(Arrays.toString(arr4));
    20     System.out.println(Arrays.toString(arr5));
    21     }
    22 }
    View Code

    2.4 数组的遍历

    方式一:

    普通for循环实现

    int[] arr = {...};

    for(int i = 0; i<arr.length; i++){

      arr[i];

    }

    方式二:

    增强for循环实现

    int[] arr = {...};

    for(int num:arr){

      num;

    }

    int:num的数据类型;

    num:每遍历一次的数据;

    arr:要遍历的数组名称;

    例程:Demo4.java

     1 package com.auto.javase;
     2 
     3 import java.util.Arrays;
     4 /**
     5  * 
     6  * @项目名称:javaSEDay06m
     7  * @模块功能:数组中的数据类型的默认值
     8  * @模块版本:
     9  * @JDKVersions:JDK 8.0
    10  * @author:  Kanekiyi
    11  * @time:  8月7日  下午1:52:15
    12  */
    13 public class Demo4 {
    14     public static void main (String[] args) {
    15         
    16         //1、通过数组的下标来访问数组数据
    17         int arr1[] = new int[] {1,2,3,4};
    18         
    19         for (int i = 0; i<arr1.length; i++) {
    20             System.out.println(arr1[i]);
    21 
    22         }
    23         
    24         //2 增强for循环
    25         for (int num:arr1) {
    26             System.err.println(num);
    27         }
    28         
    29     }
    30 }
    View Code

     

    2.5 数组的中的数据交换

    方式:通过临时变量来达成二者的交换

    例如:交换数组的最后一位与第一位

    int[]  arr = {1,2,3,4};

    int a = arr[arr.length-1];

    arr[arr.length-1] = arr[0];

    arr[0] = a;

    例程:Demo05.java

     1 package com.auto.javase;
     2 
     3 import java.util.Arrays;
     4 
     5 public class Demo5 {
     6     public static void main (String[] args) {
     7         /**
     8          * 
     9          * 数组中的数据的交换,将数组中的最后一个元素与第二个元素进行交换
    10          * */
    11         
    12         int[]  arr = {1,2,3,4};
    13         System.out.println( Arrays.toString(arr) );
    14 
    15         int a = arr[arr.length-1];      //将最后一个数赋给引入的第三个数
    16         arr[arr.length-1] = arr[1];     //将第二个数赋给最后一个数
    17         arr[1] = a;                              //将引入的第三个数(原最后一个数)赋给第二个数
    18         System.out.println( Arrays.toString(arr) );
    19 
    20 
    21     }
    22 }
    View Code

    练习:将数组从正序改为倒序输出:

    Text1.java

     1 package com.auto.javase;
     2 
     3 import java.util.Arrays;
     4 
     5 public class Text1 {
     6     public static void main(String[] args) {
     7         
     8         int[]  arr = {1,2,3,4,5,6,7,8,9};
     9         System.out.println( Arrays.toString(arr) );
    10 
    11         for (int i =0; i<arr.length/2; i++) {
    12             
    13             int x = arr[arr.length-i-1];      //将最后一个数赋给引入的第三个数
    14             arr[arr.length-i-1] = arr[i];     //将第二个数赋给最后一个数
    15             arr[i] =x;    
    16             
    17         }
    18         
    19         System.out.println( Arrays.toString(arr) );
    20     }
    21     
    22 }
    View Code

     

  • 相关阅读:
    机器学习
    区块链
    MongoDB 生态 – 可视化管理工具
    分库分表适用场景
    权限管理
    ASP .NET Core 2.1 HTTP Error 502.5 – Process Failure
    Core2.0 项目到2.1
    Anaconda 安装和使用Numpy、Scipy、pandas、Scikit-learn
    NET Core 2.1.0 now available
    SQL Server发布订阅功能研究
  • 原文地址:https://www.cnblogs.com/Kanekiyi/p/9501120.html
Copyright © 2020-2023  润新知