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 }

  • 相关阅读:
    【Salvation】——人物角色动画实现
    【Salvation】——项目进展&已取得的成果
    【Salvation】—— 项目策划&市场分析
    【前端阅读】——《程序员思维修炼》摘记&读后感&思维导图
    【性能优化】——前端性能优化之DOM
    【性能优化】——前端性能优化之图片
    【前端阅读】——《JavaScript入门经典》摘记之JavaScript与XML
    【前端阅读】——《JavaScript应用开发技术详解指南》摘记&思维导图
    【面试试题】——在浏览器输入网址,直到页面出现,之间发生了什么?
    【前端阅读】——《代码整洁之道》摘记之整洁代码、命名、函数、注释
  • 原文地址:https://www.cnblogs.com/evilliu/p/7595819.html
Copyright © 2011-2022 走看看