关键字break和continue都可以在循环语句中使用,为循环提供额外的控制。我们可以在switch语句中使用关键字break,来立即中止该循环。我们同样可以在程序中使用关键字continue。当程序遇到continue时,它会结束当前的迭代,程序控制转向该循环体的末尾,也可以这样说,continue只是跳出了一次迭代,而关键字break则是跳出了跳出了整个循环。下面举一个例子演示在循环中使用continue的效果,程序清单如下:
public class TestContinue{
public static void main(String[]args){
int sum = 0;
int number = 0;
while(number<20)
number++;
if(number==10||number==11)
continue;
sum=sum+number;
}
System.out.println("The sum is"+sum);
}
}
这个程序,是将1到20中出去10和11外的整数都加到sum中,当number=10或11时就会执行continue语句。continue语句结束了当前迭代,就不再执行循环体中的其他语句。
确认对话框
我们之前使用过showMessageDialog来显示一个消息对话框,使用过showInputDialog来显示一个输入对话框,有时候,可以使用确认对话框来回答问题:int option = JOptionPane.showConfirmDialog(null,"Continue");当点击按钮时,这个方法会返回一个选择值,点击YES按钮返回的值是JOptionPane.YES_OPTION(0),点击NO按钮返回的是JOptionPane.NO_OPTION(1),点击Cancel按钮返回的是JOptionPane.CANCEL_OPTION(2)。
我们现在通过一个例子来具体使用一下确认对话框来控制循环,我们让程序显示一个输入对话框,提示用户输入一个整数,并将它加入到sum当中,之后会显示一个确认对话框,让用户来决定是否继续输入,如果用户点击Yes,那么循环继续,如果用户点击No,那么循环终止。
程序清单如下:
package sentinelvalueusingconfirmationdialog;
import javax.swing.JOptionPane;
/**
*
* @author mjd
*/
public class SentinelValueUsingConfirmationDialog {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int sum = 0;
int option = JOptionPane.YES_OPTION;
while(option==JOptionPane.YES_OPTION){
String dataString = JOptionPane.showInputDialog("Enter an int value:");
int data = Integer.parseInt(dataString);
sum = sum+data;
option = JOptionPane.showConfirmDialog(null,"Continue?");
}
JOptionPane.showMessageDialog(null,"The sum is"+sum);
}
}
在确认没有编译错误之后,运行程序,会显示对话框,提示你输入一个整数
我们输入第一个整数5,点击ok,进入下一步。
会显示确认对话框,我们点击yes,输入第二个整数。
输入完第二个整数后,点击ok。我们如果不打算继续输入,点击No即可求和,如果向继续输入,就点击YES,我们这里直接及进行求和。
显示求和结果正确,程序正常运行,这就是我们使用确认对话框语句控制循环的一个小例子,我们为了让用户可以正常输入第一个整数,先将option设为yes,之后通过判断option是否为yes进入循环,这就是这个程序的一个小细节。
下一篇文章我们会一起学习一些调用方法以及进制转换的一些问题,希望我们大家一起学习,共同进步,谢谢。