流程控制语句
if语句(选择结构)
if语句的格式:
if(条件){
//执行体
}
格式分析:条件:条件的结果必须是boolean类型的,只有两种结果true,或者false。
执行体:如果条件的结果为true,就执行执行体里面的内容,如果条件为false,就不对执行体做任何的操作。
下面的代码对if语句的具体使用进行了演示:/*
If语句的具体代码体现
*/
public class IfDemo{
public static void main(String[] args){
//定义一个变量i用于下面条件的判断
int i = 6;
//使用if语句对i进行判断
if(i == 6){
System.out.println("if语句中的条件为true执行体执行了");
i++;
}
//打印i的值
System.out.println(i);
}
}
代码分析:程序从main函数入口进入,首先定义了变量i,使用if语句对变量i进行判断,i==6条件为true,执行了输出语句,打印了"if语句中的条件为true执行体执行了",接着i++,变量i的值自增现在为7,if语句结束,接着有一个输出语句打印i的值,结果为7。如果if选语句中的条件为i>6,条件的结果为false,那么执行体中的内容就不会被执行,而是执行if语句下的输出语句打印i的值,结果i的值为6。
if...else语句
if…else语句的结构:
if(条件){
条件为true时要执行的语句(执行语句1)
}else{
条件为false时要执行的语句(执行语句2)
}
结构分析:如果if语句判断条件为true是,就执行执行语句1,如果条件为假,就执行执行语句2。
下面的代码演示了if…else语句的具体实现:/*
用if...else语句判断一个数的奇偶性
*/
public class IfElseDemo{
public static void main(String[] args){
//定义一个变量i,用于下面的判断
int i = 15;
//用if...else语句判断变量的奇偶性
if(i % 2 == 0){
System.out.println(i+"是偶数");
}else{
System.out.println(i+"是奇数");
}
}
}
代码分析:定义一个变量I,对该变量进行接下来的判断,使用if…else语句来对该变量进行奇偶性的判断,如果条件15%2的余数为0,就执行执行语句1,打印15是偶数,如果条件15%2的余数不为0,就执行15是奇数。
if…else if…else if语句
if…else if…else if 语句的结构:
if(条件1){
//执行语句1
}else if(条件2){
//执行语句2
}else if(条件3){
//执行语句3
}else{
//执行语句4
}
结构分析:如果条件1的结果为true,就执行执行语句1,如果为false,就对条件2进行判断,条件2的结果为true,就执行执行语句2,如果结果为false,就对条件3进行判断,条件3的结果为true,就执行执行语句三,…如果前面的条件都不成立就执行执行语句4.
下面的代码演示了if else if else if语句的具体体现:/*
使用if else if else if语句对下面的要求进行判断
有一个成绩,判断成绩的等级,成绩大于80优,成绩大于70良,成绩大于60中,成绩小于60差
*/
public class IfElseIfDemo{
public static void main(String[] args){
//定义一个变量来记录成绩
int score = 90;
//使用if else if else if语句对成绩进行判断
if(score > 80){
System.out.println("优秀");
}else if(score > 70){
System.out.println("良好");
}else if(score > 60){
System.out.println("中等");
}else{
System.out.println("差");
}
}
}
代码分析:定义一个变量score记录成绩90,进入判断语句第一个条件,90>80,所以直接执行执行语句打印输出语句的优秀,其他的条件不在进行判断,该代码结束。
if…else语句和三元运算符的互换
if…else语句和三元运算符是可以进行互换的,下面的代码演示了互换的具体实现:/*
给两个数判断出最大值
分别用if...else和三元运算符的方法实现
*/
public class IfElseDemo_1{
public static void main(String[] args){
//定义两个变量,进行下面的判断
int i = 8;
int j = 6;
//使用if...else语句判断两个变量的最大值
if(i > j){
System.out.println(i+"是最大值");
}else{
System.out.println(j+"是最大值");
}
//使用三元运算符判断其最大值
int k = i > j ? i : j;
System.out.println(k+"是最大值");
}
}
代码分析:定义两个变量i=8和j=6,判断8>6,输出8是最大值。然后是三元运算符:定义一个变量k来接收等一下判断的值,8>6吗?大于6就输出i,不大于6就输出j,显然8大于6,所以输出i值,赋值给k,然后打印出8是最大值。
循环语句
while循环
可以实现一段代码的反复执行,while循环的格式如下:
while(条件){
循环体
}
格式分析:首先条件进行判断,如果条件为true,就执行循环体的内容,然后返回继续对条件进行判断,如果为真,就继续执行循环体,知道条件为false,循环才结束。
下面一段代码是对while循环的具体演示:/*
使用while循环输出整数1到4
*/
public class WhileDemo{
public static void main(String[] args){
//定义一个变量来记录循环的初始值
int i = 1;
//使用while循环对数据进行输出
while(i
System.out.println(i);
//每次循环i的值加1
i++;
}
}
}
代码分析:先定义一个变量来记录循环的初始值1,然后进入while循环,判断1<5,结果为true,执行循环体,打印i的值,然后i的值进行自增,继续进入条件判断,2<5,结果为true,执行循环体….直到i的值为5,进行条件判断,5<5,结果为false,退出while循环。
for循环
for循环的格式:
for(初始化变量;条件表达式;操作表达式){
循环体
}
格式分析:初始化变量:定义一个变量来记录该循环的初始值,条件表达式:控制循环语句的循环次数,它的结果为true是,就继续执行循环体,结果为false是,循环结束,操作表达式:对该值进行自增,自减操作,控制值的变化。
执行过程:
1.先初始化变量值,用来记录循环的初始值,此过程只执行一次。
2.进入条件表达式,对该表达式进行判断,如果结果为true,就进入循环体,然后返回操作表达式,对该值进行自增自减的操作。然后再回到条件表达式进行判断,结果为true,就继续继续第二步 的操作,直到条件表达式的结果为false,循环才结束。
下面的代码演示了for循环的具体体现:/*
使用for循环打印出1到10的数字
*/
public class ForDemo{
public static void main(String[] args){
//for循环,初始化变量,控制循环次数,变量的自增操作
for(int i = 1;i
System.out.println(i);
}
}
}
运行结果:
用for循环求1到100的和/*
使用for循环求1~100的和
*/
public class ForTest{
public static void main(String[] args){
//定义一个变量,记录求和后的值
int sum = 0;
//for循环,控制1~100的次数
for(int i = 1;i <= 100;i++){
sum = sum + i;
}
//打印求和后的值
System.out.println(sum);
}
}
运行结果:
do…whlie循环
do…while循环语句的格式:
do{
循环体
}while(条件);
结构分析(执行过程):首先循环体会先执行一次,然后再进行条件判断,结果为true时,继续执行循环体中的内容,然后再进行条件判断,直到结果为false时,循环才结束。do…while循环最大的一个特点就是无论条件是真是假,循环体都会无条件执行一次。
下面的代码演示了do…while功能的具体实现:/*
使用do...while循环打印1~4的值
*/
public class DoWhileDemo{
public static void main(String[] args){
//定义一个变量来初始化循环的初始值
int i = 1;
//do...while循环 打印1~4的值
do{
//打印i的值
System.out.println(i);
//对i的值进行自增操作
i++;
}while(i
}
}
运行结果:
while和for循环的死循环
所谓死循环就是一直在执行,不会停下。
下面的代码演示了while和for循环死循环的具体实现:/*
while和for循环的死循环代码的实现
*/
public class WhileForDemo{
public static void main(String[] args){
//while循环的死循环
/*while(true){
}*/
//for循环的死循环
for(;;){
}
}
}
嵌套循环
通俗来讲嵌套循环就是循环中套循环,最常用的是for循环的嵌套。
for循环嵌套的格式:
for(1初始化变量;2条件表达式;3操作表达式){
for(4初始化变量;5条件表达式;6操作表达式){
循环体
}
}
执行过程:
1.进入第一个for循环外层循环,1初始化变量
2.判断2条件表达式,结果为true
3.进入内层for循环,4初始化变量
4.判断5条件表达式,结果为true
5.进入内层循环的循环体
6.执行6操作表达式
7.判断5条件表达式,结果为true,重复5到6步的操作,如果为false,返回外层循环3操作表达式
8.判断2条件表达式,结果为true,重复3到7步的操作,如果为false,退出for循环嵌套
下面用一个代码来演示for循环嵌套的具体体现:/*
for循环嵌套的代码演示
*/
public class ForForDemo{
public static void main(String[] args){
//for循环的嵌套
for(int i = 1;i<3;i++){
System.out.println("外层循环执行第"+i+"次");
for(int j = 1;j<5;j++){
System.out.println("内层循环执行第"+j+"次");
}
}
}
}
运行结果:
案例:通过嵌套循环打印下面的图形
*
**
***
****
*****
具体实现功能代码如下:public class ForForDemo_1{
public static void main(String[] args){
//外层循环控制行数
for(int i=1;i<=5;i++){
//内层循环控制每行的个数
for(int j=1;j<=i;j++){
//打印每列的*
System.out.print("*");
}
//对每行进行换行操作
System.out.println();
}
}
}
break关键字
用于跳出循环的作用,具体的用法见下面的代码:/*
break关键字的具体实现:跳出循环
*/
public class BreakDemo{
public static void main(String[] args){
int i = 1;
//while死循环
while(true){
//if判断
if(i==3){
break;
}else{
System.out.println(i);
}
i++;
}
}
}
运行结果:
Break关键字还有标记的作用,标记可以直接跳出指定的循环。具体代码如下:/*
break关键字还有标记的作用:跳出指定循环
具体实现功能如下
*/
public class BreakDemo_1{
public static void main(String[] args){
a:for(int i=1;i<4;i++){
for(int j=1;j<7;j++){
System.out.print("j="+j);
//跳出指定的外层循环a
break a;
}
System.out.println("i+"+i);
}
}
}
运行结果:
continue关键字
continue关键字的作用是结束本次循环,进入下一次循环。
作用的具体实现如下面代码演示:/*
continue 关键字的具体作用代码演示
*/
public class ContinueDemo{
public static void main(String[] args){
for(int i=1;i<8;i++){
//判断这个数是否为偶数,如果是就跳出本次循环
if(i%2==0){
continue;
}
System.out.println(i);
}
}
}
运行结果: