1. 分支结构(序)
Scanner sc=new Scanner(System.in);
System.out.println("输入你想去的楼层");
int floor = sc.nextInt();
/*
return是直接返回,不执行后续的代码
break只是跳到switch的外面,继续执行后面的代码
*/
switch (floor){
case 1:
System.out.println("好的,即将到达1楼,请站稳扶好!");
break;
case 2:
System.out.println("好的,即将到达2楼,请站稳扶好!");
break;
case 3:
System.out.println("好的,即将到达3楼,请站稳扶好!");
break;
default:
System.out.println("你想上天吗,哪他妈有这个楼层,不如你去地狱吧,那有18层呢!!");
return;
}
System.out.println("今天是个好日子!");//如果输入的数字是除了1、2、3以外的数,那么因为return的存在,这句话不会输出
switch...case结构:多条路
优点:效率高,结构清晰
缺点:只能对整数判断相等
break关键字:跳出switch
以下是一个用switch...case结构简单的提款机程序
import java.util.Scanner;
//命令解析程序
public class CommandBySwitch {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请选择功能: 1.存款 2.取款 3.查询余额 4.退卡");
int command = scan.nextInt();
switch(command){
case 1:
System.out.println("存款操作...");
break;
case 2:
System.out.println("取款操作...");
break;
case 3:
System.out.println("查询余额操作...");
break;
case 4:
System.out.println("退卡操作...");
break;
default:
System.out.println("输入错误");
}
}
}
2. 循环结构
循环三要素:
循环变量的初始化
循环的条件(以循环变量为基础)
循环变量的改变(向着循环结束的方向变)
案例演示1:输出5次相同的话
public static void main(String[] args) {
int i=1;
for(;i<=5;i++){
System.out.println("书籍是人类进步的阶梯!");
}
}
案例演示2:输出9的乘法表
public static void main(String[] args) {
for(int i=1;i<=9;i++){
System.out.println(i+"*"+9+"="+9*i);
}
for(int j=1;j<=9;j=j+=2){
System.out.println(j+"*"+9+"="+9*j);
}
}
while循环:先判断后执行,有可能一次都不执行
1)语法:
while(boolean){
语句块,循环体--------------反复执行的代
}
2)执行过程:
判断boolean的值,若为true则执行语句块
再判断boolean值,若为true则再执行语句块
.......
如此反复,直到boolean的值为false时候,while循环结束
案例演示1:猜数字小游戏,结合分支结构和while循环
public class Guessing {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = (int)(Math.random()*1000+1); //1到1000之内的随机数
System.out.println(num); //作弊
//300(大),200(小),250(对)
System.out.println("猜吧!");
int guess = scan.nextInt(); //1.
while(guess!=num){ //2.
if(guess>num){
System.out.println("太大了");
}else{
System.out.println("太小了");
}
System.out.println("猜吧!");
guess = scan.nextInt(); //3.
}
System.out.println("恭喜你猜对了!");
}
}
do...while 循环:先执行,后判断,至少执行一次
注意:当第一要素和第三要素的代码相同时候,首选do...while
回顾:第一要素:循环变量的初始化
第二要素:循环的条件(以循环变量为基础)
第三要素:循环变量的改变(想着循环结束的方向变化)
案例演示:猜数字小游戏
import java.util.Scanner;
//猜数字小游戏
public class Guessing {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = (int)(Math.random()*1000+1); //1到1000之内的随机数
System.out.println(num); //作弊
//假设num=250
//300(大),200(小),250(对)
int guess;
do{
System.out.println("猜吧!");
guess = scan.nextInt(); //1+3
if(guess>num){
System.out.println("太大了");
}else if(guess<num){
System.out.println("太小了");
}else{
System.out.println("恭喜你猜对了");
}
}while(guess!=num); //2
}
}
3. 一些知识点的补充:
1.任何复杂程序逻辑都可以通过三种结构来实现“
顺序结构:从上往下逐行执行,每句都要走
分支结构:有条件的执行某语句一次,并非每句都要走
循环结构:有条件的执行某语句多次,并非每句都要走
2. 变量的作用域/范围
从变量的声明开始,到包含它的最近的大括号结束