• 《Java从入门到精通》第四章学习笔记


    第4章 流程控制

    一、条件语句

    1、if语句

    1 if(布尔表达式){
    2     语句序列
    3 }
    4 /*
    5 布尔表达式如果为true则执行if代码块中的语句序列;
    6 反之则不执行。
    7 */

    2、if…else语句

     1 if(布尔表达式){
     2     语句序列
     3 }
     4 else{
     5     语句序列
     6 }
     7 /*
     8 布尔表达式如果为true则执行if代码块中的语句序列;
     9 反之则执行else代码块中的语句序列。
    10 如果一段代码中有多处if..else,则每一个else总是与它上面最近的一个if相匹配。
    11 */
     1 /*
     2 创建GetTerm类,在主方法中定义变量x,从控制台输入接受赋值,并通过if...else if多分支语句判断x的值决定输出结果。
     3 */
     4 import java.util.Scanner;
     5 public class GetTerm {
     6     public static void main(String[] args){
     7         Scanner scan=new Scanner(System.in);
     8         System.out.println("请输入一个整数:");
     9         int x=scan.nextInt();
    10         if(x>1000){
    11             System.out.println("x的值大于1000");
    12         }else if(x>500){
    13             System.out.println("x的值大于500,但小于1000");
    14         }else if(x>100){
    15             System.out.println("x的值大于100,但小于500");
    16         }else {
    17             System.out.println("x的值小于100");
    18         }
    19         scan.close();
    20     }
    21 }

    3、switch多分支语句

     1 switch(表达式){   //表达式的值必须是整型或者字符型
     2 case 常量值1:      //这里常量值必须与表达式的值对应,下同
     3     语句序列1
     4     break;   //跳出switch语句块,如没有则会继续执行下一句
     5 case 常量值2:
     6     语句序列2
     7     break;
     8 ...
     9 default:   //当上述各case的常量值没有匹配时候则从此处执行
    10      语句序列;
    11      break;
    12 }   
     1 import java.util.Scanner;
     2 public class Switch_Example {
     3     public static void main(String[] args){
     4         Scanner scan=new Scanner(System.in);
     5         System.out.println("请输入你的姓名:");
     6         String name=scan.nextLine();
     7         System.out.println("请输入你的专业编号(0~9):");
     8         int majorLanguage=scan.nextInt();
     9 
    10         switch(majorLanguage){
    11         case 0:
    12         case 1:
    13         case 2:
    14             System.out.println("恭喜你,"+name+"你被分配到办公室");
    15             break;
    16         case 3:
    17         case 4:
    18         case 5:
    19         case 6:
    20             System.out.println("恭喜你,"+name+"你被分配到总工办");
    21             break;
    22         case 7:
    23         case 8:
    24         case 9:
    25             System.out.println("恭喜你,"+name+"你被分配到财务处");
    26             break;
    27         default:
    28             System.out.println("抱歉,你未被录用");     
    29         }
    30         scan.close();
    31     }
    32 }

    二、循环语句
    1、while语句

    while(条件表达式){   //条件表达式必须为布尔类型
      语句序列;          //条件表达式为true则执行该语句序列
    }                 //否则退出循环

    2、do…while语句

    do {
        语句序列;
    }while(条件表达式)  
    /*与while语句的区别可以从顺序上理解出,即便条件表达式为false,也会执行一次do代码块里的指令*/

    3、for语句

    for(表达式1;表达式2;表达式3){
        语句序列;
    }
    /*
    表达式1:初始化工作
    表达式2:为布尔类型,用于判断循环条件
    表达式3:改变循环条件判断参数
    执行流程:先通过表达式1进行初始化设置工作,再判断表达式2,如果为true则执行语句序列,再通过表达式3改变循环条件判断参数;进入第二次循环时候先判断表达式2,如果为true则执行语句序列,再通过表达式3改变循环条件判断参数;直至某次判断表达式2为false则跳出循环。
    */
     1 //用for循环输出九九乘法表
     2 public class MultiTable {
     3     public static void main(String[] args){
     4         for(int i=1;i<10;i++){
     5             for(int j=1;j<i+1;j++){
     6                 System.out.println(j+"*"+i+"="+j*i+" ");
     7             }
     8             System.out.println();  //换行
     9         }
    10     }
    11 }

    4、foreach语句

    for(元素变量x:遍历对象obj){
         语句序列(一般会对x有操作)
    }
    /*foreach是for语句的特殊简化格式,从上述示例代码可以看出foreach并不是所用的关键字,而是习惯上对这种循环的称谓。*/
     1 //使用foreach语句读取一位整型数组各元素
     2 public class Repetition {
     3     public static void main(String[] args){
     4         int arr[]={1,3,4,7,8,10};
     5         System.out.println("一维数组中各元素分别为:");
     6         for(int x:arr){
     7             System.out.println(x+"	");
     8         }
     9     }
    10 }

    三、跳转语句
    1、break语句
    break只可以用在switchforwhiledo..while循环语句中,用于强行退出整个循环体。
    2、continue语句
    continue只能用在forwhiledo…while循环语句中,用于直接跳出当前循环进入下一次循环。

     1 //计算1~100各偶数之和
     2 public class ContinueDemo {
     3     public static void main(String[] args){
     4         for(int sum=0,i=0;i<101;i++){
     5             if(i%2==0){
     6                 sum+=i;
     7             }else {
     8                 continue;
     9             }
    10             if(i==100){
    11                 System.out.println("0~100内偶数之和是"+sum);
    12             }
    13         }
    14     }
    15 }
     1 public class CatchBird {
     2     public static void main(String[] args){
     3         String[] birdArray=new String[]{"麻雀","鸽子","百灵","布谷","老鹰","鹦鹉","老鹰","翠鸟","斑鸠","老鹰","黄鹂"};
     4         int laoYingNumber=0;
     5         for(String birdString:birdArray){
     6             if(birdString.equals("老鹰")){
     7                 System.out.println("一只老鹰已经被我抓起来了");
     8                 laoYingNumber++;
     9                 continue;
    10             }
    11             System.out.println("发现了一只"+birdString);     //这里当然也可以用if-else
    12         }
    13         System.out.println("总共抓住了"+laoYingNumber+"只老鹰");
    14     }
    15 }
     1 //计算1+1/2!+1/3!+...+1/20!的值
     2 public class x1 {
     3     public static void main(String[] args){
     4         double sum=0;
     5         long a=1L;
     6         for(long i=1L;i<21;i++){
     7             for(long j=1L;j<=i;j++){
     8                 a=a*j;              
     9             }
    10             sum+=1/(double)a;          //强制浮点运算
    11             a=(long)1;                 //重置为长整型数值
    12             System.out.println(sum);
    13         }
    14     }
    15 }
  • 相关阅读:
    c++ string 的注意事项
    vim 高级技巧
    常用工具
    网络安全测试工具
    RMQ ST算法
    高精度模板
    CodeForces
    CodeForces
    线段树初探
    树状数组初探
  • 原文地址:https://www.cnblogs.com/tsembrace/p/4574566.html
Copyright © 2020-2023  润新知