Java(2012/2/4)

来源:互联网 发布:mac xls怎么打开 编辑:程序博客网 时间:2024/06/03 21:17

 一、增强的for循环

                         Java中的foreach方法如下:         //foreach循环中的迭代变量也不是集合元素本身,系统只是依次把集合元素的值赋给迭代变量,因此在foreach中修改迭代变量的值没有任何意义       

                          for(type variableName : array | collection)

                          {

                                       //variableName自动迭代访问每个元素

                          }

         当遍历结合或数组时,如果需要访问集合或数组的下标,那么最好使用旧式的方法实现循环或遍历,而不要使用增强的for循环,因为它丢失了下标的信息。

 

二、自动装箱/拆箱:针对八个原生类型和八个包装类的使用

        1)自动装箱:原生类型自动转为包装类型

        2)自动拆箱:包装类自动转为原生类型

例子:统计从参数行传入单词,打印出单词及其出现的次数

package com.xyh4;

import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;

public class Test1
{
    public static void main(String[] args)
    {
 Map<String, Integer> map = new TreeMap<String, Integer>();
 
 for(int i = 0; i < args.length; i++)
 {
     if(map.get(args[i]) == null)
     {
  map.put(args[i], new Integer(1));
     }
     else
     {
  map.put(args[i], new Integer(map.get(args[i]) + 1));
     }
 }
 
 Set<Entry<String, Integer>> set = map.entrySet();
 
 for(Entry<String, Integer> entry : set )
 {
     System.out.println(entry.getKey() + ":" + entry.getValue());
 }
    }
}

 

三、可变参数

       1)可变参数使程序员可以声明一个接受可变数目参数的方法。注意,可变参数必须是方法声明中的最后一个参数

       2)可变参数本质上就是一个数组,对于某个声明了可变参数的方法来说,我们既可以传递离散的值,也可以传递数组对象。但如果将方法中的参数定义为数组,那么只能传递数组对象而不能传递离散的值。

       3)可变参数必须要作为方法参数的最后一个参数,即一个方法不可能具有两个或两个以上的可变参数。

 

四、Enum(枚举):JDK1.5加入了一个全新类型的“类”----枚举类型。为此,引入一个新关键字enum

        1)枚举的定义:

          public  enum  Color

          {

                       Red,

                       White,

                       Blue

          }

        2)枚举的使用:

           Color myColor = Color.Red;

        3)定义枚举类型时本质上就是在定义一个类别,只不过很多细节由编译器帮您完成了,所以某些程度上,enum关键字的作用就像class或interface。

        4)当您使用“enum”定义枚举类型时,实质上您定义出来的类型继承自java.lang.Enum类型,而每个枚举的成员其实就是您定义的枚举类型的一个实例(Instance),他们都被预设为final,所以您无法改变他们,他们也是static成员,所以您可以类型名称直接使用他们,最重要的,他们都是公开的(public)。

原创粉丝点击