本文最后更新于:2020年7月10日 下午

终于咕咕咕到了第三课.

基本知识

  • 程序流程控制四种结构

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

  • 复合语句

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

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

  • 转义字符

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

    \n 换行符

    \t 制表符

    \b 退格

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

条件语句

简单if条件语句

语法

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

注意事项

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

if…else语句

语法

if(表达式){
    执行语句	//如果真,执行这句
}
else{	//否则
    执行语句    //如果假.执行这句
}

注意事项

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

if…else if多分支语句

语法

if(布尔表达式){
    执行语句
}
else if(布尔表达式){
    执行语句
}
……
else{
    执行语句
}

注意事项

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

switch语句

语法

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

注意

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

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

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

if与switch区别

  • 使用if的情况:

    对区间判断

    对运算结果是boolean

  • 使用switch的情况:

    值的数量是固定的

循环语句

while循环语句

语法

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

注意

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

do while循环

语法

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

注意

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

for 循环

语法

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

注意

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

简单算法

累加算法

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

计数器算法

/*
需求: 求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)中,用于跳出循环

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

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

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

continue也可以使用标签名功能