基本语句结构

  • 选择语句【重点】

  • 循环语句【重点】

  • 跳转语句【重点】

一、选择语句【重点】

  • 1. if语句格式一

    if(关系表达式){
        语句体
    }
    
    执行流程:
        A:先判断关系表达式的结果是true还是false
        B:如果是true,就执行语句体,否则不执行
    
    //案例1:用整数1表示男,键盘录入一个整数,如果是1,就输出"我是男人,我要上男厕所" class IfDemo1{ public static void main(String[] args){ //键盘录入一个整数,使用Scanner对象 Scanner sc=new Scanner(System.in); System.out.println("1表示男,输入其他不管"); int num=sc.nextInt(); //对录入的整数num,进行判断是否等于1 if(num==1){ System.out.println("我是男人,我要上男厕所"); } } } 
  • 2. if语句格式二

    if(关系表达式){
        语句体1;
    }else{
        语句体2;
    }
    
    执行流程:
        A:先判断关系表达式的结果是true还是false B:如果是true,就执行语句体1,否则不执行语句体2 /* 案例2:用整数1表示男,键盘录入一个整数 如果输入1,就输出"我是男人,我要上男厕所"; 如果不是1,就输出"我是女人,我要上女厕所" */ class IfDemo2{ public static void main(String[] args){ //键盘录入一个整数,使用Scanner对象 Scanner sc=new Scanner(System.in); System.out.println("1表示男,输入其他不管"); int num=sc.nextInt(); //如果输入的是1 if(num==1){ //如果num等于1 System.out.println("我是男人,我要上男厕所"); }else{ //如果num不等于1 System.out.println("我是女人,我要上女厕所"); } } } 
  • 3. if语句格式三

    if(关系表达式1){
        语句体1;
    }else if(关系表达式2){ 语句体2; }else if(关系表达式3){ 语句体3; } ... else{ 语句体n+; } 执行流程: A:从上往下依次判断关系表达式的结果,是true还是false B:如果关系表达式的结果是false,就继续判断下一个关系表达式 只要有一个为true,就执行该处的语句体,整个if语句结束。 C:如果都不满足,就执行最后一个else的语句体 /* 案例3:用整数1表示男,整数2表示女人,其他整数表示人妖 键盘录入一个整数,如果输入1,就输出"我是男人,我要上男厕所"; 如果输入2,就输出"我是女人,我要上女厕所"; 不是1也不是2,就输出"我是人妖,男女厕所通吃" */ class IfDemo3{ public static void main(String[] args){ //键盘录入一个整数,使用Scanner对象 Scanner sc=new Scanner(System.in); System.out.println("1表示男,输入其他不管"); int num=sc.nextInt(); //如果输入的是1 if(num==1){ //如果num等于1 System.out.println("我是男人,我要上男厕所"); }else if(num==2){ //如果num等于2 System.out.println("我是女人,我要上女厕所"); }else{ //如果num不等于1,也不等于2 System.out.println("我是人妖,男女厕所通吃"); } } } 
  • 4. if语句的练习

        //1)键盘录入两个整数,求两个数的最大值
        import java.util.Scanner;
        public class IfTest1{ public static void main(String[] args){ //键盘录入两个整数 Scanner sc=new Scanner(System.in); //录入数据 System.out.println("请输入第一个整数:"); int a=sc.nextInt(); System.out.println("请输入第二个整数:"); int b=sc.nextInt(); int max=0;//max用于记录最大值 //比较a和b的大小,如果a比b大,大的值就是a,否则就是b if(a>b){ max=a; }else{ max=b; } System.out.println("a和b的最大值为:"+max); } } /* 2)键盘录入一个数,判断这个数是否为偶数还是奇数 如:输入8,输出8是偶数 输入7,输出7是奇数 */ public class IfTest2{ public static void main(String[] args){ //键盘录入两个整数 Scanner sc=new Scanner(System.in); //录入数据 System.out.println("请输入一个整数:"); int a=sc.nextInt(); if(a%2==0){ //如果a能被2整数,就输出a是偶数 System.out.println(a+"是偶数"); }else{ //如果a不能被2整数,就输出a是奇数 System.out.println(a+"是奇数"); } } } 
  • 二、switch语句【重点】

    switch专门用于对几个固定的值进行匹配,如星期只有7天,月份只有12个

    switch的格式:
        switch(表达式){
            case 值1:
                语句体1; break; case 值2: 语句体2; break; ... default: 语句体n+1; break; } 举例:键盘录入一个月份,输出对应的季节 public class SwitchDemo1{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); System.out.println("键盘录入一个月份:"); int num=sc.nextInt(); //使用switch语句,对num的值进行匹配 switch(num){ case 1: case 2: case 12: System.out.println("冬季"); break; case 3: case 4: case 5: System.out.println("春季"); break; case 6: case 7: case 8: System.out.println("夏季"); break; case 9: case 10: case 11: System.out.println("秋季"); break; default: System.out.println("你输入的月份不对"); break; } } } switch的注意事项: 1)表达式的数据类型: byte short int char JDK1.5之后可以是枚举 JDK1.7之后可以是String 2)case的值只能是常量,不能是变量,也不能重复 3)default可以省略 4)break可以省略,但是会穿透 5)遇到break,switch语句结束 

三、循环语句【重点】

  • 1.for循环

    格式:
        for(初始化语句;条件判断语句;控制条件语句){
            循环语句体;
        }
    
    执行流程:
        A:执行初始化语句
        B:判断条件是否为true
            如果条件是true,就继续执行
            如果条件为false,就结束for循环 C:执行循环语句体 D:控制条件语句 E:回到B步骤继续循环 举例1:在控制台上输出10个HelloWorld public class ForDemo1{ public static void main(String[] args){ //整数i,从0变化到9,每次递增1 for(int i=0;i<10;i++){ //每次循环,输出一个"HelloWorld" System.out.println("HelloWorld"); } } } 举例2:在控制台打印输出1~5和5~1之间的所有整数 public class ForDemo2{ public static void main(String[] args){ //打印输出1~5 for(int i=1;i<=5;i++){ System.out.println(i); } //打印输出5~1 for(int i=5;i>=1;i--){ System.out.println(i); } } } 
  • 2.for循环练习题

    练习1: 在控制台打印输出1-10之间所有整数的和
        /*
            求和思想:
                以后遇到任何求和的问题,都按照下面的思路来做
                A:定义一个求和变量sum
                B:遍历所有需要求和的数据,和sum累加
    
            举例:求1-10之间所有整数的和
        */
        public class ForTest2{ public static void main(String[] args){ //A:定义一个求和变量sum int sum=0; //B:遍历所有需要求和的数据,和sum累加 for(int i=1;i<=10;i++){ sum+=i; } System.out.pritnln("1-10之间的和为:"+sum); } } 练习2:在控制台上打印输出1-100之间偶数的和 /* A:定义一个求和变量sum B:遍历所有需要求和的数据,和sum累加 */ public class ForTest3{ public static void main(String[] args){ //A:定义一个求和变量sum int sum=0; //B:遍历所有需要求和的数据,和sum累加 //遍历1-100之间所有的数 for(int i=1;i<=100;i++){ //判断i是否是偶数,如果是,就和sum累加 if(i%2==0){ sum+=i; } } System.out.println("1-100之间偶数的和为:"+sum); System.out.println("------------------"); int sum2=0; //每次循环让i间隔2 for(int i=0;i<=100;i=i+2){ sum2+=i; } System.out.println("1-100之间偶数的和为:"+sum2); } } 练习3:打印输出所有的水仙花数,并统计个数 什么是水仙花数:是一个3位数,每一位数字的立方和等于该数本身。 举例:153=1*1*1+5*5*5+3*3*3 /* 统计思想: 所有求个数的问题,都按照下面的思路来做 A:定义一个计数器count B:如果满足条件count++ */ public class ForTest4{ public static void main(String[] args){ //定义计数器 int count=0; for(int i=100;i<=999;i++){ int ge=i%10; int shi=i/10%10; int bai=i/100%10; if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){ System.out.println(i); //满足条件count累加 count++; } } } } 
  • 2.while循环【重点】

    格式
        初始化语句;
        while(条件判断语句){
            语句体;
            控制条件语句;
        }
    
    举例:打印输出10个HelloWorld
        int i=1;
        while(i<=10){ System.out.println("HelloWorld"); i++; } 练习1:求1-100之间所有整数的和,用while改写 略 练习2:求1-100之间所有奇数的和,用while改写 int sum=0; int i=1; while(i<=100){ if(i%2==1){ sum+=i; } i++; } System.out.pritnln("---------------"); int sum=0; int i=1; while(i<=100){ sum+=i; i+=2; } 练习3:求所有水仙花数的个数,用while改写 /* 1)获取所有的三位数100-999 2)获取每一个三位数的个位,十位和百位 3)判断这个三位数是否满足水仙花数的条件,如果满足条件,计数器累加 */ class Test3{ public static void main(String[] args){ //定义计数器 int count=0; //初始值是100 int i=100; while(i<=999){ //获取每一个三位数的个位,十位和百位 int ge=i%10; int shi=i/10%10; int bai=i/100%10; //判断这个三位数是否满足水仙花数的条件,如果满足条件,计数器累加 if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){ count++; } i++; } System.out.println("水仙花数的个数为:"+count); } } 
  • 3.do...while循环

    格式
        初始化语句;
        do{
            语句体;
            条件控制语句
        }while(条件判断语句);
    
    举例:打印输出10个HelloWorld
        int i=1;
        do{
            System.out.println("HelloWorld"); i++; }while(i<=10); 
  • 4.三种循环的区别

    do...while循环语句体,至少执行一次
    for循环和while,满足条件才执行【实际开发用得较多】
    
    如何选择?
        一般情况,你知道循环的次数就是用for
        不知道循环次数,就使用while循环 
  • 5.几种死循环【重点】

    //不能结束的循环,叫做死循环,就下面几种形式
    for(;;){
    
    }
    while(true){
    
    }
    

四、跳转语句【重点】

  • break的用法:

    1)只能在switch和循环语句中使用
    2)中断(跳出)单层循环
    3)在循环嵌套中,break可以标号来跳出指定循环
    for(int i=1;i<=10;i++){ if(i==5){ break;//当执行到i=5时,跳出循环(后面的i=6,7,8,9,10都不执行了) } System.out.println("HelloWorld"); }
  • xiaoming:for(int i =1;i<=10;i++){
    •   wangcai:for(int j =1;j<=10;j++){
    • if(j==5)
    • break xiaoming;
    • }
  • continue的用法:

    1)只能在循环语句中使用
    2)结束本次循环,进入下一次循环
    3)在循环嵌套中,continue可以标号来跳出指定当前循环进入下一层循环
    for(int i=1;i<10;i++){ if(i%2==0){ continue;//结束本次循环,进入下一次循环 } System.out.println(i);//1 3 } 

猜你喜欢

转载自www.cnblogs.com/wangjintao-0623/p/9123161.html