day04 Java基础语法 (下)

笔记Notes要点

switch-case语句注意

switch-case题目(switchTest5)

循环执行顺序

if-else 实现3个整数排序

String字符串比较

循环四要素

打印九九乘法表

特殊关键字continue、break

switch(表达式) 表达式里仅支持 byte、short、char、int、枚举、String(jdk1.7后)

switch(表达式){

    case 常量1:        执行语句1;        break;    case 常量2:        执行语句2;        break;    ......    default:        执行语句n;        break;    }

case 后面只能跟常量,default是可选的。如果都没有匹配成功则执行default中的执行语句。default的位置是灵活的。

switch-case和if-else可以替换,switch-case效率高一些

/*

从键盘分别输入年、月、日,判断这一天是当年的第几天

注:判断一年是否是闰年的标准:

   1)可以被4整除,但不可被100整除或   2)可以被400整除

*/

import java.util.Scanner;

public class SwitchTest5{

public static void main(String[] args){    //1.读取数据    Scanner sc = new Scanner(System.in);    System.out.println("请输入年份");    int year = sc.nextInt();    System.out.println("请输入月份");    int month = sc.nextInt();    System.out.println("请输入日期");    int day = sc.nextInt();    int sumDay = 0; //用来统计当年的总天数    //2.统计天数    switch(month){    case 4:        sumDay += 31;    case 3:        //判断当年是否是闰年        if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)){            sumDay += 29;        }else{            sumDay += 28;        }    case 2:        sumDay  += 31;    case 1:        sumDay += day;    }    //3.输出    System.out.println(year + "年" + month + "月" + day + "日是当年的第" + sumDay + "天");}

}

/*

编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,对它们进行排序(使用 if-else if-else),并且从小到大输出。

*/

import java.util.Scanner;

public class IfTest

{

public static void main(String[] args){    Scanner sc = new Scanner(System.in);    System.out.println("请输入三个数字");    int num1,num2,num3;    num1 = sc.nextInt();    num2 = sc.nextInt();    num3 = sc.nextInt();    if(num1>num2){        if(num3>num1){//num3最大            System.out.println("小到大:"+ num2 +" "+ num1 +" "+ num3);        }else if(num3<num2){//num3最小            System.out.print("小到大:"+ num3 + " " + num2 + " " + num1);        }else{            System.out.println("小到大:"+ num2 + " " + num3 + " " + num1);        }    }else{//num1<num2        if(num3>num2){//num3最大            System.out.println("小到大:"+ num1 + " "+ num2 + " "+ num3);        }else if(num3<num1){//num2最大            System.out.println("小到大:"+ num3 + " " + num1 + " " + num2);        }else{            System.out.println("小到大:"+ num1 + " " + num3 + " " + num2);        }    }}

}

String字符串比较

String str = new String("帅");

    //判断帅不帅    System.out.println("帅" ==  str); //这样不能比字符串的内容    boolean handsome = "帅".equals(str); //比较的是字符串的内容 - 如果内容相同返回true否则返回false

switch使用小技巧

对学生成绩大于60分的,输出“合格”。低于60分的,输出“不合格”

switch(score / 60){

        case 0:        System.out.println("不合格");        break;    case 1:        System.out.println("合格");        break;

编写程序:输入月,日,输出第几天

/*

  1. 编写程序:从键盘上输入2019年的“month”和“day”,要求通过程序输出输入的日期为2019年的第几天。

*/

import java.util.Scanner;

public class SwitchTest4{

public static void main(String[] args){    //1.读取数据    Scanner sc = new Scanner(System.in);    System.out.println("请输入月份");    int month = sc.nextInt();    System.out.println("请输入日期");    int day = sc.nextInt();
    int sumDay = 0; //用来统计当年的总天数    //2.统计天数    switch(month){    /*    case 1:        sumDay = day;        break;    case 2:        sumDay = day + 31;        break;    case 3:        sumDay = day + 31 + 28;        break;    case 4:        sumDay = day + 31 + 28 + 31;        break;    */
    case 4:        sumDay += 31;            case 3:        sumDay += 28; //赋值和+=完全不一样。sumDay += 28 : 除了sumDay原来的天数再额外加上28            case 2:        sumDay  += 31; // sumDay = sumDay + 31            case 1:        sumDay += day;    }
    //3.输出    System.out.println("2019年" + month + "月" + day + "日是当年的第" + sumDay + "天");
}

}

编写程序:输入年,月,日,输出第几天

/*

从键盘分别输入年、月、日,判断这一天是当年的第几天

注:判断一年是否是闰年的标准:

   1)可以被4整除,但不可被100整除或   2)可以被400整除

*/

import java.util.Scanner;

public class SwitchTest4

{

public static void main(String[] args){    Scanner sc = new Scanner(System.in);    System.out.println("请输入年份:");    int year = sc.nextInt();    System.out.println("请输入月份:");    int month = sc.nextInt();    System.out.println("请输入天数:");    int day = sc.nextInt();    int sumDay = 0;    switch(month){        case 12:            sumDay += 30;        case 11:            sumDay += 31;        case 10:            sumDay += 30;        case 9:            sumDay += 31;        case 8:            sumDay += 31;        case 7:            sumDay += 30;        case 6:            sumDay += 31;        case 5:            sumDay += 30;        case 4:            sumDay += 31;        case 3:            // 28或 29            if((year%4==0&&year%100!=0)||year % 400 ==0){//闰年                sumDay += 29;            }else{                sumDay += 28;            }        case 2:            sumDay += 31;        case 1:            sumDay += day;            break;    }    System.out.println(year+"年" + month + "月" + day + "日是当年的第" + sumDay + "天");}

}

循环四要素

循环的四个部分:

    1.初始化条件    2.循环条件    3.循环体    4.迭代条件

打印九九乘法表

/*

1*1=1

12=2 22=4

13=3 23=6 3*3=9

打印九九乘法表

*/

public class c99

{

public static void main(String[] args){    int i,j;    for(i=1;i<=9;i++){//9行        for(j=1;j<=i;j++){            System.out.print(j + "*" +i+" = "+ i*j +" ");        }        System.out.println();    }}

}

特殊关键字continue、break

break用于 switch-case语句与循环结构中,表示结束当前case语句,结束循环语句

continue,用于 循环结构 表示结束当此循环。

在嵌套循环中break结束的包含该语句的循环语句,对外层循环无作用

在嵌套循环中continue跳出的是包含他的循环语句的当次循环,不跳出

嵌套循环中如何使用内部循环的break结束外层循环

可以给循环命名,break + 循环名字

总结Summary

if-else实现三个整数排序

打印九九乘法表

break,continue使用注意事项

收藏 打印