代码的执行顺序是从上至下,逐条执行。也存在两种结构,一种是分支结构,一种是循环结构。
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时,用户输入错误,会两个同时出现。
}
}
叶子是初学者,暂时的想法,若有错误,请指出错误!一定改正!谢谢~~~