扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
众所周知,在Java中,如果想跳出for循环,一般情况下有两种方法:break和continue。
从事西部信息服务器托管,服务器租用,云主机,虚拟主机,域名注册,CDN,网络代维等服务。
break是跳出当前for循环,如下面代码所示:
public class RecTest {
/**
* @param args
*/
public static void main(String[] args) {
for(int i=0; i 10; i++){
if(i==5){
break;
}
System.out.print(i+" ");
}
}
}
输出:0 1 2 3 4
也就是说,break会跳出(终止)当前循环。continue是跳出当前循环,开始下一循环,如下所示:
public class RecTest {
/**
* @param args
*/
public static void main(String[] args) {
for (int i = 0; i 10; i++) {
if (i == 5) {
continue;
}
System.out.print(i+" ");
}
}
}
输出:0 1 2 3 4 6 7 8 9
以上两种方法没有办法跳出多层循环,如果需要从多层循环跳出,则需要使用标签,定义一个标签label,
然后在需要跳出的地方,用break
label就行了,代码如下:
public class RecTest {
/**
* @param args
*/
public static void main(String[] args) {
loop: for (int i = 0; i 10; i++) {
for (int j = 0; j 10; j++) {
for (int k = 0; k 10; k++) {
for (int h = 0; h 10; h++) {
if (h == 6) {
break loop;
}
System.out.print(h);
}
}
}
}
System.out.println("\nI'm here!");
}
}
输出:
012345
I'm here!
在Java中,抛出异常之后,如果不对异常进行处理,代码会一直往调用的上层抛,直到线程的执行器,如果在这里异常仍然未得到处理,线程将停止执行。所以抛出异常后如果不对异常进行处理,后面的代码将不会执行。
比如以下代码:
public void testException throws Exception(){
System.out.println("start");
throw new Exception("test exception");
System.out.println("execute ended?");
}最后一行代码在异常抛出之后,这行代码是不会执行的。
方案操作如下:
(1)让程序在一个单独的线程中运行,然后在终止时,可以用线程的终止方法来结束它。
(2)退出Java程序时尽量不要使用java.lang.System的exit方法。Exit 方法可以终止JVM,从而终止程序,但如果同时运行了另一个Java程序,使用exit方法就会让该程序也关闭,这显然不是希望看到的情况!!!!
要退出Java程序,可以使用destory()退出一个独立运行的过程。对于多线程程序,必须要关闭各个非守护线程。
只有在程序非正常退出时,才使用exit方法退出程序
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流