一、顺序结构
根据代码的书写顺序进行执行代码
二、选择结构
if选择语句:
格式1:if(关系表达式){
语句体; }
格式2:if(关系表达式){
语句体1;
}else{
语句体2; }
格式3:if(关系表达式){
语句体1;
}else{
语句体2; }……
格式4:if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}...else{ 语句体n; }
switch语句:
定义格式:
switch(表达式){
case 常量值1: 语句体1;break;
case 常量值2: 语句体1;break;
case 常量值3: 语句体1;break;
case 常量值4: 语句体1;break;
case 常量值5: 语句体1;break;
case 常量值6: 语句体1;break;
...
default:语句体n;break;
}
switch语句的注意事项:
1)switch语句严格按照先匹配对应的case,如果有匹配的case就会执行对应的语句体,如果没有匹配的case,才会运行default语句。
2)switch与语句小括号中可以是byte,short,int,char,枚举,String
3)能不能不写break? 如果可以,那么会出现什么情况?可以不写,但是可能会出现switch穿透
4)default语句一定要写吗?可以不写,但是为了程序的严谨性,最好写上一个
5)default语句一定是写在最后一个吗?不一定
6) case后面只能是常量,不能是变量
执行流程:严格按照先匹配对应的case,如果匹配到就会执行对应的语句体,直到运行break,结束整个语句,若没有匹配的case,最后才会执行default中的语句体
三、循环结构
1、for循环:
语句定义格式:for(初始化条件语句;判断条件语句;控制条件语句){ 循环体; }
双重for循环:for(){
for(){
}}
package com.shujia.day03.ketang;
public class ForDemo2 { public static void main(String[] args) { /** * * 需求:请输出如下图形 * * 第1行,共1列 * * * 第2行,共2列 * * * * 第3行,共3列 * * * * * 第4行,共4列 * * * * * * 第5行,共5列 * ... 第i行,共i列 * 结论:每一行的最大列数与该行数一样 */ for (int i = 1; i <= 5; i++) {// 外层for循环控制的是行数 for (int j = 1; j <= i; j++) {// 内层for循环控制的是每一行的列数 System.out.print("*\t"); } System.out.println(); } System.out.println("----------------------------------"); for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System.out.print("*\t"); } System.out.println(); } System.out.println("----------------------------------"); for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System.out.print(i + "*" + j + "=" + (i * j) + "*\t"); } System.out.println(); } } }
注意事项:
1. 初始化条件语句能不能不写? 不能循环要有一个前提,如果不写,可能会造成死循环
2. 初始化条件语句能不能写在for循环的外面? 能,当你需要for循环结束后的变量的话,就可以定义在外面,作用域大一些
3. 大括号能不能省略? 当循环体语句只有一行的时候可以省略,其他情况不能省略. 建议永远不要省略
2、while循环
语句定义格式:
初始化条件语句;
while(判断条件语句){
循环体语句;
控制条件语句; }
do.while循环
语句定义格式:
初始化条件语句; do{
循环体语句;
控制条件语句;
}while(判断条件语句);
3、结论
(1)、while循环是先判断,当判断结果为true的时候才会执行循环体,而do..while循环会先执行一次循环体,再进行判断
(2)、当确定范围循环次数的时候,优先考虑for循环
(3)、当次数不确定的时候,优先考虑while循环
四、跳转控制语句
1、break:
作用在switch语句和循环语句中,表示结束整个语句
package com.shujia.day03.ketang; /* break: 打碎,终止,打破,结束了 作用场景: 作用在switch语句和循环语句中 */ public class BreakDemo1 { public static void main(String[] args) { //break语句无法脱离场景单独使用,没有意义 // break; //需求: 打印1-10,当打印到5的时候,使用break for (int i = 1; i <= 10; i++) { System.out.println(i); if(i==5){ break; //结束整个循环 } } System.out.println("---------------------------------"); //需求: 九九乘法表中,当外层for循环i==5的时候使用break wc:for(int i=1;i<=9;i++){ nc:for(int j=1;j<=i;j++){ System.out.print(i+"*"+j+"="+(i*j)+"\t"); if(j==5){ // break; //默认情况下,跳出并结束最近那个循环 break wc; //如果想要结束其他外层循环,使用标签进行退出 } } System.out.println(); } } }
2、continue
作用在循环语句中,表示结束当次循环
package com.shujia.day03.ketang; /* continue: 继续 使用场景: 作用在循环语句中 */ public class ContinueDemo1 { public static void main(String[] args) { //单独使用毫无意义,需要作用在循环语句中 // continue; //当i==5的时候使用continue for(int i=1;i<=10;i++){ if(i==5){ continue; //结束当次循环 } System.out.println(i); } } }
3、return
作用在方法内部,表示结束整个方法
package com.shujia.day03.ketang; /* return: 返回 作用场景: 作用在方法中最后一句话,用于返回一个返回值,相当于结束一个方法 */ public class ReturnDemo1 { public static void main(String[] args) { return; //作用在方法中的最后一句,方法结束了 // System.out.println("hello world"); } }
标签:语句,case,java,流程,break,switch,循环,public From: https://www.cnblogs.com/SIKE231310/p/17802522.html