Java学习第三课 流程控制

Java学习第三课 流程控制

终于咕咕咕到了第三课.

基本知识

  • 程序流程控制四种结构

    顺序结构,判断结构,选择结构,循环结构.

  • 复合语句

    Java的复合语句是以整个区块为单位的语句,所以又称块语句.由{开始,}结束

    { }限制了里面变量的作用域和生命周期.可以节省内存空间

  • 转义字符

    \ 转义,可以将java中的符号等转义,也可以转义某些字符

    \n 换行符

    \t 制表符

    \b 退格

    \r 按下回车键,因为windows中回车符是有\r\n,linux中是\n

条件语句

简单if条件语句

语法

1
2
3
if(布尔表达式){
执行语句 //当布尔表达式为真时,执行{}内的语句
}

注意事项

  • 当只有一语句时,{}可以省略.但是为了阅读性不省略.
  • if( ){ }**虽然可以写成很多行,但是是一条语句**.后面的if..else等语句同理
  • 当没有执行语句时,可以写成if();if(){}

if…else语句

语法

1
2
3
4
5
6
if(表达式){
执行语句 //如果真,执行这句
}
else{ //否则
执行语句 //如果假.执行这句
}

注意事项

  • if(){}else{}相当于三元运算符.但是三元运算符必须有结果.
  • 如果{}里只有一条语句,则{}可以省略.
  • 有时为了编程的需要,if或者else后面的{}中可以没有语句.

if…else if多分支语句

语法

1
2
3
4
5
6
7
8
9
10
if(布尔表达式){
执行语句
}
else if(布尔表达式){
执行语句
}
……
else{
执行语句
}

注意事项

  • 当第一个布尔表达式为真时**,只会执行第一种情况**,之后的都不会去执行.
  • 当省略任意一组语句时,可以保留{}也可以将{}换成;

switch语句

语法

1
2
3
4
5
6
7
8
9
10
11
12
13
switch(表达式) //选择语句,表达式取值是byte,short,int,char,String或enum型
{
case 取值1: //答案1,正确就执行其后的执行语句
执行语句;
break; //可选,退出的意思
...
case 取值n:
执行语句;
break;
default: //缺省值,若没有该句且前面没有一个值匹配,则switch不做任何处理.
执行语句;
break;
}

注意

  • break表示进程结束.但是如果在正确取值后没有加break则switch语句不会停止,会继续不判断取值真假的执行后面的语句.

  • 在要求多个取值执行同一个语句时,可以使用一下方式

    1
    2
    3
    4
    5
    6
    7
    switch(表达式){
    case 1:
    case 2:
    case 3:
    执行语句
    break;
    }

    if与switch区别

  • 使用if的情况:

    对区间判断

    对运算结果是boolean

  • 使用switch的情况:

    值的数量是固定的

循环语句

while循环语句

语法

1
2
3
while(表达式){ //当表达式为真时,执行语句,当为假时,退出循环.
执行语句
}

注意

  • 不能写成while(表达式);这样编译器不会报错,但是while循环会一直进行.

do while循环

语法

1
2
3
do{
执行语句
}while (条件); //注意有个结尾有分号.

注意

  • do while语句会先执行一次语句,再循环.

for 循环

语法

1
2
3
for(初始化表达式; 条件表达式; 循环后执行表达式){
执行语句;
}

注意

  • 表达式可以用,隔开.
  • for(;;){}表示无限循环

简单算法

累加算法

1
2
3
4
5
6
7
8
9
10
11
12
/*
1. 定义一个变量,记录运算次数
2. 定义一个变量,记录每次的和
3. 使记录运算次数的数据自增
*/
int a = 1;
int sum= 0;
while(x<=10){
sum=sum+a;
a++
}
System.out.println("和为"+sum);

计数器算法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*
需求: 求100以内6的倍数出现的次数
1. 定义一个变量,用于记录循环次数
2. 定义一个变量,记录出现的次数
3. 使用循环镶嵌
*/
int x=1;
int c=0;
while(x<=100){
if(x%6){
c++
}
x++
}
System.out.println("100以内6的倍数有"+c+"个");

Break&Continue

Break –跳出

​ 可以用在switch和循环语句(Loop)中,用于跳出循环

1
2
3
4
5
6
7
8
9
10
11
12
13
for(int x=0;x<5;x++){
System.out.print("x");
if(x<4){
break; //跳出当前循环
}
}

标签名: for(int x=0;x<5;x++){
for(int y=0;y<5;y++){
System.out.print("x");
break 标签名;//结束标签名对应的循环
}
}

Continue

用于循环结构,结束本次循环,直接跳到下一次循环

1
2
3
4
5
6
7
for(int x=0;x<5;x++){
if(x%2==0){
continue;
}//跳到下一个循环,而不执行下面的语句
System.out.print(x);
}
System.out.println();

continue也可以使用标签名功能

Java学习第三课 流程控制

https://www.yunshu.site/java_note_3.html

作者

YunShu

发布于

2020-04-10

更新于

2021-01-31

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×