Java 提高(1)----- java中的goto语句
2017-08-28 23:07
211 查看
java中的goto语句
Java中的goto语句
在java中可以使用标签和continue,break组合形成goto的效果public class LabelDemo { public static void main(String[] args) throws InterruptedException { //标签 exit: while (true){ for(int i= 0 ; i < 10 ; i++){ if(i == 5) // break ; //直接退出内层for循环继续下一次for循环 // continue ; //开始内层for循环的下一次 // break exit; //直接退出exit标签所执行标签的循环 // continue exit; //调到exit,从新执行while System.out.print(i+" "); Thread.sleep(10); } System.out.println(); } } } #使用break的结果 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 ... //代表死循环打印 #使用continue的结果 0 1 2 3 4 6 7 8 9 0 1 2 3 4 6 7 8 9 0 1 2 3 4 6 7 8 9 0 1 2 3 4 6 7 8 9 0 1 2 3 4 6 7 8 9 0 1 2 3 4 6 7 8 9 ... //代表死循环打印 #使用break exit结果 0 1 2 3 4 //程序执行完毕,退出了2个循环 #使用continue exit结果 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 ...... //代表死循环打印
总结
一般的continue会退回到内存循环的开头,并继续执行
一般的break会中断并跳出当前循环
代标签的continue会到达标签的位置,从新开始
带标签的break会中断并跳出当前标签所指的循环
程序联系
打印出4位数字的吸血鬼数字public class VampireNumber { public static void main(String[] args) { printVampireNumber(4); } private static void printVampireNumber(int digit) { int from = 1; for(int i = 1 ; i < digit ;i++){ from *= 10; } int to = from*10 -1; for(int i = from ; i<= to ;i++){ //排除后两位是两个0的情况,比如1000,1100,1200,1300... if( i % 100 == 0 ){ continue; } isVampireNumber(i); } } private static void isVampireNumber(int num) { 4000 char[] arr = String.valueOf(num).toCharArray(); deal(arr[0]-'0',arr[1]-'0',arr[2]-'0',arr[3]-'0', num); deal(arr[0]-'0',arr[2]-'0',arr[1]-'0',arr[3]-'0' ,num); deal(arr[0]-'0',arr[3]-'0',arr[1]-'0',arr[2]-'0' ,num); } private static void deal(int a1, int a2, int b1, int b2 ,int num) { if( ((a1*10+a2) *(b1*10+b2)) == num){ print(num ,a1*10+a2, b1*10+b2); } if( ((a1+a2*10) *(b1*10+b2)) == num){ print(num ,a1+a2*10, b1*10+b2); } if( ((a1*10+a2) *(b1+b2*10)) == num){ print(num ,a1*10+a2, b1+b2*10); } if( ((a1+a2*10) *(b1+b2*10)) == num){ print(num ,a1+a2*10, b1+b2*10); } } private static void print(int num , int a,int b){ System.out.println( " "+ num+" ="+a+" * "+b); } }
相关文章推荐
- 12.java中是否有goto语句
- [ Java学习 ] “goto语句“ 和 “continue + 标号” 的不同待遇
- java中goto语句!
- [ java ] java中goto语句!
- 原来java中也有类似goto语句的标签啊--java label标签
- C/C++/Java goto语句的使用
- 原来java中也有类似goto语句的标签啊--java label标签(一)
- oracle顺序控制语句goto、null和分页过程中输入输出存储、java程序的调用过程
- Java - goto语句
- Java里的goto语句与C语言goto语句对比
- 在一个千万级的数据库查寻中,如何提高查询效率?分别说出在数据库设计、SQL语句、java等层面的解决方案
- Java的goto 语句
- 在一个千万级的数据库查寻中,如何提高查询效率?分别说出在数据库设计、SQL语句、java等层面的解决方案。
- 原来java中也有类似goto语句的 标带有标签的for循环
- Java 语句标签实现goto跳转
- Java中的goto语句
- Java中的goto语句
- java中goto语句
- Java 7 try-with-resources 语句,自动资源释放,提高容错率!
- java中的goto语句简介