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() 创建不可变集合 接口支持私有方法 更 ...
随机推荐
- Codeforces Gym 100523E E - Gophers SET
E - GophersTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.a ...
- delphi 中DLL的建立
Dll的创建与调用 File ->New->Other->Dll Wizard DLL的创建 //可以将本代码复制粘贴到项目中 library Project1; uses S ...
- HDU 4293 Groups (线性dp)
OJ题目:click here~~ 题目分析:n个人分为若干组 , 每一个人描写叙述其所在的组前面的人数和后面的人数.求这n个描写叙述中,最多正确的个数. 设dp[ i ] 为前i个人的描写叙述中最多 ...
- C# 循环获取目录
#region 获取目录 /// <summary> /// 获取指定文件夹下所有子目录及文件 /// </summary> /// <param name=" ...
- [Angular 2] Understanding @Injectable
In order to resolve a dependency, Angular’s DI uses type annotations. To make sure these types are p ...
- [Angular 2] Directive intro and exportAs
First, What is directive, what is the difference between component and directive. For my understandi ...
- 修改mac os分辨率(VMware)
转自:http://hi.baidu.com/hehonglei123/item/55591c17e7991d582a3e22a1 1. 在Mac系统中安装VMsvga2:VMsvga2_v1.2.3 ...
- 文件尾存在EOF吗?
参考:http://bbs.csdn.net/topics/290027166 我們先一起來看看FILE是怎么定義的: FILE <STDI ...
- 琐碎-hadoop2.2.0目录结构
之前了解了一下0.20.2和1.1.0.以后现在主流肯定是2.x吧,包含了之前没有的yarn bin Hadoop最基本的管理脚本和使用脚本,这些脚本是sbin目录下管理脚本的基础实现,用户可以用这些 ...
- 深入理解 GCD
前言 首先提出一些问题: dispatch_async 函数如何实现,分发到主队列和全局队列有什么区别,一定会新建线程执行任务么? dispatch_sync 函数如何实现,为什么说 GCD 死锁是队 ...