分支结构if 与swith

代码的执行顺序是从上至下,逐条执行。也存在两种结构,一种是分支结构,一种是循环结构。

 if - else  /     if   /     if   -  else  if   - else:

第一种:

if   -  else:

if(a){

b;}  else {

c;}
如果a成立,则执行b,否则执行c。表示只有两种情况出现,a或者!a。

结构:if(判断语句){语句体;

}

if(    判断句    ){   执行句;

}else{   另一个执行句;

if(     判断句     ){    执行句;

}else if     (判断句)  {   执行句;

}

}

例如:判断用户名与密码是否正确

public static void Main(string[] args)          {

Console.WriteLine("请输入用户名");         

 string username = Console.ReadLine();  //键盘上获取字符 。一定记住()!!!  


 Console.WriteLine("请输入密码");           

string password = Console.ReadLine();

if (username == "admin" &&password == "888888")    {                

Console.WriteLine("密码正确");  

 }   else  {

 if (username != "admin")    {    

Console.WriteLine("用户名不正确");

}  else if   (password != "888888")   {               

Console.WriteLine("密码不正确");

 }

 }   

Console.ReadKey(); //还不懂什么意思
}

该执行时,数据进入if的判断语句,若符合判断要求,则进入语句体。不符合,则不进入if语句。后面的else中不写条件,因为它是要么等于if判断句中的结果,要么不等于。所以不需要写。若嵌套则可以进行选择。


第二种:

if:

if   (   a )   { 

 b  ;

 } if (  c  ){

d   ;

}

而if后面可以在接 if,表示不一定只有两种情况。例如if(a)b; if(c)d;
如果a成立,则执行b,否则如果c成立,则执行d。这种情况存在三种情况:a,!a&c,!a&!c,只是最后一种情况没有执行语句,可重复嵌套,有符合if条件时进入执行。

if(判断语句){  

语句体1 ;

} if (判断语句){

 语句体2 ;

}

该语句执行时,首先进入if的条件判断句,符合,进入语句体1,否则进入语句体2.语句中可以进行嵌套




第三种:

if   -   else   if    -   else:

if (     a     )    {    b     ;}

else  if  (      c      )    {    d    ;}

else    {   m   ;}
例如if(a)b;else if(c)d;else m;
如果a成立,则执行b,否则如果c成立,则执行d,否则执行m。有三种情况a,!a&c,!a&!c。if(判断语句){语句体   1;

}else if{     语句体2    ;

}else  if{      语句体3  ;

}else{         语句体N   ;

}该语句执行时,拿当前要判断的条件去和 if 之后条件匹配,如果匹配到,执行对应的语句体,如果没有匹配到,执行语句体n,最后执行大括号之后的语句。

if    - else if    - else 结构中的else 是可以省略的,但是要看业务条件


swith    -   case   :

switch - case 结构
 
 switch (变量) {
           case 确定值1:
           处理方式1;
            break;
           case 确定值2:
           处理方式2;
           break;
           default:
           最终处理方式;
            break;
 }

运行流程:

当程序运行到switch - case 结构的时候,直接用switch 之后的变量去匹配 case对应的值,如果匹配执行对应的处理方式,运行到break跳出switch - case 结构。如果没有匹配项,执行default里面的处理方式,遇到break跳出。

注意事项:
  1. 在switch-case 结构中,break 可以省略,但是会影响之前的case 选项
  2. 在switch - case 结构中,只能只执行在case 或者 default里面的语句 剩下一概不执行,而且在Java中编译不过。
  3. 在switch-case 结构中,不允许出现相同的case 选择,会报错
  4. 在switch-case 结构中,可以省略default

案例:import java.util.Scanner;//打包

class SwitchTest {
 public static void main(String[] args) {
 
  //提示用户选择自己的菜品
  Scanner sc = new Scanner(System.in);//获取键盘内容
  System.out.println("请问客官您点什么?");
  System.out.println("1.红烧肉~~~");
  System.out.println("2.糖醋里脊~~~");
  System.out.println("3.蒜蓉油麦菜~~~");
  System.out.println("4.麻辣小龙虾~~~");
  System.out.println("5.哈尔滨冰啤~~");
  int choose = sc.nextInt(); //从键盘上获取用户的选择
  
  //利用switch - case 结构,对用户输入的数据进行处理
  switch (choose) {//choose在上面定义了,指键盘上获取的内容。
   //System.out.println("你猜猜这个会出现吗?"); //  不会
   case 1:
    System.out.println("红烧肉一份~~~");
    break;
   case 2:
    System.out.println("糖醋里脊一份~~~");
    break;
   case 3:
    System.out.println("蒜蓉油麦菜一份~~~");
    break;
   case 4:
    System.out.println("麻辣小龙虾一份~~~");
    break;
   case 5:
    System.out.println("哈尔滨冰啤~~~");
    break;
   /*default:
    System.out.println("不闹我们还是朋友");//用户什么也没有选择,可以省略
    break;
   */
  }
   
  System.out.println("Program Ending");//当省略default,又需要输出,不省略default时,用户输入错误,会两个同时出现。
 }
}

叶子是初学者,暂时的想法,若有错误,请指出错误!一定改正!谢谢~~~


 

你可能感兴趣的:(分支结构if 与swith)