各种结构(顺序、if、switch、while、do while)
各种结构
1.顺序结构
package com.kuang.struct;
public class ShunXuDemo {
public static void main(String[] args) {
System.out.println("hello01");
System.out.println("hello02");
System.out.println("hello03");
System.out.println("hello04");
System.out.println("hello05");
}
}
运行结果为
2.if单选择结构
语法
if(布尔表达式){
//如果布尔表达式为ture将执行语句
}
package com.kuang.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();
//equal:判断字符串是否相等
if (s.equals("Hello")) {
System.out.println(s);
}
System.out.println("End");
scanner.close();
}
}
运行结果为
3.if双选择结构
语法结构
if(布尔值表达式){
//如果布尔表达式的值为true
}else
//如果布尔表达式的值为false
}
package com.kuang.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("不及格");
}
scanner.close();
}
}
运行结果
4.if多选择结构
语法结构
if(布尔表达式1){
//如果布尔表达式1的值为true执行代码
}else if(布尔表达式2){
//如果布尔表达式2的值为true执行代码
}else if(布尔表达式3){
//如果布尔表达式3的值为true执行代码
}else{
//如果以上布尔表达式都不为true执行代码
}
package com.kuang.struct;
import java.util.Scanner;
public class IfDemo03 {
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 < 60 && score >= 0) {
System.out.println("不及格");
} else {
System.out.println("成绩不合法");
}
scanner.close();
}
}
运行结果
说明:
if语句至多有1个else语句。else语句在所有的else if之后
if语句可以有若干个else if语句,它们必须在else语句之前
一旦其中一个else if语句检测为ture,其他的else if以及else语句都将跳过执行
5.嵌套的if结构
语法结构
if(布尔表达式1){
//如果布尔表达式1的值为true就执行代码
if(布尔表达式2){
//如果布尔表达式2的值为true就执行代码
}
}
思考:我们需要寻找一个数,在1-100之间?
6.switch多选择结构
语法结构
switch(expression){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
//你可以任意选择数量的case语句
default://可选
//语句
}
注:break很重要,必须要写,不然会引起case穿透
package com.kuang.struct;
public class SwitchDemo02 {
public static void main(String[] args) {
//JDK7的新特性,表达结果可以是字符串
String name = "秦疆";
switch (name) {
case "秦疆":
System.out.println("秦疆");
break;
case "狂神":
System.out.println("狂神");
break;
default:
System.out.println("弄啥嘞");
}
}
}
运行结果
拓展
反编译器(IDEA)
首先打开文件中项目结构,复制class路径,去此电脑打开路径并找到想要反编译的class
返回IDEA,右击struct,找到show in project,找到该java文件。
把刚才此电脑的class文件拖到现在的java文件里,项目目录便可以看到,双击即可看到反编译。
初学一定要养成看源码的好习惯
6.while循环
语法结构
while(布尔表达式){
//循环内容
}
特点:
只要布尔表达式为ture,循环就会一直执行下去
我们大多数情况是会让循环停止下来的,我们需要让一个表达式失效的方式来结束循环
少部分循环需要程序一直执行,比如服务器的请求响应监听等
循环条件一直为true就会造成死循环,我们正常的业务中应当避免这种,会影响程序性能或者造成程序卡死崩溃
package com.kuang.struct;
public class WhileDemo01 {
public static void main(String[] args) {
//输入1~100
int i = 0;
while (i < 100) {
i++;
System.out.println(i);
}
}
}
运行结果
思考题:计算1+2+3+4+....+100=?
package com.kuang.struct;
public class WhileDemo03 {
public static void main(String[] args) {
//计算1+2+3+4+....+100=?
int i = 0;
int sum = 0;
while (i <= 100) {
sum = sum + i;
i++;
}
System.out.println(sum);
}
}
运行结果为
7.dowhile循环
语法结构
do{
//代码语句
}whlie(布尔表达式);
特点:先执行后判断
即使不满足条件,至少要也能执行一次
package com.kuang.struct;
public class DoWhileDmo01 {
public static void main(String[] args) {
int i = 0;
while (i < 0) {
System.out.println(i);
}
System.out.println("==========================");
do {
System.out.println(i);
i++;
} while (i < 0);
}
}
运行结果
这里可以看到while和dowhile的区别,while先判断,后执行,这里i=0,不小于0,所以程序跳过它执行下一步