1.顺序结构:
2.判断结构:

if(条件表达式)
{
    执行语句;
}

执行语句是单条语句时,大括号可以省略。(for也一样)
一个if整体就相当于一个单条语句。单条语句一般以分号或者大括号结束。

if(条件表达式)
{
    执行语句1;
}
else
{
    执行语句2;
}

执行语句1,2只会而且肯定会执行一个。

三元运算符?:就是if else 语句的简写格式:
当if else 运算后,有一个具体的结果时,可以简写成三元运算符。如三元运算符不能直接执行输出语句。

if(条件表达式1)
{
    执行语句1;
}
else if(条件表达式2)
{
    执行语句2;
}
...
else
{
    执行语句n;
}

3.选择结构:

switch(表达式)
{
case 取值1:
    执行语句;
    break;
case 取值2:
    执行语句;
    break;
...
default:
    执行语句;
    break;
}

能选择的数据只有4种:byte short int char等。

switch大括号里的内容会全部加载到内存,所以内容没有顺序,但是程序会先执行第一个case,然后依次读,最后读default。

靠近尾部大括号的break可以省略。
如果正确case的break省略掉了,那么后面的case里的执行语句会继续执行。可应用于单项多选择条件。
default里的break不代表程序结束,可以在开头或者中间,因为内容没有顺序。

开发的时候,if和switch的使用场景:
if:
    1.对具体的值进行判断
    2.对区间判断
    3.对运算结果是boolean类型的表达式进行判断

switch:
    1.对具体的值进行判断(值的个数通常是固定的)
    对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存,效率相对高一些。但是不常用,因为switch功能性差,书写麻烦。

4.循环结构:while, do while, for

1.

while(条件表达式)
{
执行语句;
}

ctrl + c 结束控制台的运行
注意控制两点:循环条件,循环次数。

2.

do
{
执行语句;
} while(条件表达式);

开发用的较少

3.

for(初始化表达式;循环条件表达式;**循环后** 的操作表达式)
{
    执行语句;
}

多个表达式用逗号隔开。
循环条件必须是boolean值。

例子:

int x = 1;
for(System.out.println("a"); x < 3; System.out.println("b"))
{
    System.out.println("c");
    x++;
}     //acbcb
for 和 while 的区别:
1.for和while可以互换。
2.如果需要通过变量来对循环进行控制,该变量只作为循环增量存在时,小区别就出来了:
for循环初始化的变量在循环结束后会消失,不能再次使用(节省内存空间)。
如果循环变量还需要继续使用,优先使用while。

无限循环应用:能有让循环适当的等待(不知道循环多少次,阻塞式方法),不定义变量控制次数。
while(true) { }
for( ;(不写默认就是true) ; ) { }

常用的:if while for
循环结构使用场景:
1.当对某些代码执行很多次时,使用循环结构完成。
2.当对一个条件进行一次判断的时候,可以使用if语句。
3.当对一个条件进行多次判断的时候,可以使用while语句。

注意:
1.在使用循环时,要明确哪些是需要参与循环的语句。
2.循环通常情况下,需要定义条件,和控制循环次数。

5.循环嵌套:

/*大圈套小圈思想:
        一种重复的情况,这种重复情况中的每一次又对应另外一种情况多次。
    */

for(int i = 0; i < 4; i++) //外循环控制的是行数
{
    for(int j = 0; j < 4; j++) //内循环控制的是个数,只要保证区间域等于个数就行。
    {
        System.out.print("*");
    }
    System.out.println();
}

6.转义符:

\n : 换行
\t:制表符
\b:退格
\r:返回行首

在Linux下的换行:\n

\r  使光标移动到本行行首,
\n  使光标移动到下一行行首

在windows下的换行:\r\n

\r\n    使光标移动到本行行首,然后移动到下一行行首

7.其他流程控制语句:
break:跳出当先循环,用于选择结构(switch),循环结构
continue:结束本次循环,继续下次循环,用于循环结构

break,continue单独存在时,下面不要定义其他语句,会报错。

可以用if控制break何时跳出:
if(x>1)
    break;

如果出现了循环嵌套,break/continue想要跳出或者继续指定的循环,可以通过标号来完成:

xiaoqiao: for()
{
    wangcai: for()
    {
        break xiaoqiao;
        //continue wangcai:
    }
}