zoukankan      html  css  js  c++  java
  • java 数组

    一:

    在java中定义数组类似于python的列表,但是python的列表存储的数据类型可以是任意的,但是java在声明一个数组的时候,需要指定类型,而且之只能存储一个类型的数据。一旦java数组定义了数组的长度,就不能做修改。

    但是python 没有这个限制。数组的取值可以用数组的下标进行取值,改值需要直接arr[i]=x形式。

    定义方式:数据类型[]  变量名= new(非内部数据类型) 数据类型[长度]

    如下:

     1 public class  print_In{
     2     public  static  void  main(String[]  args){
     3         int[] arr=new  int[100];
     4         int i;
     5         for (i=1;i<100;i++){
     6             arr[i]=i;
     7             System.out.println("arry is "+arr[i]);
     8         }
     9         arr[99]=127;
    10         System.out.println("the index of 99 is"+' '+arr[99]);
    11     }
    12 }

     在初始化数组的时候,整数的值为0,字符串为null。对象数组初始化为null,表示没有对象,布尔初始化为false。

    想修改初始值,可以使用for循环来改变。

    判断元组的长度,可以使用length来计算。

    数据的下标 也就是索引也是从0开始到n-1和python 的一样,所以如果取数组的值:a[n]这种情况的话,会抛出错误。在这种情况下可以用数组的length方法来判断,避免出现错误如下:

    1 public class arr {
    2     public  static  void main(String[] args){
    3         int[] arr_test=new  int[10];
    4         for(int i=2;i<arr_test.length;i++){
    5             System.out.println(arr_test[i]);
    6             System.out.printf("%d
    ",arr_test[i]);
    7         }
    8     }
    9 }

     需要注意:

          printf()方法只能输出字符串类型!!

    还有更好的方法:

    for  each方法

    1 public class arr {
    2     public  static  void main(String[] args){
    3         int[] arr_test=new  int[10];
    4         for (int a:arr_test){
    5             System.out.println(a);
    6         }
    7     }
    8 }

    语法:

    for(数据类型 变量:可迭代的列表或者迭代器){

      statement;

    }

    变量和迭代的对象类型一样,变量和迭代对象之间用冒号:  来连接 不是分号!!!

    如上的操作可以更加简洁的输出我们的迭代对象!

     数组的初始化和匿名数组

    初始化的时候,不需要使用new关键字!!

    1 public class arr {
    2     public  static  void main(String[] args){
    3         int[] arr_test={1,2,3,4,5,6};
    4         for (int a:arr_test){
    5             System.out.println(a);
    6         }
    7     }
    8 }

    改变数组的长度和赋值:

    使用Arrarys.copyOf(arra,length)

     1 import java.util.Arrays;
     2 
     3 public class arr {
     4     public  static  void main(String[] args){
     5         int[] arr_test={1,2,3,4,5,6};
     6         int[] arr_res;
     7         arr_res= Arrays.copyOf(arr_test ,2*arr_test.length);
     8         for (int a:arr_res){
     9             System.out.println(a);
    10         }
    11     }
    12 }

    可以通过这个方法间接修改数据的长度。

    如果数据的长度一样,那么他们指向同一数组。

    Arrarys.toString方法:

    将数组转换成一个用中括号括起来的字符串。

     1 import java.util.Arrays;
     2 
     3 public class arr {
     4     public  static  void main(String[] args){
     5         int[] arr_test={1,2,3,4,5,6};
     6         String[] arr_str=new String[10];
     7         arr_str[0]=Arrays.toString(arr_test);
     8         System.out.println(arr_str[0]);
     9     }
    10 }

  • 相关阅读:
    mysql常用基本命令
    mysql8.0.13下载与安装图文教程
    k8s ingress 增加跨域配置
    Jenkins 备份恢复插件 thinBackup 使用
    k8s HA master 节点宕机修复
    nginx 跨域问题解决
    mongodb 3.4.24 主从复制
    k8s 线上安装 jenkins并结合 jenkinsfile 实现 helm 自动化部署
    k8s helm 运用与自建helm仓库chartmuseum
    centos6 源码安装 unzip
  • 原文地址:https://www.cnblogs.com/evilliu/p/7595819.html
Copyright © 2011-2022 走看看