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)。
- Java(2012/2/4)
- Java(2012/2/2)
- Java(2012/2/1)
- Java(2012/2/3)
- Java(2012/2/5)
- Java(2012/2/6)
- Java(2012/2/7)
- Java(2012/2/8)
- Java(2012/2/12)
- JAVA(2012/2/13)
- JAVA 2012/2/13
- Java(2012/2/14)
- java 2-4
- Java(4-2)
- 【Java】(4)Java注解
- 【java 2】java泛型
- 【Java】(2)Java反射
- Java web(2012/2/17)
- 电脑的非法操作和解决
- 关于errno.h的解释(转载)
- JavaScript 面向对象编程
- 四极管 EBOOT最后一个函数OEMLaunch详解
- IsPostBack属性简介
- Java(2012/2/4)
- C++类的赋值运算符=的重载,以及深拷贝和浅拷贝
- 链接伪类的应用
- VS 常见快捷键有哪些
- 如何在excel中填写身份证号
- 什么是集约式,多范式编程?
- 登陆界面软件自动更新功能的实现
- Ubuntu学习1安装过程
- .net项目编译时,无法在证书存储区中找到清单签名证书