顺序结构
- Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
- 顺寻结构是最简单的算法结构
- 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法。
选择结构
if单选择结构
-
我们很多时候需要去判断一个东西是否可行,让后我们才去执行,这样一个过程在程序中用if语句来表示。
-
语法;
if(布尔表达式){ //如果布尔表达式为true将执行的语句 }
Scanner scanner=new Scanner(System.in);
System.out.println("请输入内容:");
String s=scanner.nextLine();
// equals 判断字符串是否相等
if(s.equals("hello")){
System.out.println(s);
}
System.out.println("End");
scanner.close();
if双选择结构
语法:
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为flase
}
//考试分数大于60就是几个,小于 60就是不及格
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩");
int i=scanner.nextInt();
if (i>60){
System.out.println("及格");
}else{
System.out.println("不及格");
}
scanner.close();
if多选择结构
生活中我们很多时候的选择不仅仅只有俩个,所以我们需要一个多选择结构来处理这类问题!
-
语法
if(布尔表达式1){ //如果布尔表达式1的值为true执行代码 }else if(布尔表达式2){ //如果布尔表达式2的值为true执行代码 }else if(布尔表达式3){ //如果布尔表达式3的值为true执行代码 }else { //如果布尔表达式都不为true执行代码 }
/* if 语句至多有 1 个 else 语句,else 语句在所有的else if 语句之后。 if 语句可以有若干个 else if 语句, 它们必须在else 语句之前。 一旦其中一个else if 语句检测为true,其他的else if 已经 else 语句都将跳过执行 */ Scanner scanner =new Scanner(System.in); System.out.println("请输入成绩"); int score=scanner.nextInt(); if (score==100){ System.out.println("恭喜满分"); }else if (score<100&&score>=90){ System.out.println("成绩为A"); }else if (score<90&&score>=80){ System.out.println("成绩为B"); }else if (score<80&&score>=70){ System.out.println("成绩为C"); }else if (score<70&&score>=60){ System.out.println("成绩为D"); }else if (score<60){ System.out.println("成绩不及格"); }else{ System.out.println("成绩不合法"); } scanner.close();
嵌套的if结构
-
使用嵌套的if…else语法式合法的,也就是说你可以在另一个 if 或者else if 语句中使用if 或 else if 语句。你可以想if 语句一样嵌套 else if…else
-
语法
if(布尔表达式1){ ///如果布尔表达式1的值为true执行代码 if(布尔表达式2){ ///如果布尔表达式2的值为true执行代码 } }
switch多选择结构
-
多选贼结构还有一个实现方式就是switch case语句。
-
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
-
switch 语句中的变量类型可以式:
-
byte、short、int或者char
-
从Java SE开始
switch支持字符串String类型了
-
-
同时case标枪必须为字符串常量或字面量
switch (grade){
case 'A':
System.out.println("优秀");
break; //可选
case'B':
System.out.println("良好");
break;
case'c':
System.out.println("及格");
break;
case 'D':
System.out.println("再接再厉");
break;
case 'E':
System.out.println("挂科");
break;
default:
System.out.println("未知等级");
}
String name ="嘿嘿";
//JDK7新特性,表达式结果可以是字符串!!!
//字符的本质还是数字
//反编译 java----class(字解码文件)----反编译(IDEA)
switch(name){
case"哈哈":
System.out.println("哈哈");
break;
case"嘿嘿":
System.out.println("嘿嘿");
break;
default:
System.out.println("你在搞什么");
}