当前位置: 首页 > Thinking in Java > 正文

第5章– 初始化与清理 _Java,初始化数组,可变参数列表,枚举类型初始化

import java.util.Arrays;

/**
 * 1. 定义一个数组 int[] iArr; // 这时数组还没有初始化,不能使用
 * 2. 在定义时,初始一个数组 int iArr = new int[5]; //初始化为5个元素数组,为[0,0,0,0,0]
 * 3. 在定义时初始化一个数组 int iArr2 = {1,2,3,4,5}; 
 *    上面这种方式只能在定义时可以,假如int[] iArr; iArr = {1,2,3,4,5}; // 这样分两步不行
 *
 */
public class TestArray
{
  /**
   * 可变参数的函数
   * int ... args 这样的参数方式,表示可以传递任意多的参数给variableAgrs,
   * 在variableAgrs函数中args当成数组对待
   */
  public static void variableAgrs(int ... args)
  {
    System.out.println(args.length); //参数个数
    int iLen = args.length;
    for (int i=0;i<iLen;i++)
    {
      System.out.print(args[i]);
    }
    System.out.println("");
    
  }
  
  /**
   * 创建一个简单的枚举
   * 创建Spiciness后,指定的类似NOT这样的都是Spiciness的实例
   * Spiciness实例自动具有一些方法,比如toString(),ordinal()
   * Spiciness具有动态方法values();这个方法按照Spiciness中常量实例定义的顺序生成数组
   */
  enum Spiciness
  {
    NOT,MILD,MEDIUM,HOT,FLAMING
  }
  
  public static void main(String[] args)
  {
    //数组初始化
    int[] iArr = new int[5];   //5五个元素被初始化为[0,0,0,0,0]
    System.out.println(Arrays.toString(iArr));
    int[] iArr2 ;
    //System.out.println(Arrays.toString(iArr2)); //编译不通过,数组需要初始化
    //iArr2 = {1,2,3,4,5};编译不通过
    iArr2 = new int[3];
    System.out.println(Arrays.toString(iArr2));
    //{1,2,3,4,5} 这种方式初始化数组,只能在定义时,比如
    int[] iArr3 = {1,2,3,4,5};
    System.out.println(Arrays.toString(iArr3));
    
    //可变参数调用,可以传递0~任意多的参数
    variableAgrs();//输出  0   
    variableAgrs(1); //输出 1 1
    variableAgrs(1,2);//输出 2 12
    variableAgrs(iArr3); //甚至,可以传递数组引用, 输出 5 12345
    
    //枚举
    Spiciness spiciness = Spiciness.HOT;
    System.out.println(spiciness.toString()); //输出 HOT
    System.out.println(spiciness.ordinal()); //输出 3
    System.out.println(Arrays.toString(Spiciness.values())); //输出 [NOT, MILD, MEDIUM, HOT, FLAMING]
    //枚举可在switch中使用
    switch(spiciness)
    {
      case NOT:
      {
        System.out.println("Not");
        break;
      }
      case MILD:
      {
        System.out.println("MILD");
        break;
      }
      case MEDIUM:
      {
        System.out.println("MEDIUM");
        break;
      }
      case HOT:
      {
        System.out.println("HOT");
        break;
      }
      case FLAMING:
      {
        System.out.println("FLAMING");
        break;
      }
      default:
      {
        System.out.println("default");
        break;
      }
    }
  }
}

 

赞 赏

   微信赞赏  支付宝赞赏


本文固定链接: https://www.jack-yin.com/coding/thinking-in-java/2391.html | 边城网事

该日志由 边城网事 于2013年06月09日发表在 Thinking in Java 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 第5章– 初始化与清理 _Java,初始化数组,可变参数列表,枚举类型初始化 | 边城网事
关键字: ,

第5章– 初始化与清理 _Java,初始化数组,可变参数列表,枚举类型初始化 暂无评论

发表评论

快捷键:Ctrl+Enter