一:流程控制
改变程序自上而下执行的特点,可以根据条件选择性的执行一些代码
重复的执行一些代码,循环操作
1、if语句(if,if else,if else if() else)
1.1if语句
- 语法:if(表达式){要执行的Java代码}
- 执行过程:根据表达式的结果,true执行if 体中的java代码,否则就不执行
- 注意事项:一个Java程序中可以有多个if,if也可以嵌套使用
如果是嵌套if,先判断最外层的if 语句的表达式,如果表达式的结果为true,再 进入if体中再次进行其他的if语句的表达式的判断。
小例子:根据学生成绩来分及格、优秀和不及格
public class FlowIf {
public static void main(String[] args) {
double grande = 90;
// 在程序中将一个个的if 看做 一块代码 <60 >=80 >=60
if (grande >=60) {
if (grande >=80) {
System.out.println("优秀");
}
if(grande <80) {
System.out.println("及格");
}
}
if (grande < 60) {
System.out.println("不及格");
}
}
}
1.2if else
- 语法:if(表达式){ }else{ }
- 执行:判断表达式的结果,true执行if体中的代码,否则执行else的代码
小例子
public class FlowIfEElse {
public static void main(String[] args) {
double grande =50;
// 在程序中将一个个的if 看做 一块代码 <60 >=80 >=60
if(grande>=60) {
if(grande>=80) {
System.out.println("优秀");
}else {
System.out.println("及格");
}
}else {
System.out.println("不及格");
}
}
}
1.3if else if() else
- 语法:if(表达式){ Java代码 }else if(表达式){Java代码}else{}
- 规定:该语句中可以有多个else if只能有一个else,并且else 必须放到最后一个
- 执行原理:先判断if的表达式,如果if的表达式为true则执行if体中的代码,其他的else if和else都不执行。如果if表达式为false则继续进行后面的else if的表达式的判断,直到表达式的结果为true,整个语句结束,否则执行else语句
小例子:根据今天是星期几,来判断今天上什么课
public class FlowIfEElseIf {
public static void main(String[] args) {
/*
* 根据今天是星期几 输出今天上什么课
*/
int day=2;
if(day==1) {
System.out.println("java");
}else if(day==2){
System.out.println("linux");
}else if(day==3) {
System.out.println("数据结构");
}else {
System.out.println("语文");
}
}
}
2、switch语句
- 语法:switch(key变量或者值){
case value:
break;
case value:
break;
default:
break;
} - 执行过程:用switch后面的值与case后的每一个value值进行比较,会执行相等case后面的语句。如果该case后没有break后面的所有代码都将执行。直到遇到break,default默认必须执行的代码。
- 规定:case后面的value值的类型必须与key的类型一致
小例子:根据今天是星期几来判断今天上什么课
public class FlowSwitch {
public static void main(String[] args) {
int day = 5;
// 使用switch语句
switch (day) {
case 1:
System.out.println("java01");
break;
case 2:
System.out.println("java02");
break;
case 3:
System.out.println("java03");
break;
case 4:
System.out.println("java04");
break;
case 5:
System.out.println("java05");
break;
case 6:
System.out.println("java06");
break;
case 7:
System.out.println("java07");
break;
default:
System.out.println("今天不上课");
}
System.out.println("====================");
}
}
循环的三要素:初始化变量,循环条件,变量更新
循环的作用:重复的做一件事,Java中循环的作用,多次执行同样的Java代码
初始化变量 判断是的起始值
循环条件 决定循环中的java代码是否可以执行
变量更新 为了改变循环条件 在某个时刻将循环停止
3.while do while
3.1、while
- 语法:while(表达式){ Java代码 }
- 执行:判断表达式的结果,结果为true执行Java代码
- 注意:程序执行到while语句的时候先进行表达式的判断,循环有可能一次也不执行
3.2、do while - 语法:do {Java代码 }while(表达式)
- 执行:程序先执行一遍,再判断表达式的结果,结果为true则执行Java代码
- 注意:程序执行带while语句的时候先执行一遍,再进行表达式的判断,循环中的代码至少执行一次
- 常用作用:让程序执行起来,使用设置标记的做法来停止循环
小例子:逢3过
//逢3过 1-40 数字带3 或者3的倍数 就喊过
int num=1;
while(num<=40) {
//该判断
if(num%3==0 || num%10==3 || num/10==3) {//3的倍数
System.out.println(num+"=======过");
}else {
System.out.println(num);
}
num++;
}
4.for( for foreach )
- 语法:for(; ;){ Java代码 }
- 执行:根据表达式的结果判断,结果为true则执行Java代码,结果为false不执行。根据变量更新停止循环
- 小例子:一班有5 人,二班有8人,输出他们的编号
public class ForDemo01 {
public static void main(String[] args) {
//每个班级人数不一致
for(int i=1;i<3;i++) {
System.out.println("第"+i+"班的学生=========== ");
//输出每个班的学生编号 1---5
int num=8;
if(i==1) {
num=5;
}
for(int j=1;j<=num;j++) {
System.out.println("编号是:"+j);
}
}
}
}
4.1 break continue return三者之间的区别
- 该关键字是用来结束循环的
- break:结束本次的所有循环,停止后面的所有代码
continue:结束本次循环,进入下一次循环,结束当前循环的本次循环,进入下一次循环
return:结束当前方法main之后的所有操作
代码示例:
A:break的定点跳出
public class ForBreak01 {
public static void main(String[] args) {
//第一个人 操作第一遍 的时候 输出5 之后 就将所有操作全部结束
two:for (int k = 1000; k <1002; k++) {
System.out.println("===========" + k + "==========");
for (int i = 1; i < 3; i++) {
System.out.println("===========第" + i + "遍==========");
for (int j = 1; j <= 10; j++) {
System.out.println(j);
if (j == 5) {
break two;
}
}
}
}
4.2、循环的嵌套使用:
- 循环操作大部分是为了数据的遍历的
- 外层循环控制行,内层循环控制列
- 外层循环执行一次,内层循环执行一遍
小例子:99乘法表
public class NNTable {
public static void main(String[] args) {
for (int i =1; i <=9; i++) {
//行号 等于当前行的列数 i 为行号 j 控制列数的
for (int j = 1; j <=i; j++) {
System.out.print(j+"*"+i+"="+(i*j)+" ");
}
System.out.println();//换行
}
}
}