Java编程基础阶段笔记 day04 Java基础语法(下)

简介: day04 Java基础语法 (下)笔记Notes要点switch-case语句注意switch-case题目(switchTest5)循环执行顺序if-else 实现3个整数排序String字符串比较循环四要素打印九九乘法表特殊关键字continue、breakswitch(表达式) 表达式里仅支持 byte、short、char、int、枚举、String(jdk1.

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使用注意事项

目录
相关文章
|
21小时前
|
Java
[Java 基础] Java修饰符
[Java 基础] Java修饰符
|
23小时前
|
Java API 调度
[Java并发基础]多进程编程
[Java并发基础]多进程编程
|
23小时前
|
Java API 调度
[AIGC] 深入理解Java并发编程:从入门到进阶
[AIGC] 深入理解Java并发编程:从入门到进阶
|
1天前
|
前端开发 Java 测试技术
Java从入门到精通:4.1.1参与实际项目,锻炼编程与问题解决能力
Java从入门到精通:4.1.1参与实际项目,锻炼编程与问题解决能力
|
1天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
1天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
|
1天前
|
IDE Java 开发工具
Java从入门到精通:1.3.1实践编程巩固基础知识
Java从入门到精通:1.3.1实践编程巩固基础知识
|
5天前
|
IDE Java 物联网
《Java 简易速速上手小册》第1章:Java 编程基础(2024 最新版)
《Java 简易速速上手小册》第1章:Java 编程基础(2024 最新版)
13 0
|
6天前
|
安全 Java 开发者
Java并发编程:深入理解Synchronized关键字
【4月更文挑战第19天】 在Java多线程编程中,为了确保数据的一致性和线程安全,我们经常需要使用到同步机制。其中,`synchronized`关键字是最为常见的一种方式,它能够保证在同一时刻只有一个线程可以访问某个对象的特定代码段。本文将深入探讨`synchronized`关键字的原理、用法以及性能影响,并通过具体示例来展示如何在Java程序中有效地应用这一技术。
|
7天前
|
安全 Java 调度
Java并发编程:深入理解线程与锁
【4月更文挑战第18天】本文探讨了Java中的线程和锁机制,包括线程的创建(通过Thread类、Runnable接口或Callable/Future)及其生命周期。Java提供多种锁机制,如`synchronized`关键字、ReentrantLock和ReadWriteLock,以确保并发访问共享资源的安全。此外,文章还介绍了高级并发工具,如Semaphore(控制并发线程数)、CountDownLatch(线程间等待)和CyclicBarrier(同步多个线程)。掌握这些知识对于编写高效、正确的并发程序至关重要。