黑马程序员<梦想之旅>JDK1.5新特性
来源:互联网 发布:喊麦特效软件 编辑:程序博客网 时间:2024/04/30 15:12
<a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流!
1. 静态导入(了解)
JDK 1.5 增加的静态导入语法用于导入类的某个静态属性或方法。使用静态导入可以简化程序对类静态属性和方法的调用。
语法:
importstatic 包名.类名.静态属性|静态方法|*
例如:
importstatic java.lang.System.out
importstatic java.lang.Math.*
import static java.lang.System.out;
import static java.lang.Math.*;
public class Demo {
public static void main(String[] args) {
// 普通写法
System.out.println("hello world");
int max = Math.max(100, 200);
System.out.println(max);
// 静态导入
out.println("hello world");
int max2 =max(100, 200);
System.out.println(max2);
}
}
2. 增强for循环
引入增强for循环的原因:在JDK5以前的版本中,遍历数组或集合中的元素,需先获得数组的长度或集合的迭代器,比较麻烦!
因此JDK5中定义了一种新的语法——增强for循环,以简化此类操作。增强for循环只能用在数组、或实现Iterable接口的集合类上
语法格式:
for(变量类型 变量 :需迭代的数组或集合){}
For each是为了让你的代码变得简捷、和容易维护。
它的速度也普通遍历的速度是一致的。
3. 可变参数
JDK中具有可变参数的类Arrays.asList()方法。
分别传多个参、传数组,传数组又传参的情况。
注意:传入基本数据类型数组的问题。
从JDK 5开始, Java 允许为方法定义长度可变的参数。
语法:数据类型…变量名。
可变长参数是Object[] 数组。(可变参数里存的是对象数组)
JDK中的典型应用:
Arrays.asList(T…a)是jdk中的典型应用。
需求:对若干个整数进行求和
public static int sum1(inta,int b ) {
return a+b;
}
若干个整数求和如何解决?
可以使用数组接收整数。
public static int sum1(int[] numbers) {
if (numbers ==null) {
return 0;
}
if (numbers.length == 0) {
return 0;
}
int sum = 0;
for (int num : numbers) {
sum += num;
}
return sum;
}
可以使用可变参数
public static int sum2(int... numbers) {
if (numbers ==null) {
System.out.println("可变参数的值为null");
return 0;
}
if (numbers.length == 0) {
System.out.println("可变参数的值的长度为0");
return 0;
}
int sum = 0;
for (int num : numbers) {
sum += num;
}
return sum;
}
4. 自动装箱/拆箱
自动装箱:指开发人员可以把一个基本数据类型直接赋给对应的包装类。
自动拆箱:指开发人员可以把一个包装类对象直接赋给对应的基本数据类型。
典型应用:
List list = new ArrayList();
list.add(1);
//list.add(new Integer(1));
int i=list.get(0);
//int j = (Integer)list.get(0);
5. 枚举类
有时候,变量的取值只是在一个有范围内,例如:服装的尺寸有小,中,大,和超大尺寸.我们可以将这些尺寸定义为定义变量并保存值为 1,2,3,4 或者S M L X ,这样可以解决问题.但是变量很有可能保存了一个错误的值(0 或者m)
一些方法在运行时,它需要的数据不能是任意的,而必须是一定范围内的值,此类问题在JDK5以前采用自定义带有枚举功能的类解决,Java5以后可以直接使用枚举予以解决。
例如: 交通灯(红、黄、绿) 性别(男、女) 星期(星期一、二、三…..)
分数等级(A、B、C、D、E)
JDK 5新增的 enum 关键字用于定义一个枚举类。
枚举的实现
使用enum定义枚举类
在枚举类中定义枚举值(大写)
enum Gender {
MALE, FEMALE;
}
<a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流!
- 黑马程序员<梦想之旅>JDK1.5新特性
- 黑马程序员--java基础之jdk1.5新特性
- 黑马程序员-----jdk1.5新特性之枚举
- 黑马程序员—JDK1.5新特性之枚举enum
- 黑马程序员-高新技术-JDK1.5新特性之注解
- 黑马程序员-jdk1.5新特性之增强for循环
- 黑马程序员_高新技术-JDK1.5新特性之注解
- 黑马程序员_高新技术之Java-JDK1.5新特性
- 黑马程序员——java之JDK1.5新特性
- 黑马程序员-jdk1.5新特性---枚举
- 黑马程序员-jdk1.5新特性--注解
- 黑马程序员-jdk1.5新特性--泛型
- 黑马程序员-JDK1.5新特性
- 黑马程序员-jdk1.5新特性
- 黑马程序员-----jdk1.5的新特性
- 黑马程序员-----jdk1.5新特性
- 黑马程序员---jdk1.5新特性
- 黑马程序员--JDK1.5 新特性
- 把JSP想成和ASP一样简单【原创】
- Web Service实践之REST vs RPC
- ie6下ajax返回值失败
- ibatis入门教程
- java.lang.IllegalStateException: getOutputStream() has already been called for this response
- 黑马程序员<梦想之旅>JDK1.5新特性
- SVN 右键没有svn操作选项的解决方法
- 为何android的webview运行不了javascript?
- gdb常用命令
- log4j:WARN No appenders could be found for logger
- POJ1001
- 转一篇c++学习心得,鼓舞
- NSMutableURLRequest
- 【HDOJ】1201 -> 18岁生日