java控制语句

95 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

控制选择结构语句

  • if、if else
  • switch

if语句

:只要有一个分支执行,整个语句结束; 只要有else分支,语句就可以保证100%有分支执行。 if语句中,只要一条java语句,{ }可以不写。 1. if(布尔表达式){ java语句; java语句; ...... } 2. if(布尔表达式){ java语句; ...... } else{ java语句; java语句; ...... } 3. if(布尔表达式){ java语句; java语句; ...... }else if{ java语句; java语句; ...... } else if{ java语句; java语句; ...... } ......

switch

  • 语法结构: switch(int或String类型的字面值或变量){ case int或String类型的字面值或变量: java语句; ...... break; case int或String类型的字面值或变量: java语句; ...... break; case int或String类型的字面值或变量: java语句; ...... break; ............. default : java语句; }

  • 执行原理:switch后面的小括号当中的“数据”与case后面的“数据”进行一一匹配,匹配成功的分支执行语句。当该分支执行完,分支后有break时,整个switch语句终止执行。如果该分支没有break直接进入下一个分支执行(不进行匹配)——case穿透现象。即提供break语句可以避免穿透。如果所有分支都没有匹配成功,当有default的语句,会执行default分支当中的程序。

  • switch和case只能探测int和String类型,不能探测其他类型。byte、short、char可以自动转换成int类型。

  • JDK只能探测int类型;JDK7及以上探测int或String。

  • case可以合并

控制循环结构语句

  • for
  • while
  • do while

for

循环体、计数器

  • 语法结构 for(初始化表达式;布尔表达式;更新表达式){ 循环体——java语句; } 在这里插入图片描述

  • 执行原理:

    • 初始化表达式、布尔表达式、更新表达式都不是必须的【两个分号是必须的】
    • for的执行过程
      • 先执行初始化表达式,并且该表达式仅执行一次;
      • 判断布尔表达式的结果是true(false)
        • 布尔表达式为真
          • 执行循环体,执行更新表达式
          • 判断布尔表达式结果是true(false)
            • 布尔表达式为真
              • 执行循环体更新表达式
              • 判断......
        • 布尔表达式为假
          • 退出for循环
	for(int a =1;a<11;a++){		//a++和++a的区别在于:
			System.out.println(a);	//如果它们是表达式的一部分的话,那么+1的顺序会影响到结果
		}										//如果表达式就是一个简单的a++或++a;那是一样的结果	
//for循环嵌套理解
	for(int i = 1;i<6;i++){
			System.out.println("began");
			for(int j = 1;j<5;j++){
				System.out.println("j——>"+j);
			}
			System.out.println("end");
		}
	//使用for :输出9*9乘法表——嵌套  i为行 
		for(int i = 1;i<10;i++){ 
			for(int j=1;j<=i;j++){
				System.out.print(j+"*"+i+"="+i*j+"\t");
			}
			System.out.println();
		}

while

  • 语法结构:
    • while(布尔表达式){ 循环体; }
  • 执行次数0-N次

do......while

  • 语法结构 do{ 循环体 }while(布尔表达式);
  • 执行次数1-N次

改变控制语句顺序

  • break
  • continue

break

  • java语言中的关键字,“中断”
  • break;——可以当一个完整的java语句
  • break在switch语句中,用于终止switch的语句执行
  • break语句同样可以使用在循环语句中,用于终止循环
	for(int i =1;i<5;i++){
			for(int j = 1;j<3;j++){
				if(j==2){
					break;			//break结束最近的循环体
				}
				System.out.println("j——>"+j);
			}
		}
		System.out.println("============================");
		for1:for(int i =1;i<5;i++){
			for2:for(int j = 1;j<3;j++){
				if(j==2){
					break for1;			//给循环命名之后,可以指定终止的循环
				}
				System.out.println("j———>"+j);
			}
		}
	

continue

  • java语句中的关键字,表示继续
  • continue;——构成一个单独的java语句
  • break和continue的区别
    • break循环不执行
    • continue表示该循环不执行,直接执行下一个循环
		//continue和break的区别
		for(int i = 1;i<=10;i++){
			if(i==5){
				break;
			}
			System.out.println("i="+i);
		}
		System.out.println("============================");
		for(int i = 1;i<=10;i++){
			if(i==5){
				continue;
			}
			System.out.println("i="+i);
		}