流程就是做事情的先后顺序,比如郭德纲的一个相声“夜盗金陵”中,老爷子端来一个盆,先泡脚,然后再洗脸,最后洗口,咕噜咕噜咽下去,神清气爽~
分支语句,即通过条件的判断,执行不同分支内的代码。
if语句是一种分支语句。if语句有三种形式。
单if语句: 如果…
if(布尔值){ // 如果布尔值为true就执行语句体;为false就跳过
语句体;
}
对方看过JOJO嘛
boolean isNotLook = true // 没看过jojo嘛?回答true or false
if(isNotLook){
System.out.println("拖去看jojo");
}
System.out.println("我真是high到不行了!!!");
标准if语句: 如果…不然…
if(布尔值){ // 如果布尔值为true就执行语句体;为false就执行else
语句体1;
}else{
语句体2;
}
询问如果自己是DJ,对方爱你嘛
boolean isLove = true // 如果我是Dj,你会爱我嘛?回答true or false
if(布尔值){ // 如果布尔值为true就执行语句体;为false就跳过
System.out.println("是的,我爱你!妲己!");
}else{
System.out.println("给爷爬!");
}
三元运算符和标准if语句可以互换,下面用两种方式实现,取两者较大值。
int a = 7;
int b = 13;
System.out.println(a > b ? a : b); // 13
int a = 7;
int b = 13;
if(a>b){
System.out.println(a);
}else{
System.out.println(b);
} // 13
标准if语句: 如果…那不然…那不然…
if(布尔值){ // 如果布尔值为true就执行语句体;为false就判断下一else if
语句体1;
}else if(布尔值){ // 如果布尔值为true就执行语句体;为false就判断下一else if
语句体2;
}
...
else{ // 当所有条件都不满足时,才执行else
语句体n;
}
输入长相,对方对你说的话。
String face = "good" // 长相如何?good好,average中
if(face == "good"){
System.out.println("我们结婚吧");
}else if(face == "average"){
System.out.println("你是个好人");
}else{
System.out.println("gun!");
}
switch是一种分支语句。
switch会将表达式结果计算出来,与每一个case的常量值进行比对,如果相同,就会执行相应语句。break可以跳出整个switch。
switch(表达式) {
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
default的break可以省略,但最好不要省略
输入贪玩红约的级数,会打印相应的话
System.out.println("欢迎来到贪玩红约, 请问你多少级?")
int gameLevel = 30; // 输入1~30整数
switch(gameLevel / 10) {
case 0:
System.out.println("你还在新手村呢");
break;
case 1:
System.out.println("初露锋芒");
break;
case 2:
System.out.println("像神一样");
break;
case 3:
System.out.println("战争之神");
break;
default:
System.out.println("你没有玩过贪玩红约,加入我们吧!");
break;
}
int a = 2
switch(a) {
case 1:
System.out.println("执行语句体1");
break;
case 2:
System.out.println("执行语句体2");
case 3:
System.out.println("执行语句体3");
default:
System.out.println("执行语句体default");
break;
}
执行语句体2
执行语句体3
执行语句体default
可以看到,switch向下穿透执行了,直到碰到break才终止。
循环结构,一般分为四个基本组成部分 :
重复做次数确定的循环: for
for (初始化表达式; 布尔表达式; 步进表达式){
循环体;
}
for循环和while循环,没有本质区别。两个循环可以互相转换。
while (条件判断){
循环体;
步进语句;
}
给一个数,计算其阶乘
int num = 5; // 计算谁的阶乘?
int product = 1; // 存储结果
while (num > 1){
product *= num; // 循环体
num--; //步进语句(其实可以和循环体合并,但为了可读性,不建议合并)
}
do…while循环会先执行以下函数体,再进行条件判断
do {
循环体;
步进语句;
} while (条件判断);
Dio打上30行木大,就会说“是我Dio哒!!!”
int count = 1;
do {
System.out.println("木大! 木大! 木大!");
count++;
} while (count <= 30);
System.out.println("是我Dio哒!!!");
一个软性建议:
while (true){
循环体;
}