-
Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
-
顺序结构是最简单的算法结构。
-
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
选择结构
-
if但选择结构
1 if(布尔表达式){ 2 3 //如果布尔表达式的值为true执行代码 4 5 }
-
if双选择结构
1 if(布尔表达式){ 2 3 //如果布尔表达式的值为true执行的代码} 4 5 else{ 6 7 //如果布尔表达式的值为false的代码 8 9 }
-
if多选择结构
1 if(布尔表达式1){ 2 3 //如果布尔表达式1的值为true执行的代码 4 5 }else if(布尔表达式2){ 6 7 //布尔表达式2的值为true执行的代码 8 9 }else{ 10 11 //如果布尔表达式的值都不为true执行的代码 12 13 }
-
嵌套的if结构
1 if(布尔表达式1){ 2 3 //如果布尔表达1的值为true执行代码 4 5 if(布尔表达式2){ 6 7 //如果布尔表达式2的值为true执行代码 8 9 } 10 11 }
-
switch多选择结构
1 switch(expression){ 2 3 case value: 4 5 //语句 6 7 break;//可选 8 9 case value: 10 11 //语句 12 13 break;//可选 14 15 default: //可选 16 17 //语句 18 19 }
-
语句中变量类型可以是byte、short、int、char。
-
从JavaSE7开始switch支持字符串String类型。
-
同时case标签必须为字符串常量或字面量。
-
循环结构
-
while循环
1 int i=0; 2 int sum=0; 3 while(i<=100){ 4 sum+=i; 5 i++; 6 } 7 System.out.println(sum);
-
do...while循环
//对于while语句而言 如果不满足条件则不能进入循环
//但有时候我们需要至少执行一次
//区别 while先判断后执行 do...while先执行后判断
//do...while循环至少执行一次,这是他们主要差别1 int i=0; 2 int sum=0; 3 do{ 4 sum+=i; 5 i++; 6 }while(i<=100) 7 System.out.println(sum);
-
For循环
//for循环是支持迭代的一种通用结构,是最有效,最灵活的循环结构
//for循环执行次数是在执行前就确定的。语法格式:1 int sum=0; 2 for(int i=1;i<=100;i++){ 3 sum+=i; 4 } 5 System.out.println(sum);
1 //替代for循环的循环 foreach循环 2 /* 3 * for(数组元素的类型 自定义的循环变量:要遍历的数组名称){ 4 * 5 * } 6 */ 7 int[] ns= {1,2,3,4,5,6,7,8,9}; 8 for(int num:ns) { 9 System.out.println(num); 10 }
嵌套循环中的break和continue
-
break和continue如果用在二重循环中:
-
break:只能退出关键字所在的当前循环;
-
continue:结束关键字坐在的循环的当此循环,进入下次循环。
关于goto关键字
-
goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在语言中得到使用;Java没有goto。然而在break和continue这两个关键字的身上,我们仍看出一些goto的影子--带标签的break和continue
-
“标签”是指后面跟一个冒号的标识符,例如:label:
-
对Java来说唯一用到标签的地方就是在循环语句之前。二在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,他们就会终端到存在标签的地方。
1 public class LabelDemo { 2 public static void main(String[] args) { 3 //打印101-150之间所有的质数 4 //质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数 5 6 //不建议使用!! 7 outer:for (int i=101;i<150;i++){ 8 for(int j=2;j<i/2;j++){ 9 if (i % j == 0){ 10 continue outer; 11 } 12 } 13 System.out.print(i+" "); 14 } 15 } 16 }