zoukankan      html  css  js  c++  java
  • 《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 }
  • 相关阅读:
    HDU 5492 Find a path
    codeforce gym 100548H The Problem to Make You Happy
    Topcoder SRM 144 Lottery
    codeforce 165E Compatible Numbers
    codeforce gym 100307H Hack Protection
    区间DP总结
    UESTC 1321 柱爷的恋爱 (区间DP)
    HDU 4283 You Are the One (区间DP)
    HDU 2476 String painter (区间DP)
    UESTC 426 Food Delivery (区间DP)
  • 原文地址:https://www.cnblogs.com/tsembrace/p/4574566.html
Copyright © 2011-2022 走看看