JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行
顺序结构就是最简单的算法结构
public class Demo {
public static void main(String[] args) {
System.out.println("halle1");
System.out.println("halle2");
System.out.println("halle3");
System.out.println("halle4");
}
}
也是因为最简单都很容易忽略的一个结构
语句与语句之间,框与框之间是按从上到下的顺序进行,它是由若干个依次执行的处理步骤组成的,**它是任何一个算法都离不开的一种基本算法结构
if单选结构
if双选结构
if多选结构
嵌套的if结构
switch多选结构
我们很多时候需要去判断一个东西是否可执行,然后我们才去执行,这样一个过程中用if语句来表示
语法:
if(布尔表达式){
//如果不二表达式为true将执行这个语句
}
我们在代码中演示一下,我们判断一下如果输出字符Hello,则输出如果不是则输出End
import java.util.Scanner;
?
public class Demo {
public static void main(String[] args) {
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();
}
}
现在有一个需求,需要判断一个学生的成绩是否及格小于60分为不及格,大于等于六十分为及格。我们需要有两个判断,需要一个双选择结构,所以就有了if else结构
语法:
if(布尔表达式){
//如果布尔表达式为true执行该语句
}else{
//如果布尔表达式为false执行该语句
}
我们来实现一下这个需求
import java.util.Scanner;
?
public class Demo{
public static void main(String[] args) {
//考试分数大于六十分就是及格小于六十就是不及格
Scanner scanner = new Scanner(System.in);
System.out.println("请输入分数");
double v = scanner.nextDouble();
if(v<60){
//判断分数小于六十为不及格
System.out.println("不及格");
}else{
//否则为及格
System.out.println("及格");
}
?
?
scanner.close();
}
}
我们发现刚才的代码不符合实际情况,真是的情况我们还可能存在优,良,中,差,存在区间多级判断。比如100为满分,80~100为优等等,在生活中很多时候我们的选择也不仅仅有两个,所以我们需要一个多项选择结构来处理这类问题
语法:
if(布尔表达式1){
//如果布尔表达式1的值为true执行代码
}else if(布尔表达式2){
//如果布尔表达式2的值为true执行代码
}else if(布尔表达式3){
//如果布尔表达式3的值为true执行代码
}else{
//以上布尔表达式都不为true则执行该代码
}
我们来改进一下上一个需求
import java.util.Scanner;
?
public class IfDemo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入分数");
double v = scanner.nextDouble();
if(v==100){
//输入100输出恭喜满分
System.out.println("恭喜满分");
}else if(v>=80&&v<100){
//80~100输出优
System.out.println("优");
}else if(v>=60&&v<80){
//60~80输出良
System.out.println("良");
}else if(v>=0&&v<60) {
//0~60不及格
System.out.println("不及格");
}else {
System.out.println("成绩不合法");
}
?
?
scanner.close();
}
}
这样我们输入相应的数据就可以得到更为准确的判断
注意
if语句至多有一个 else 语句,else 语句是在所有的 else if 语句之后
if语句可以有若干个 else if 语句,他们必须在 else 语句之前,一旦其中一个 else if 语句检测为 true 。其他的 else if 和 else 语句都将跳过执行
为了我们的程序更严谨我们需要多个判断以减少bug
使用if...else 语句是合法的。也就是说你可以在另一个 if 或者 else if 中使用 if 或者 else if 语句,你可以像 if 语句一样嵌套 else if ...else
语法:
if(布尔表达式1){
//如果布尔表达式1的值为true执行代码
if(布尔表达式2){
//如果布尔表达式2的值为true执行代码
}
}
多选择结构还有一个实现方式就是switch case 语句
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支,也就是在switch中输入一个值,他与下面某一个case相等就输出它后面的语句,中间用break隔开,如果中间没有break,它会把后面case中的语句都输出,没有一个case中的值满足就输出default中的语句
语法:
switch(expression){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
//你可以有任意数量的case语句
default://可选
//语句
}
演示,我们定义一个字符当字符输入a时输出优秀,b时输出良好,c时输出及格,d时输出再接再励,e时输出挂科,如果不是输入这些则输出未知
public class IfDemo04 {
public static void main(String[] args) {
//case 穿透 如果没有break 它匹配到之后会一直输出
char grade = ‘a‘;
//switch匹配一个具体的值
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("未知");
}
?
}
}
switch 语句中的变量类型可以是:
byte,short,int或者char
从Java SE 7开始
switch 支持字符串String 类型了
同时case标签必须为字符串常量或者字面量
原文:https://www.cnblogs.com/dengyi102986/p/14699842.html