顺序结构
JAVA的基本结构就是顺序结构,除非特别指明,否则就按顺序一句一句执行
顺序结构是最简单的算法结构
package com.taogu.Struct;
public class ShunXuDemo01 {
public static void main(String[] args) {
System.out.println("Hello1");
System.out.println("Hello2");
System.out.println("Hello3");
System.out.println("Hello4");
System.out.println("Hello5");
System.out.println("Hello6");
}
}
语句与语句之间,框与框之间都是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构
选择结构
-
if单选择结构
-
if双选择结构
-
if多选择结构
-
嵌套的if结构
-
switch多选择结构
if单选择结构
我们很多时候要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示
if(布尔表达式){
//如果布尔表达式为ture将执行的语句
}
package com.taogu.Struct;
import java.util.Scanner;
public class IfDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
String s =scanner.nextLine();
//equals:判断字符串是否相等
if (s.equals("Hello")){ //判断输入和"Hello"一样的话则输出"Hello"然后输出“End”
System.out.println(s); //判断输入和"Hello"不一样的话则输出“End”
}
System.out.println("End");
scanner.close();
}
}
if双选择结构
那现在有个需求,公司要收购一个软件,成功了,给人支付100万元,失败了,自己找人开发。这样的一个需求用一个if搞不定了,我们需要两个判断,需要一个双选择结构,所有就有了if-else结构
if(布尔表达式){
//如果布尔表达式的值为ture
}else{
//如果布尔表达式的值为false
}
package com.taogu.Struct;
import java.util.Scanner;
public class IfDemo02 {
public static void main(String[] args) {
//考试分数大于60就是及格,小于60就不及格
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩");
int score = scanner.nextInt();
if(score>60){
System.out.println("及格");
}else{
System.out.println("不及格");
}
if多选择结构
我们发现刚才的代码不符合实际情况,真实的情况还可能存在ABCD,存在区间多级判断。比如90-100就是A,80-90就是B..等等,在生活中我们很多时候的选择也不仅仅只有两个,所有我们需要一个多选择结构来处理这类问题!
语法:
if(布尔表达式 1){ //如果布尔表达式 1的值为ture执行代码 }else if(布尔表达式 2){ //如果布尔表达式 2的值为ture执行代码 }else if(布尔表达式 3){ //如果布尔表达式 3的值为ture执行代码 }else{ //如果以上布尔表达式都不为ture执行代码 }
package com.taogu.Struct; import java.util.Scanner; public class IfDemo03 { /* if 语句至多有1个else语句,else语句在所有的else if语句之后 if 语句可以有若干个else if 语句,它们必须在else 语句之前 一旦其中一个else if语句检测为 true,其他的else if以及else语句都将跳过执行 */
public static void main(String[] args) {
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>=0 && 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的值为ture执行代码 if(布尔表达式 2){ //如果布尔表达式 2的值为ture执行代码 } }
switch多选择结构
-
多选择结构还有一个实现方式就是switch case 语句
-
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值都称为一个分支
-
if适合判断一个区间,switch适合匹配一个具体的值
swich 语句中的变量类型可以是:
-
byte、short、int或者char
-
从Java SE 7开始
-
switch 支持字符串String 类型了
-
同时case标签必须为字符串常量或字面量
package com.taogu.Struct;
public class SwitchDemo01 {
public static void main(String[] args) {
//case 穿透
char grade = 'A';
switch (grade){
case'A':
System.out.println("优秀");
break;//终止 每写一个case 后面就要跟一个break终止上一个case 否则会全部走一步
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("未知等级");
break;//终止
}
}
}
package com.taogu.Struct;
public class SwitchDemo02 {
public static void main(String[] args) {
String name = "桃谷大仙";
//JDK7的新特性,表达式结果可以是字符串!!!
//字符的本质还是数字
switch(name){
case"桃谷二仙":
System.out.println("桃谷二仙");
break;
case"桃谷大仙":
System.out.println("桃谷大仙");
break;
default:
System.out.println("弄啥嘞!");
}