class FF {
char a;
public boolean Name(char a) {
System.out.println(a);
return true;
}
}public class FFF extends FF {
/**
* @param args
*/
public static void main(String[] args) {
FF f=new FF();
int i=0;
for(f.Name('A');f.Name('B')&&i<3;f.Name('C'))
{
System.out.println('D');}
}}
char a;
public boolean Name(char a) {
System.out.println(a);
return true;
}
}public class FFF extends FF {
/**
* @param args
*/
public static void main(String[] args) {
FF f=new FF();
int i=0;
for(f.Name('A');f.Name('B')&&i<3;f.Name('C'))
{
System.out.println('D');}
}}
解决方案 »
- 貌似简单的正则表达式,高手请进
- 构造函数的入门问题
- i++开辟新内存存放i的原始值,++i呢?
- 一个关于算法的问题,希望大家帮帮忙(送分哟)
- telnet一个机器的端口能通,但是往连到同机器,同端口的socket写入流时候就报错:software caused connection abort: socket write error
- 简单问题,问一下错哪里了?
- Java串口通讯 遇到问题,求帮助!
- 简单问题!
- I got a problem about JTable when Serialized
- 网络爬虫需求分析:获取一个指定URI下的所有的同域名下的所有的子URI
- 向个位高手求助
- 聊聊双递归
ABDC BDC BDC for(表达式1;表达时2;表达式3)
{
表达式4;
}表达式1 --〉表达时2 --〉表达式4 --〉表达时2 --〉表达式4 --〉表达式3
不过这个程序本身进入死循环了.
在FOR循环里面加个i++的话,答案就可以相对容易写了.
不然还要说明一下按某一规律的循环.
class FF {
char a;
public boolean Name(char a) {
System.out.println(a);
return true;
}
}public class FFF extends FF {
/**
* @param args
*/
public static void main(String[] args) {
FF f=new FF();
int i=0;
for(f.Name('A');f.Name('B')&&i<2;f.Name('C'))
{++i;
System.out.println('D');}
}}
不好意思,是我刚刚在eclipse中调试的时候修改了几下,没改过来.现在这个是原题.
顺便问一下,里面的++i换成i++结果一样,不懂?
好象只考察了一个FOR语句的调用顺序.
考java中的for的运算顺序,结果是:
ABDC BDC BDC for(表达式1;表达时2;表达式3)
{
表达式4;
}表达式1 --〉表达时2 --〉表达式4 --〉表达时2 --〉表达式4 --〉表达式3 ==========
好象是:
表达式1 --〉表达时2 --〉表达式4 --〉表达式3--〉表达时2 --〉表达式4 --〉表达式3吧?
表达式1 --〉表达时2 --〉表达式4 --〉表达式3--〉
表达时2 --〉表达式4 --〉表达式3A--〉B--〉D--〉C
B--〉D--〉C
B
D
C
B
D
C
B <--最后還要輸出
B--〉D--〉C
正确的答案.
B--〉D--〉C
正确的答案.
====================
还要一个B吧?
现在来看这个 int i=0;f.Name('B')&&i<2;//f.Name('B')永远为true;i的初始值为0所以
//i永远都小于2。因此f.Name('B')&&i<2表达式永远为true。这样就是一个死循环!for(f.Name('A');f.Name('B')&&i<3;f.Name('C')){ i++;//当i被赋值到2时循环就结束。
System.out.println('D');}
结果是:
A
B
D
C
B
D
C
B
D
C
B