文章目录
- 1.顺序结构
- 2.选择结构
- 选择结构--if语句
- 选择结构--switch语句
- 3.循环结构
- 例子
- 三种循环的区别
- 死循环的两种方式
- 循环套循环
- 控制跳转语句:break与continue
java语言结构包括:
- 顺序结构
- 选择结构
- 循环结构
1.顺序结构
执行流程:从上往下,依次执行
2.选择结构
选择结构的分类
- if语句
- switch语句
选择结构–if语句
if 语句的格式 | 执行流程 |
先计算比较表达式的值,看其返回值是true还是false。 如果是true,就执行语句体; 如果是false,就不执行语句体; | |
首先计算比较表达式的值,看其返回值是true还是false。 如果是true,就执行语句体1; 如果是false,就执行语句体2; | |
首先计算比较表达式1看其返回值是true还是false, 如果是true,就执行语句体1,if语句结束。 如果是false,接着计算比较表达式2看其返回值是true还是false, 如果是true,就执行语句体2,if语句结束。 如果是false,接着计算比较表达式3看其返回值是true还是false, 如果都是false,就执行语句体n+1。 注意事项:最后一个else可以省略,但是建议不要省略 |
选择结构–switch语句
switch语句的格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
执行流程:
- 先计算表达式的值
- 然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句
拓展:
- case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
- default可以省略吗?
* 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。- break可以省略吗?
* 最后一个可以省略,其他最好不要省略- default一定要在最后吗?
* 不是,可以在任意位置。但是建议在最后。- switch语句的结束条件
* 遇到break就结束了
* 执行到switch的右大括号就结束了
3.循环结构
循环一共有三种方式:
- for循环
- while循环
- do…while循环
循环语句的格式 | 执行流程 |
例子
例子:用三种不同的循环结构打印1~10的数字
class Text
{
public static void main(String[] args)
{
Demo_for();
Demo_while();
Demo_dowhile();
}
//for循环 for(初始语句; 条件; 循环动作)
public static void Demo_for() {
for(int i = 1; i<= 10; i++){
System.out.println("i="+i);
}
}
//while循环
public static void Demo_while(){
int i = 1; //初始语句
while(i <= 10){ //条件
System.out.println("i="+i);
i++; //循环动作
}
}
// do while
public static void Demo_dowhile(){
int i = 1; //初始语句
do{
System.out.println("i="+i);
i++; //循环动作
}
while(i <= 10); //条件
}
}
三种循环的区别
- while与do…while
while语句是先判断条件( for也是这样 ),再执行循环体,如果条件不符合,则不会执行循环体;但是do…while是先执行循环体,再进去判断条件语句,所以不论是否符合条件,它都会执行一次循环体。
将上面例子中的初始条件改为: int i = 11; 运行一下可以帮助理解。 - for 与 while
for循环括号中定义的i变量,在for循环结束后就释放掉了,再使用i得重新定义;while循环中的i,在循环结束后可以继续使用,不用重新定义。
可以在上面例子循环结束后修改i的值,可以帮助理解。
死循环的两种方式
while(true){
.......
}
for( ; ; ){
......
}
循环套循环
所谓循环套循环,大概样子就是:
for{
for(
}
}
三个例子理解循环套循环:
/*
1. 打印:
*****
*****
*****
*****
*/
public static void Demo_for1() {
for(int i = 1; i<= 4; i++){ //外循环,控制行数
for(int j = 1; j <= 5; j++){ //内循环,控制列数
System.out.print("*");
}
System.out.println(); //换行
}
}
/*
2. 打印:
*
**
***
****
*****
*/
public static void Demo_for2() {
for(int i = 1; i<= 5; i++){
for(int j = 1; j <= i; j++){ //i控制打印几个星星。
System.out.print("*");
}
System.out.println();
}
}
//3. 打印乘法口诀
public static void Demo_for3() {
for(int i = 1; i<= 9; i++){
for(int j = 1; j <= i; j++){
System.out.print(i+"*"+j+"="+i*j+"; ");
}
System.out.println();
}
}
控制跳转语句:break与continue
break的使用场景:只能在switch和循环中
continue的使用场景:只能在循环中
例子:
public static void Demo_break() {
for(int i=1; i<=10; i++){
if(i == 4){
break; //跳出循环:当i == 4时,跳出循环,所以结果为:1 2 3
}
System.out.println(i);
}
}
public static void Demo_continue() {
for(int i=1; i<=10; i++){
if(i == 4){
continue; //跳出本次循环,不运行打印语句,但继续下次循环:所以结果为:1 2 3 5 6 7 8 9 10
}
System.out.println(i);
}
}
拓展:控制跳转语句return语句
- return的作用
* 返回
* 其实它的作用不是结束循环的,而是结束方法的。- return和break以及continue的区别?
* return是结束方法
* break是跳出循环
* continue是终止本次循环继续下次循环