java新手笔记32 jdk5新特性
1.for
package com.yfs.javase; import java.awt.Color;
import java.util.Calendar;
import java.util.HashSet;
import java.util.Set;
@SuppressWarnings("all")
public class ForDemo { /**
* @param args
*/
public static void main(String[] args) {
//useArray();
//useSet();
boxTest();
//
// Calendar cal = Calendar.getInstance();
// int year = cal.get(Calendar.YEAR); }
@Deprecated
public static void boxTest() {
int a = 10;
Integer oInt = new Integer(a);
Integer o2 = a;//自动装箱
System.out.println("o2 = " + o2); int b = o2 + 1; // 自动拆箱
System.out.println("b = " + b);
}
public static void useSet() {
Set<String> set = new HashSet<String>();
set.add("eee");
set.add("ccc");
set.add("aaa");
set.add("bbb");
set.add("yyy");
for (Object s : set) {
System.out.print((String)s + "\t");
} }
//增强for
public static void useArray() {
int[] a = {45,23,11,68,28,65,9,2,18,97};
for(int i : a) {
System.out.print(i + "\t");
} }
@Override//元数据
public String toString() {
// TODO Auto-generated method stub
return super.toString();
} }
2.静态导入
package com.yfs.javase;
import static java.lang.Math.PI;//静态导入
import static java.lang.Math.sqrt;
public class StaticImport { /**
* @param args
*/
public static void main(String[] args) {
//staticTest();
paramTest("java",2,3);
// paramTest(2,3,4,5,6);
// paramTest(10,20,30,40);
// paramTest(new int[]{45,22,61,32,78,15,24,63,98});
}
//变长参数 1.只能有一个 2.类型没有限制 3.可以传其他参数 必须在变长参数之前
public static void paramTest(String name, int ... a /*, Object...obj*/) {
int sum = 0;
System.out.println("call paramTest(int ... a) ...");
for (int i = 0; i < a.length; i++) {
sum += a[i];
}
System.out.println("sum = " + sum); } public static void paramTest(int a,int b) {
int sum = a + b;
System.out.println("sum = " + sum); } public static void staticTest() {
double area = Math.PI * 2 *2;
area = PI* 4 * 4;
area = PI* 6 * 6;
double result = Math.sqrt(16);
result = sqrt(81);
} }
3.Thread1继承 Thread
package com.yfs.javase.thread;
public class Thread1 extends Thread {
public void test() {
while( true ) {
System.out.println("bbbbbbbbbb");
}
}
@Override
public void run() {//覆盖父类run方法
while( true ) {
System.out.println(Thread.currentThread().getName() + "bbbbbbbbbb");
}
}
}
4.Thread2实现Runnable接口
package com.yfs.javase.thread;
public class Thread2 implements Runnable {
@Override
public void run() {
while(true) {
System.out.println(Thread.currentThread().getId() + "ccccccccccc");
}
}
}
5.Thread1测试(单线程)
package com.yfs.javase.thread;
public class ThreadDemo1 {
public static void main(String[] args) {
Thread1 th1 = new Thread1();
th1.test();
for (int i = 0;; i++) {
System.out.println("aaaaaaaaaaa");
}
//System.out.println("执行结束...");
}
}
6.Thread2测试(多、线程启动)
package com.yfs.javase.thread;
public class ThreadDemo2 {
public static void main(String[] args) {
//继承Thread类
Thread1 th1 = new Thread1();
th1.start();//调用父类start方法
//实现runnabel接口
Thread2 r2 = new Thread2();
Thread th2 = new Thread(r2);
th2.start();
for (int i = 0;; i++) {
System.out.println("aaaaaaaaaaa");
}
//System.out.println("执行结束...");
}
}
7.currentThread
package com.yfs.javase.thread;
public class ThreadDemo3 {
// 线程启动
public static void main(String[] args) throws Exception {
// 继承Thread类
Thread1 th1 = new Thread1();
//th1.run();//普通方法调用 线程的执行代码============?????注意
//启动
th1.setName("逗你玩 ");
th1.start();
//接口
Thread th2 = new Thread(new Thread2());
th2.start();
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);===========
for (int i = 0;; i++) {
Thread.sleep(1);
System.out.println( Thread.currentThread().getPriority() + " aaaaaaaaaaa");
}
}
}
java新手笔记32 jdk5新特性的更多相关文章
- JDK5新特性之 可变参数的方法
可变参数的方法:不知道这个方法该定义多少个参数 注意: > 参数实际上是数组 > 必须写在参数列表最后一个 package cn.itcast.day24.varparam; import ...
- Java API —— JDK5新特性
JDK5新特性 自动拆装箱.泛型.增强for.静态导入.可变参数.枚举 1.增强for概述 1)简化数组和Collection集合的遍历 2)格式: ...
- day27<反射&JDK5新特性>
反射(类的加载概述和加载时机) 反射(类加载器的概述和分类) 反射(反射概述) 反射(Class.forName()读取配置文件举例) 反射(通过反射获取带参构造方法并使用) 反射(通过反射获取成员变 ...
- JDK5 新特性
JDK5新特性目录导航: 自动拆装箱 Foreach 静态导入 可变参数 Var args 枚举 格式化输出 泛型 ProcessBuilder 内省 线程并发库(JUC) 监控和管理虚拟机 元数据 ...
- Java高新技术 JDK1.5之新特性
Java高新技术 JDK1.5的新特性 知识概要: (1)静态导入 (2)可变参数 (3)增强for循环 (4)基本数据类型的自动拆箱和装箱 静态导入 ...
- Java9发布回顾Java 8的十大新特性
java9已经在北京时间9月22日正式发布,开发者可以在oracle jdk官网上下载到最新的jdk9. 今天,我们先来一起复习一下2014年发布的Java 8的十大新特性.先来喝杯java~~~ 按 ...
- C++ 学习笔记(一些新特性总结3)
C++ 学习笔记(一些新特性总结3) public.protected 和 private 继承 public 继承时,基类的存取限制是不变的. class MyClass { public: // ...
- Java学习:JDK8的新特性
Java学习:JDK8的新特性 一.十大特性 Lambda表达式 Stream函数式操作流元素集合 接口新增:默认方法与静态方法 方法引用,与Lambda表达式联合使用 引入重复注解 类型注解 最新的 ...
- Java 各个版本中的新特性
新特性你知道多少? Java 8 Lambda 表达式 接口增加默认方法等 方法引用 流 Stream Java 9 模块系统 交互式工具jshell .of() 创建不可变集合 接口支持私有方法 更 ...
随机推荐
- 最小投票BZOJ 1934([Shoi2007]Vote 善意的投票-最小割)
上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助.今天在这里和大家一起学习一下最小投票 1934: [Shoi2007]Vote 好心的投票 Time Limit: 1 Sec Memory L ...
- CentOS 6.5安装MySQL中文乱码问题解决
不管是Linux还是Windows都有新手遇到MySQL服务安装好了之后写入中文发现乱码,今天我装了个CentOS 6.5也遇到了这个问题,现在解决了,分享一下经验. 1.首先安装mysql,我很怕麻 ...
- Android动画的实现 上
在Android系统中也能经常见到动画,那么如何实现动画效果呢?本文就来为大家介绍动画的实现方式. Android中动画的实现分两种方式,一种方式是补间动画Tween Animation,就是说你定义 ...
- [Angular 2] Understanding OpaqueToken
When using provider string tokens, there’s a chance they collide with other third-party tokens. Angu ...
- cvsnt 设置用户、修改密码
忘记密码后,可以用administrator 新建一个用户,使用这个用户的账号. password agent 设置clear password不好使.. cvsnt配置 创建用户1 .下载cvs ...
- Discuz!X/模板标签说明
Discuz 模板标签说明 Discuz! 的模板采用近似 PHP 表达式的语法,基本都是可识别的HTML,但涉及到变量和动态内容时,基本形式下: <!-{ 代码内容 }-> 逻辑元素包围 ...
- Logback日志使用详解
概述 Logback建立于三个主要类之上:日志记录器(Logger),输出端(Appender)和日志格式化器(Layout).这三种组件协同工作,使开发者可以按照消息类型和级别来记录消息,还可以在程 ...
- Log4Net之初步了解
原创文章,转载必需注明出处:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/log4net%E4%B9%8B%E5%88%9D%E6 ...
- oracle--number
1. oracle的number类型是oracle的内置类型之一,是oracle的最基础数值数据类型.在9iR2及其以前的版本中只支持一种适合存储数值数据的固有数据类型,在10g以后,才出现了两种新的 ...
- 双向BFS
转自“Yuan” 如果目标也已知的话,用双向BFS能很大提高速度 单向时,是 b^len的扩展. 双向的话,2*b^(len/2) 快了很多,特别是分支因子b较大时 至于实现上,网上有些做法是用两个 ...