顺序结构
顺序结构就是从上到下依次的执行。
import java.util.Scanner;
public class MyTest02{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("起床");
System.out.println("洗漱");
System.out.println("早饭");
System.out.println("自习");
System.out.println("上课");
System.out.println("午饭");
System.out.println("午休");
System.out.println("上课");
System.out.println("晚饭");
}
}
分支结构
### if分支结构
if 执行一次
if(条件判断){
语句体
}
if else 二选一
if(条件判断){
语句体
}else{
语句体
}
if else if 多选一
if(条件判断){
语句体
}else if(条件判断){
语句体
}else if(条件判断){
语句体
}else{
}
if 语句的小案例
import java.util.Scanner;
public class MyTest02{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("起床");
System.out.println("洗漱");
System.out.println("早饭");
System.out.println("自习");
System.out.println("上课");
System.out.println("午饭");
System.out.println("午休");
System.out.println("上课");
System.out.println("晚饭");
System.out.println("请根据要求选择,1.晚自习 2.看电影 3.网游 4.逛街 5.健身 其他值.发呆 请输入:");
int choose = sc.nextInt();
if(choose == 1){
System.out.println("晚自习");
}else if(choose == 2){
System.out.println("看电影");
}else if(choose == 3){
System.out.println("网游");
}else if(choose == 4){
System.out.println("逛街");
}else if(choose == 5){
System.out.println("健身");
}else {
System.out.println("发呆");
}
}
}
switch 分支结构
注意 switch
语句是只开部关闭的,如果为手动break
则会一致执行。
switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。
switch (变量){
case 表达式1:
语句体1
break;
case 表达式2:
语句体2
break;
case 表达式3:
语句体3
break;
}
switch 语句的案例
import java.util.Scanner;
public class MyTest03{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("输入数字,判断是否需要上晚自习(1-周-2-周二 ...7 -周日");
int num = sc.nextInt();
switch (num){
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("上晚自习");
break;
case 6:
case 7:
System.out.println("happy");
break;
default:
System.out.println("非法输入 请输入数字1-7");
}
}
}
循环结构
for循环
for循环的结构
for(初始化语句;条件判断;控制语句){
循环体
}
-
循环体就是需要反复执行的代码
-
for循环执行流程
1)运行初始化语句
2)运行条件表达式进行判断 – 注意:条件表达式只能返回boolean类型的值 | – true – 执行3)
| – false – 结束for循环
3)运行循环体
4)执行控制语句5)执行2)
-
注意:
1)初始化语句只能运行1次
2)for循环循环体最少运行0次
import java.util.Scanner;
public class MyTest04{
public static void main(String[] args){
//每一行输出一个*,输出十行
for(int i = 1; i <= 10; i++){
System.out.println("*");
}
}
}
while循环
while 语句就是循环的意思,本质就是循环
while 循环的结构
while (条件判断){
循环体;
}
- while可以和for 语句完成相互转换
- while语句先进行判断条件判断
- 如果是true则执行 循环体,false则退出循环
- while循环最少执行0次
import java.util.Scanner;
public class MyTest05{
public static void main(String[] args){
int sum = 0;
int num = 1;
while (num <= 100){
sum += num;
num++;
}
System.out.println("sum = " + sum);
System.out.println("===================");
sum = 0;
num = 1;
do {
sum += num;
num++;
}while (num <= 100);
System.out.println("sum = " + sum);
System.out.println("===================");
sum = 0;
num = 1;
while(num <= 99) {
sum += num;
num += 2;
}while (sum <= 100);
System.out.println("sum = " + sum);
}
}
do while循环
do while 循环的结构
do {
循环体
}while(条件判断);
- do while 语句最少执行一次。
- 先执行一次循环体再进行判断。
- ()后面的;一定不能省略。
import java.util.Scanner;
public class MyTest05{
public static void main(String[] args){
int sum = 0;
int num = 1;
while (num <= 100){
sum += num;
num++;
}
System.out.println("sum = " + sum);
System.out.println("===================");
sum = 0;
num = 1;
do {
sum += num;
num++;
}while (num <= 100);
System.out.println("sum = " + sum);
System.out.println("===================");
sum = 0;
num = 1;
while(num <= 99) {
sum += num;
num += 2;
}while (sum <= 100);
System.out.println("sum = " + sum);
}
}
死循环
所谓死循环就是一直循环,一直重复执行循环体。
为什么要出现死循环,因为满足不知道执行几次的循环体,比如输入密码、登入操作
import java.util.Scanner;
public class MyTest06{
public static void main(String[] args){
while(true) {
System.out.println("hello");
}
}
}
嵌套循环
所谓嵌套循环就是,再一个循环的循环体里是另一个循环。
import java.util.Scanner;
//打印99乘法表
public class MyTest06{
public static void main(String[] args){
for(int i = 1; i <= 9; i++){
for(int j = 1; j <= i; j++){
System.out.print(j + "X" + i + "=" +j*i + "\t");
}
System.out.println();
}
}
}
空语句
; 就是一个空语句可以编译成功。
代码块
{
System.out.println();
}
这就是一个代码块。
分支结构和循环结构的使用注意事项
if else 注意事项
- {}不是必须要写的
- 如果没有写{},if或者else会将其后的第一行代码作为该结构的一部分
结论:一定要再分支结构中写{},一定不要随意在()后面写空语句
循环注意事项
- {}不是必须要写的
- 如果没有写{},循环结构会将其后的第一行代码作为循环体
结论:一定要再循环结构中写{},一定不要随意在()后面写空语句
变量的作用域
- 什么是变量的作用域?变量能够影响的区域/变量能够被访问到的区域
- 如何确定变量的作用域?从变量定义的位置开始到变量后面离变量最近的包裹该变量的“}”结束
- 注意:相同(重合)的作用域中不能定义同名的变量
public class MyTest18{
public static void main(String[] args){
//空语句
;
;
;
//代码块
{
System.out.println("++++++++++");
}
// 分支结构
int score = 50;
if(score > 60){
int a = 10;
System.out.println("及格");
}
{
int a = 10;
}
//循环结构
for(int i = 1; i <= 10; i++){
System.out.println("*")
}
for(int i = 1; i <= 10; i++){
System.out.println("*")
for(int j = 1; j <= 9; j++){
int i = 10;//作用域重复
}
}
}
}