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