public class TestStopMethod { public static void main(String[] args) { MyThread mt = new MyThread(); mt.start(); try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
} mt.shutDown(); }}class MyThread extends Thread { private boolean flag = true; public void run() { int i = 0; while (flag) { System.out.println("====" + (i++) + "==="); } } public void shutDown() { flag = false; }}为什么结果的输出不是从1开始的呢?
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
} mt.shutDown(); }}class MyThread extends Thread { private boolean flag = true; public void run() { int i = 0; while (flag) { System.out.println("====" + (i++) + "==="); } } public void shutDown() { flag = false; }}为什么结果的输出不是从1开始的呢?
解决方案 »
- 求指教 :sql 2000 jdbc 连接 出错 java.lang.ClassNotFoundException:
- 一段jse书中的e文求教(关于构造器的this)
- java多线程问题
- short s1 = 1;s1 = s1+1;是否有错误? short s1 = 1;s1 += 1;是否有错误?
- 有谁要国外的一套开源搜索引擎项目(Java)?
- 使用java中的什么控件可以完成这个功能——java构件高手请进 50分
- 新手想学java,求大牛们推荐几本书。
- 简单问题
- SOLARIS中文问题
- jbuilder开发中遇到的问题. 好几个.
- 有没有什么办法知道一个Map占了多少内存?
- 模拟物理运动,懂得进
要么int i = 1;System.out.println("====" + (i++) + "===");要么int i = 0;System.out.println("====" + (++i) + "===");
public class TestStopMethod { public static void main(String[] args) {
MyThread mt = new MyThread();
mt.start();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
mt.shutDown();
}
} class MyThread extends Thread {
private boolean flag = true;
public void run() {
int i = 0;
while (flag) {
System.out.println("====" + (i++) + "===");
try { //加上睡觉1000毫米的操作
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} public void shutDown() {
flag = false;
}
}我的机器输出为:
====0===
====1===
(i++)去掉括号就是你要求的了。
注释掉,每次都会循环。
System.out.println(i++); //输出结果: 1;
System.out.println(++i); //输出结果: 2;
int i = 1;
System.out.println(i++); //输出结果:1
System.out.println(++i); //输出结果:3
//原因是i++了一次.所以i在第二次是2.因为它++了.所以在++i的时候会在2的基础上先加在赋值
//更正Code:
int i = 1;
int j = 1;
System.out.println(i++); //输出结果:1
System.out.println(++j); //输出结果:2