Java 带有continue或break的if语句
我正在做JavaOCA测试的模拟。在我学习《OCA-学习指南》(Sybex)的过程中,第二章有以下内容(表2.5,第91页): if-allows中断语句:否 if-allows continue语句:否 但在Sybex(在线书籍OCA)进行的Java OCA测试模拟过程中,有一个问题:Java 带有continue或break的if语句,java,if-statement,break,continue,Java,If Statement,Break,Continue,我正在做JavaOCA测试的模拟。在我学习《OCA-学习指南》(Sybex)的过程中,第二章有以下内容(表2.5,第91页): if-allows中断语句:否 if-allows continue语句:否 但在Sybex(在线书籍OCA)进行的Java OCA测试模拟过程中,有一个问题: int x= 5; while (x>=0) { int y = 3; while (y>0) { if (x<2)
int x= 5;
while (x>=0) {
int y = 3;
while (y>0) {
if (x<2)
continue;
x--; y--;
System.out.println(x*y + " ");
}
}
intx=5;
而(x>=0){
int y=3;
而(y>0){
if(x我认为continue在这里是在外部while循环之后,而不是立即if,因为continue在while循环内部是允许的,它可以工作的
public static void main(String[] args) {
int x= 5;
//while (x>=0) {
int y = 3;
//while (y>0) {
if (x<2)
continue;
x--; y--;
System.out.println(x*y + " ");
}
}
// }
// }
Error:(10, 21) java: continue outside of loop
publicstaticvoidmain(字符串[]args){
int x=5;
//而(x>=0){
int y=3;
//而(y>0){
if(x通常break和continue在if语句中是允许的,但是您不应该经常使用它们,因为这是不好的编码方式
*单元=单元测试框架
例如,一个原因是:如果您试图用单元测试您的软件(如果您还不知道单元,请不要担心:D),那么理解代码的功能和测试代码要比正常情况困难得多
祝你好运,玩得开心希望我能帮助你我想你需要了解的是,在你的代码中,if
语句在while循环中(在另一个while循环中)这就是为什么在这种情况下可以使用continue
。循环外的if
语句不允许使用continue
。但是在for循环、while循环或do while循环内,可以在if
语句内使用continue
因此,您提供的代码起作用,输出为:
8
3
0
2
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
continue cannot be used outside of a loop
但是我把你的代码注释掉了两个while循环,现在代码无法编译:
int x= 5;
// while (x>=0) {
int y = 3;
// while (y>0) {
if (x<2)
continue; //<-- COMPILE ERROR: continue cannot be used outside of a loop
x--; y--;
System.out.println(x*y + " ");
// }
// }
我写了一篇非常详细的文章,介绍了Java中的、和所有不同类型的循环。这本书和测试模拟器都是正确的。break
和continue
关键字不允许出现在if
中。continue
你在if
中看到的是完全有效的,因为它出现在continue中外部while
的ext,这很好。为了将其全部打包,当您启动while
或for
块时,使用break
和continue
在该块内的任何地方都是正确的,即使它恰好位于if
块内。为什么不编译?不清楚这是什么意思“如果-允许中断语句:否"是的,你可以有条件地中断/继续。你一定是误解了这本书的意思,或者这本书很糟糕。学习指南可能意味着if
本身不能包含continue
或break
。它需要一个for/while/switch
。在这种情况下continue
属于e包含while
-循环,而不是if
。非常感谢!我尝试了一个没有while循环的if语句,但它没有编译。如果这个扫描确实来自书本,同意@Carcigenicate throw into trashI没有理解你,为什么它的方式很糟糕?通过点击编辑器而不是阅读/理解好的文字库来判断但点击编辑器可以让我更好地理解,因为我可以调试程序,并以比仅仅阅读某人的分析更好的方式理解它,这并不意味着我不阅读/理解好的文献。