分类: Java
2012-05-18 15:20:30
demo9:
public class test extends Thread {
/*
第一种创建线程的方法:继承Thread类
Thread类最重要的方法是run(),你如果想实现线程你就得覆盖这个方法,
run里面的内容就是你要实现线程所具有的功能。
而Thread里的run方法总会以某种形式进行循环,
如果run方法里没有跳出循环的条件,线程将会一直运行下去。
编写好一个线程对象后,对象要通过start()方法启动线程,构建的线程对象如果不调用start()方法,
线程将永远都不会执行run方法里写好的业务逻辑。
**/
private int countDown = 5; //构建的Thread对象内部使用的数据
private static int threadCount = 0; //静态变量属于类,目的是为了每个构建的线程定义一个名称
public test(){
super("" + ++threadCount);
start();
}
public String toString(){
return "#" + getName() + ": " + countDown;
}
public void run(){
while(true){
System.out.println(this);
if (--countDown == 0)
return;
}
}
public static void main(String[] args) {
for (int i = 0;i < 1;i++){
new test();
}
}
}
demo1:
主要验证.replaceAll()方法
public static void main(String[] arg) throws OgnlException {
StringBuilder meomry_sb = new StringBuilder();
meomry_sb.append("");
meomry_sb.append("
meomry_sb.append("
System.out.println(meomry_sb.toString());
//将所有"" to ''
System.out.println(meomry_sb.toString().replaceAll("\"","'"));
}
验证输出: 可以看出用 ‘ ‘ ,替换了所有的 ""
demo2: 判断1-100是所有质素
public static void main(String[] args) {
for (int n = 1; n <= 100; n++) {
// b 為 TRUE 表示质数
boolean b = true;
if (n != 1) {
for (int i = 2; i < n; i++) {
//不是质数,侧跳出循环体
if (n % i == 0)
{
b = false;
break;
}
}
}
if (b)
{
System.out.println(n );
}
}
}
输出:1 2 3 5 7 11 17 .。。。。。。。。。。。。。。。。。。。。
DEMO3: 同上
****************************************************************************************
********************************************************************************************
demo5 : 获取文件名的后缀
******************************************************************************************//得到文件的后缀名
File f=new File(“F:/121.txt”);
if(f.exists()){
String fileName=f.getName();
int index=fileName.indexOf(“.”);
String s=fileName.substring(index+1);
System.out.println(s);
}
*****************************************************************************************(编demo6 : 写一个方法:输入的是文件名,输出的是文件内容字符串(FileToString.java 考察IO与String与StringBuffer的区别)
File f = new File(“hello.txt”);
StringBuffer sb = new StringBuffer();
try{
FileReader in = new FileReader(f);
char[] buf = new char[1024];
while(in.read(buf)!=-1){
//将每次读取的内容放到StringBuffer中
sb.append(new String(buf).trim());
}
System.out.println(sb.toString());
}
catch(Exception e){
System.out.println(e.getMessage());
e.printStackTrace();
}
*****************************************************************************************
创建个静态方法,传个对象,循环打印对象的类名跟方法名,用代码(反射机制)
*****************************************************************************************
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import ognl.OgnlException;
public class test {
public static void main(String[] arg) throws OgnlException {
display(new test());
}
public static void display(Object clazz){
System.out.println(clazz.getClass().getName());
Constructor cons[] = clazz.getClass().getConstructors();
for(int i=0; i< cons.length;i++){
Constructor c = cons[i];
String name = c.getName();
Class cs[] = c.getParameterTypes();
System.out.print("对象的构造方法….." + c.getModifiers() + " " + name
+ "(");
for (int j = 0; j < cs.length; j++) {
System.out.print("" + cs[j].getName() + "");
}
System.out.println(" )");
}
// 得到其他方法
Method method[] = clazz.getClass().getMethods();
for (int i = 0; i < method.length; i++) {
Method m = method[i];
String name = m.getName();
Class ms[] = m.getParameterTypes();
System.out.print("对象的其他方法….." + m.getModifiers() + "" + name
+ "(");
for (int j = 0; j < ms.length; j++) {
System.out.print("" + ms[j].getName() + "");
}
System.out.println(" )");
}
}