day02-java基础语法

学习目标

1、能够说出常见的运算符有哪几种
    算术运算符:+-*/%
    赋值运算符:=,+=,-=,*=,/=,%=
    自增自减: ++(本身+1),--(本身-1)
    关系运算符:==(判断是否相等),!=(判断是否不相等),>,>=,<,<=    
    逻辑运算符: &&:falsefalse ||:truetrue !:非真则假,非假则真
    三元运算符: 数据类型 变量名 =  布尔表达式 ? 表达式1:表达式2;
2、能够知道除法和取余的区别
    /:除法==>两个数相除,求商   10/3=3
    %:取余==>两个数相除,求余数  10%3=1
3、能够完成字符和字符串的加法
    字符的加法:字符底层是一个整数 'a':97  'A':65 '0':48    'a'+10=97+10=107
    字符串加法:任何数据类型的数据和字符串相加,结果都是一个字符串  "hello"+1+2==>"hello12"   
    注意:byte,short,char类型的数据在参与计算的时候,会提升为int类型    
4、能够知道&&&的区别
    &&:短路与,符号左边能确定结果,就不在执行右边,可以提高效率
    false && 不在执行
    &&:falsefalse
    ||:truetrue
    !:非真则假,非假则真
5、能够使用三元运算符完成获取两个数中较大值
    int a = 100;
    int b = 20;
    int max = a>b?a:b;
6、能够使用键盘录入数据并完成两个数据求和
    import java.util.Scanner;//自动导包 alt+回车
    Scanner sc = new Scanner(System.in);
    int a = sc.nextInt();
    int b = sc.nextInt();
    int sum = a+b;
7、能够使用if语句完成获取两个数中较大值
    int a = 10;
    int b = 20;
    int max = 0;
    if(a>b){
        max = a;
    }else{
        max = b;
    }
8、能够使用if语句完成根据分数输出对应级别
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入您的考试分数:");
    int score = sc.nextInt();
    if(score>=90 && score<=100){
        System.out.println("优秀");
    }else if(score>=70 && score<=89){
        System.out.println("良好");
    }else if(score>=60 && score<=69){
        System.out.println("及格");
    }else if(score>=0 && score<=59){
        System.out.println("不及格");
    }else{
        System.out.println("输入的分数不正确!");
    }
9、能够使用switch语句完成根据月份输出对应季节
	见上课的笔记(switch穿透现象)
10、能够使用IDEA完成HelloWorld案例
	//创建主方法的快捷键:psvm==>点击回车
	//创建输出语句的快键键:sout==>点击回车
	//复制一行代码:ctrl+d
	//删除一行代码:ctrl+y
	//上下移动代码:ctrl+shift+↑↓
	//导包:alt+回车
11、能够知道IDEA的项目结构
	项目(SE159)==>模块(day01,day02)==>(demo01,demo02)==>(java的基本单位)
12、能够使用IDEA完成模块的导入
	a.导入模块的方式:不建议,麻烦
	b.采用直接复制代码,直接复制src中的代码,到新建的模块中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZJa55C2k-1619530408459)(img/1614675703685.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X2HXfaJ6-1619530408462)(img/1614676159941.png)]

一.IDEA使用

1.在电脑硬盘创建一个文件夹,用于存储IDEA中书写的代码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xIp31FUB-1619530408463)(img/1614646177156.png)]

2.创建一个项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tIUamThQ-1619530408465)(img/1614646200750.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wdmTrKJe-1619530408467)(img/1614646227606.png)]

注意:没有JDK,选择默认JDK

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zpwn8FLQ-1619530408469)(img/1614647931559.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3E80SfLt-1619530408469)(img/1614646291173.png)]

选择刚才创建保存代码的目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jAC6pJVl-1619530408470)(img/1614646377192.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S51K71sg-1619530408471)(img/1614646473162.png)]

3.需要在项目中创建一个模块

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z5IU9BHL-1619530408472)(img/1614646552848.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9YnVFTsi-1619530408473)(img/1614646578168.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-52DKv1yf-1619530408473)(img/1614646633628.png)]

4.在模块中创建包(文件夹)

以后在工作中,每个包中都是一个功能

创建的规则:一般使用公司域名反写

www.itheima.com com.itheima.reg com.ithema.login com.itheima.buy

www.baidu.com com.baidu.reg com.baidu.login com.baidu.buy

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IgOjuRgc-1619530408474)(img/1614646855267.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IxFgNG86-1619530408475)(img/1614646925886.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CGOpHoUP-1619530408476)(img/1614646947286.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XtRbl69n-1619530408476)(img/1614646987557.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rQQdNQpX-1619530408477)(img/1614647016796.png)]

5.在包中创建java的类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-93UGRZhi-1619530408478)(img/1614647078007.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A3BraLyJ-1619530408479)(img/1614647121399.png)]

6.在类中编写java代码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XPtfFMHp-1619530408479)(img/1614647237108.png)]

7.idea中会自动把我们写的.java的源代码编译生成.class文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZVMZzwr6-1619530408480)(img/1617346907420.png)]

8.运行.class文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o2WyxFiZ-1619530408481)(img/1614647399287.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iP4AQxO3-1619530408482)(img/1614647480696.png)]

9.调整idea模版颜色

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1KGcEM0k-1619530408482)(img/1614648606089.png)]

10.设置字体

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hX839JUd-1619530408483)(img/1614648626278.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EpQza1mv-1619530408484)(img/1614648639511.png)]

11.idea中常用的快捷键

 IDEA常用快捷键

创建主方法:psvm
创建输出语句:sout
			
快捷键	功能
Alt+Enter	导入包,自动修正代码(新建方法,处理异常)
Ctrl+Y	删除光标所在行
Ctrl+D	复制光标所在行的内容,插入光标位置下面
Ctrl+Alt+L	格式化代码
Ctrl+/	单行注释
Ctrl+Shift+/	选中代码注释,多行注释,再按取消注释
Alt+Shift+上下箭头	移动当前代码行
shift+f6重命名

Alt+Insert可以新建类、方法等任何东西。
Ctrl+Alt+T	将选中的代码使用ifwhiletry/catch等包装
ctrl+alt+M 方法抽取
ctrl+r 替换

调试:F7/F8/F9分别对应Step into,Step over,Continue。

12.idea项目的层次关系

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MmBLdNc4-1619530408485)(img/1614655356473.png)]

13.idea中修改注释的颜色

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v5sbBCs7-1619530408486)(img/1614658668052.png)]

二.运算符

1.算术运算符

package com.itheima.demo02operator;

/*
    算术运算符
        +,-,*,/,%
    注意:
        1.除法符号两边都是整数,计算结果也是一个整数(整除)
        2.除法符号两边有一边是小数,计算结果也是小数
        3.byte,short,char类型在参与计算的时候,会自动把自己提升为int类型
        4.浮点数(小数),是不精确的,拿不精确的数参与计算,得到的结果更加不精确
 */
public class Demo01Operator {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        System.out.println(a+b);//13
        System.out.println(a-b);//7
        System.out.println(a*b);//30
        System.out.println(a/b);//3(整除) 两个数相除,取商(10里边包含了3个3)
        System.out.println(a%b);//1 两个数相除,取余数(10/3剩余1)
        System.out.println("----------------------------");
        System.out.println(10/4);//2
        System.out.println(10/4.0);//2.5
        System.out.println("----------------------------");
        System.out.println(11%20);//11 取模左边的比右边的数小,结果就是左边的数
        System.out.println("----------------------------");
        byte c = 10;
        //Incompatible types. Found: 'int', required: 'byte'
        c = (byte)(c+20);//c = (10 int)+20(int)=30(int)==>强转
        System.out.println(c);
        System.out.println("----------------------------");
        System.out.println(10/3.0);//3.3333333333333335
        System.out.println(2.6-2);//0.6000000000000001 无限接近于0.6
    }
}

2.字符的+操作

package com.itheima.demo02operator;

/*
    字符的+操作
    每个字符底层都是一个数字
    字符在参与+操作时,会使用字符底层的数字进行加法运算
    常用字符和数字的对应关系:
  ‘A’	65	A-Z是连续的
  ‘a’	97	a-z是连续的
  ‘0’	48	0-9是连续的
 */
public class Demo02Operator {
    public static void main(String[] args) {
        System.out.println('B'+2);//66+2=68
        System.out.println('d'-3);//100-3=97

        System.out.println((char)97);//a

        System.out.println('中'+0);//20013
        System.out.println((char)20013);//中
    }
}

3.字符串的+操作

package com.itheima.demo02operator;

/*
    字符串的+操作
    字符串可以和任意的数据类型相加,结果还是一个字符串(字符串连接)
 */
public class Demo03Operator {
    public static void main(String[] args) {
        System.out.println("你好"+true);//你好true
        System.out.println("你好"+1);//你好1
        System.out.println("你好"+8.8);//你好8.8
        System.out.println("你好"+'@');//你好@
        System.out.println("黑马"+6+6+6);//"黑马6"+6==>"黑马66"+6==>"黑马666"
        System.out.println(6+6+6+"黑马");//18+"黑马"==>"18黑马"
        System.out.println("-------------------------------------");
        int a = 10;
        int b = 20;
        System.out.println("a:"+a);//a:10
        System.out.println("b:"+b);//b:20
        System.out.println("a与b的和为:"+a+b);//a与b的和为:1020
        System.out.println("a与b的和为:"+(a+b));//a与b的和为:30
    }
}

4.赋值运算符

package com.itheima.demo02operator;

/*
    赋值运算符:
        基本的赋值运算符: = 把等号右边的值赋值给等号左边的变量
        扩展的赋值运算符: +=,-=,*=,/=,%=, 把运算符左右两边的数先进行+ - * / % 的操作,把结果赋值给左边的变量
    注意:
        1.+=,-=,*=,/=,%=运算符左边必须是变量,不能是常量
        2.+=,-=,*=,/=,%=运算符中隐含一个强制类型转换
 */
public class Demo04Operator {
    public static void main(String[] args) {
        int a = 10;
        a+=20;//就相当于 a= a+20;
        System.out.println("a:"+a);

        int b = 10;
        b%=3;//就相当于 b=b%3
        System.out.println("b:"+b);//b:1

        //1.+=,-=,*=,/=,%=运算符左边必须是变量,不能是常量
        //10+=20;//Variable expected  10=10+20;

        byte bb = 10;
        bb = (byte)(bb+20);
        System.out.println("bb:"+bb);

        //2.+=,-=,*=,/=,%=运算符中隐含一个强制类型转换
        byte cc = 10;
        cc+=20;//就相当于(byte)(bb+20);
        System.out.println("cc:"+cc);
    }
}

5.自增自减运算符

package com.itheima.demo02operator;

/*
    自增自减运算符
        ++: 自增,本身+1
        --: 自减,本身-1
    注意:
        ++和--单独使用:运算符写在变量的前后结果是一样的
        ++和--与其他运算符混合使用:
            ++,--写在变量前边,先把变量的值加1或者减1,然后使用改变后的值参与运算
            ++,--写在变量后边,先使用变量原来的值参与运算,运算结束后在把变量的值加1或者减1
 */
public class Demo05Operator {
    public static void main(String[] args) {
        //++和--单独使用:运算符写在变量的前后结果是一样的
        int a = 10;
        //a++;
        ++a;
        System.out.println("a:"+a);//a:11

        int b = 10;
        //--b;
        b--;
        System.out.println("b:"+b);//b:9

        //++和--与其他运算符混合使用
        int aa = 10;
        //--与输出语句混合使用
        System.out.println(aa--);//10==>先打印aa原来的值10,在把aa进行--
        System.out.println("aa:"+aa);//aa:9

        int bb = 10;
        //++与输出语句混合使用
        System.out.println(++bb);//11==>先把bb加1变成11,,在输出增加之后的值11
        System.out.println("bb:"+bb);//bb:11

        int cc = 20;
        int dd = cc--+10;//20+10
        System.out.println("dd:"+dd);//dd:30
        System.out.println("cc:"+cc);//cc:19
    }
}

6.关系运算符

package com.itheima.demo02operator;

/*
    关系运算符
    作用:用于比较两个数,结果是一个布尔值
        ==等于     !=不等于     >大于     <小于        >=大于等于       <=小于等于
    注意事项:
        等于号是==,千万不要把== 写成 =(赋值)
 */
public class Demo06Operator {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 10;
        System.out.println(a==b);//false
        System.out.println(a==c);//true
        System.out.println(a!=b);//true
        System.out.println(a!=c);//false
        System.out.println("-------------------");
        System.out.println(a>b);//false
        System.out.println(a<b);//true
        System.out.println(a>=b);//false
        System.out.println(a<=b);//true
        System.out.println(a>=c);//true
        System.out.println(a<=c);//true
        System.out.println("-------------------");
        System.out.println(a=b);//把b的值赋值给a  a=20 sout(a)==>20;
        System.out.println(a==b);//20==20 true

    }
}

需求:练习关系运算符的使用

package com.itheima.demo02operator;


import java.util.Scanner;

/*
    比较运算符练习:校验QQ号密码
    需求:
        1.定义两个变量存储用户已经注册过的QQ号和密码
        2.使用Scanner键盘输入,获取用户本次登录的QQ号和密码
        3.使用比较运算符比较注册和输入的是否一致
 */
public class Demo07Test {
    public static void main(String[] args) {
        //1.定义两个变量存储用户已经注册过的QQ号和密码
        int qqNum = 123456;
        int qqPsw = 654321;
        //2.使用Scanner键盘输入,获取用户本次登录的QQ号和密码
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入QQ号:");
        int qq = sc.nextInt();
        System.out.println("请输入QQ密码:");
        int psw = sc.nextInt();
        //3.使用比较运算符比较注册和输入的是否一致
        System.out.println(qqNum==qq);
        System.out.println(qqPsw==psw);
    }
}

7.逻辑运算符

package com.itheima.demo01operator;

/*
    逻辑运算符
    作用:用于连接布尔表达式
     布尔表达式:表达式的结果是一个布尔值  (100+20)-30<50 false
     &: 与运算符:有false则false
     | (回车上边shift+\):或运算符:有true则true
     !: 取反:非真则假,非假则真
 */
public class Demo01Operator {
    public static void main(String[] args) {
        boolean b1 = true;
        boolean b2 = (100+20)-30<50;
        boolean b3 = true;
        System.out.println("b2:"+b2);//b2:false
        System.out.println(b1 & b2);//false
        System.out.println(b1 & b3);//true
        System.out.println(b1 | b2);//true
        System.out.println(b1 | b3);//true
        System.out.println(!b1);//false
        System.out.println(!b2);//true
    }
}

短路与和短路或

package com.itheima.demo01operator;

/*
    短路与和短路或
      &&:短路与
      | |:短路或
    &&和||和&和|的运算结果是一样的
    短路:
         &&:符号左边是false,则不在执行右边,可以直接确定结果
         | |:符号左边是true,,则不在执行右边,可以直接确定结果
    好处:
        提高效率
 */
public class Demo02Operator {
    public static void main(String[] args) {
        boolean b1 = true;
        boolean b2 = (100+20)-30<50;
        boolean b3 = true;
        System.out.println("b2:"+b2);//b2:false
        System.out.println(b1 && b2);//false
        System.out.println(b1 && b3);//true
        System.out.println(b1 || b2);//true
        System.out.println(b1 || b3);//true

        int a = 10;
        int b = 20;
        //System.out.println(++a>20 & --b<30);//false & true ==>false
        //System.out.println("a:"+a);//a:11
        //System.out.println("b:"+b);//b:19

        System.out.println(++a>20 && --b<30);//false && 左边能确定结果,右边不在执行 ==>false
        System.out.println("a:"+a);//a:11
        System.out.println("b:"+b);//b:20
    }
}

8.三元运算符

/*
    一元:1个数参与计算 ++a --b
    二元:2个数参与计算  a+b  a>b  a && b
    三元运算符:3个数参与计算
    格式:
        关系表达式? 表达式1:表达式2;
    执行的流程:
        首先计算关系表达式的值
            如果值为true,表达式1的值就是运算结果
            如果值为false,  表达式2的值就是运算结果
    作用:
        用于获取两个数中的最大值,最小值,比较两个数的大小...
    注意:
         1.三元运算符的结果就是一个值,这个值必须被使用,要么输出,要么赋值给一个变量接收
         2.三元运算符中表达式可以是任意数据类型的值(基本:4类8种,引用数据类型)
 */
package com.itheima.demo01operator;

/*
    三元运算符
        格式:
            关系表达式? 表达式1(true):表达式2(false);
         执行的流程:
            首先计算关系表达式的值
                如果值为true,表达式1的值就是运算结果
                如果值为false,  表达式2的值就是运算结果
 */
public class Demo03Operator {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        //获取a和b两个数的最大值
        int max = a>b? a : b;
        System.out.println(max);//20

        //获取a和b两个数的最小值
        int min = a<b? a : b;
        System.out.println(min);//10

        //判断a和b是否相等
        System.out.println(a==b? true : false);//false
        a=b;//a=20 b=20
        System.out.println(a==b? "相等": "不相等");//相等
    }
}

三.流程控制语句

1.if语句的第一种格式

/*
    if语句:用于判断
    if语句的第一种格式
    if(布尔表达式){
        语句体;(多行代码)
    }
    执行流程:对布尔表达式进行判断
        true:执行语句体
        false:不执行语句体
 */
package com.itheima.demo03if;


public class Demo01If {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        //判断a和b是否相等
        if(a==b){//false
            System.out.println("a等于b!");
        }
        int c = 10;
        //判断a和c是否相等
        if(a==c){//true
            System.out.println("a等于c!");
        }
    }
}

2.if语句的第二种格式

/*
    if语句的第二种格式
    if(布尔表达式){
        语句体1;
    }else{
        语句体2;
    }
    执行流程:对布尔表达式进行判断
        true:执行语句体1
        false:执行语句体2
    一定会有一个执行的结果
 */
package com.itheima.demo02if;

import java.util.Scanner;

/*
    if判断的格式二
    一定会有一个执行的结果
 */
public class Demo02If {
    public static void main(String[] args) {
        //键盘输入一个整数,判断整数是否为一个偶数 a%2==0
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int a = sc.nextInt();
        if(a%2==0){
            System.out.println(a+"是一个偶数!");
        }else{
            System.out.println(a+"是一个奇数!");
        }
    }
}
package com.itheima.demo02if;

import java.util.Scanner;

/*
    需求:判断用户名密码是否正确
    分析:
        1.定义两个变量,存储用户已经注册的QQ号和密码
        2.使用Scanner获取用户登录的QQ号和密码
        3.使用if语句比较用户注册的QQ号和密码和登录的QQ号和密码是否一致
        4.输出结果
 */
public class Demo03Test {
    public static void main(String[] args) {
        //1.定义两个变量,存储用户已经注册的QQ号和密码
        int qq = 12345;
        int psw = 54321;
        //2.使用Scanner获取用户登录的QQ号和密码
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入QQ号:");
        int logQQ = sc.nextInt();

        System.out.println("请输入QQ密码:");
        int logPsw = sc.nextInt();

        //3.使用if语句比较用户注册的QQ号和密码和登录的QQ号和密码是否一致
        if(logQQ==qq && logPsw==psw){
            //4.输出结果
            System.out.println("登录成功!");
        }else{
            System.out.println("您输入的QQ号或密码有误!");
        }

    }
}

3.if语句的第三种格式

if语句的第三种格式:用于多个条件的判断
if(布尔表达式1){
	语句体1;
}else if(布尔表达式2){
	语句体2;
}else if(布尔表达式3){
	语句体3;
}
...

else{
	语句体n;
}
执行流程:
	哪个布尔表达式成立,就执行哪个布尔表达式对应的语句体
	所有的布尔表达式都不成立,执行else中的语句体
package com.itheima.demo02if;

import java.util.Scanner;

/*
    if判断的格式三
    执行的流程:
        哪个if条件成立,执行哪个if语句对应的代码
        所有的条件都不成立,执行else对应的代码
    需求:
        程序从控制台接收一个百分制的分数, 判断这个分数,
        90分—100分:打印:优秀      90<= score <=100   数学中,java中不可以
        70 – 89分,打印:良好
        60 – 69分,打印:及格
        0 – 59分,打印:不及格
        其它情况,打印:输入的分数不正确!
 */
public class Demo04If {
    public static void main(String[] args) {
        //程序从控制台接收一个百分制的分数
        Scanner sc= new Scanner(System.in);
        System.out.println("请输入您的分数:");
        int score = sc.nextInt();
        //使用if语句对分数进行判断
        //90分—100分:打印:优秀
        if(score>=90 && score<=100){
            System.out.println("优秀");
        }else if(score>=70 && score<=89){
            //70 – 89分,打印:良好
            System.out.println("良好");
        }else if(score>=60 && score<=69){
            //60 – 69分,打印:及格
            System.out.println("及格");
        }else if(score>=0 && score<=59){
            //0 – 59分,打印:不及格
            System.out.println("不及格");
        }else{
            //其它情况,打印:输入的分数不正确!
            System.out.println("输入的分数不正确!");
        }
    }
}

4.switch语句的基本使用

switch语句:用于在多个值中选择一个执行
格式:
	switch(){
		case 1:
			语句体1;
			break;
		case 2:
			语句体2;
			break;
		...
		case n:
			语句体n;
			break;
		default:
			语句体n+1;
			break;
	}
执行流程:
	使用switch中的值和所有的case进行匹配
		匹配成功:执行case中的语句体
		匹配失败:使用default中的语句体
break关键字的作用:用于结束switch语句
package com.itheima.demo03switch;

import java.util.Scanner;

/*
    需求:
        根据键盘录入的数值1,2,3,…7输出对应的星期一,星期二,星期三…星期日。
    分析:
        1.使用Scanner获取用户收入的数值(1-7)
        2.使用switch语句,根据用户输入的值,选择对应的结果
 */
public class Demo01Switch {
    public static void main(String[] args) {
        //1.使用Scanner获取用户收入的数值(1-7)
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个1-7之间的数字:");
        int week = sc.nextInt();
        //2.使用switch语句,根据用户输入的值,选择对应的结果
        switch (week){
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期日");
                break;
            default:
                System.out.println("您输入的值有误!");
                break;
        }
        System.out.println("哈哈");
    }
}

5.switch穿透现象

package com.itheima.demo04switch;

import java.util.Scanner;

/*
    需求:
    一年有12个月属于春夏秋冬4个季节,键盘录入一个月份,判断该月份属于哪个季节,并输出。
    春:3、4、5
    夏:6、7、8
    秋:9、10、11
    冬:1、2、12
 */
public class Demo03Switch {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入对应的月份(1-12):");
        int month = sc.nextInt();
        switch (month){
            case 1:
                System.out.println("冬季");
                break;
            case 2:
                System.out.println("冬季");
                break;
            case 3:
                System.out.println("春季");
                break;
            case 4:
                System.out.println("春季");
                break;
            case 5:
                System.out.println("春季");
                break;
            case 6:
                System.out.println("夏季");
                break;
            case 7:
                System.out.println("夏季");
                break;
            case 8:
                System.out.println("夏季");
                break;
            case 9:
                System.out.println("秋季");
                break;
            case 10:
                System.out.println("秋季");
                break;
            case 11:
                System.out.println("秋季");
                break;
            case 12:
                System.out.println("冬季");
                break;
            default:
                System.out.println("您输入有误!");
                break;
        }
    }
}

穿透的原理

当case中的语句执行完毕,而没有break时,
程序会无条件的执行后续的case或default中的语句,
直到遇到break语句或整个switch语句结束为止

package com.itheima.demo04switch;

import java.util.Scanner;

/*
    需求:
    一年有12个月属于春夏秋冬4个季节,键盘录入一个月份,判断该月份属于哪个季节,并输出。
    春:3、4、5
    夏:6、7、8
    秋:9、10、11
    冬:1、2、12
    注意:
        case不用按照1234的顺序编写,顺序无所谓的
 */
public class Demo04Switch {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入对应的月份(1-12):");
        int month = sc.nextInt();
        switch (month){
            case 12:
            case 1:
            case 2:
                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;
        }
    }
}

四.综合案例

1.商品打折案例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2TSBoo2D-1619530408487)(img/1614673648253.png)]

package com.itheima.demo04Test;

import java.util.Scanner;

/*
    综合案例:商品打折
    需求:某超市管理系统中,会根据客户购买的总价给予一定折扣。
    具体折扣规则如下:
    1.总金额大于1000:7.5折
    2.总金额在500-1000:8.5折
    3.总金额在200-500:9折
    4.其余没有折扣

    要求:
        1.使用IDEA工具开发;完成总金额数据录入
        2.判断总金额并给予相应折扣计算
        3.输出原始金额及打折后的金额
    分析:
        1.使用Scanner获取用输入的总金额
        2.使用if语句判断总金额在哪个折扣的范围
        3.计算打折后的金额
        4.输出原始金额及打折后的金额
 */
public class Demo01Test {
    public static void main(String[] args) {
        //1.使用Scanner获取用输入的总金额
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入商品总金额:");
        int money = sc.nextInt();
        //2.使用if语句判断总金额在哪个折扣的范围
        //3.计算打折后的金额
        //4.输出原始金额及打折后的金额
        //1.总金额大于1000:7.5折
        if(money>1000){
            System.out.println("商品的总金额为:"+money);
            System.out.println("商品的打折后的总金额为:"+money*0.75);
        }
        //2.总金额在500-1000:8.5折
        else if(money>=500 && money<=1000){
            System.out.println("商品的总金额为:"+money);
            System.out.println("商品的打折后的总金额为:"+money*0.85);

        }
        //3.总金额在200-500:9折
        else if(money>=200 && money<500){
            System.out.println("商品的总金额为:"+money);
            System.out.println("商品的打折后的总金额为:"+money*0.9);

        }
        //4.其余没有折扣
        else{
            System.out.println("商品的总金额为:"+money);
            System.out.println("商品的打折后的总金额为:"+money);
        }

    }
}
package com.itheima.demo04Test;

import java.util.Scanner;

/*
    综合案例:商品打折
    需求:某超市管理系统中,会根据客户购买的总价给予一定折扣。
    具体折扣规则如下:
    1.总金额大于1000:7.5折
    2.总金额在500-1000:8.5折
    3.总金额在200-500:9折
    4.其余没有折扣

    要求:
        1.使用IDEA工具开发;完成总金额数据录入
        2.判断总金额并给予相应折扣计算
        3.输出原始金额及打折后的金额
    分析:
        1.使用Scanner获取用输入的总金额
        2.使用if语句判断总金额在哪个折扣的范围
        3.计算打折后的金额
        4.输出原始金额及打折后的金额
 */
public class Demo02Test {
    public static void main(String[] args) {
        //1.使用Scanner获取用输入的总金额
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入商品总金额:");
        int money = sc.nextInt();
        //2.使用if语句判断总金额在哪个折扣的范围

        //定义一个double类型的变量,记录打折后的总金额
        double price = 1;

        //1.总金额大于1000:7.5折
        if(money>1000){
            //3.计算打折后的金额
            price = money*0.75;
        }
        //2.总金额在500-1000:8.5折
        else if(money>=500 && money<=1000){
            price = money*0.85;
        }
        //3.总金额在200-500:9折
        else if(money>=200 && money<500){
            price = money*0.9;
        }
        //4.其余没有折扣
        else{
            price = money;
        }
        //4.输出原始金额及打折后的金额
        System.out.println("商品的总金额为:"+money);
        System.out.println("商品的打折后的总金额为:"+price);
    }
}

package com.itheima.demo04Test;

import java.util.Scanner;

/*
    综合案例:商品打折
    需求:某超市管理系统中,会根据客户购买的总价给予一定折扣。
    具体折扣规则如下:
    1.总金额大于1000:7.5折
    2.总金额在500-1000:8.5折
    3.总金额在200-500:9折
    4.其余没有折扣

    要求:
        1.使用IDEA工具开发;完成总金额数据录入
        2.判断总金额并给予相应折扣计算
        3.输出原始金额及打折后的金额
    分析:
        1.使用Scanner获取用输入的总金额
        2.使用if语句判断总金额在哪个折扣的范围
        3.计算打折后的金额
        4.输出原始金额及打折后的金额
    注意:
        if语句是可以嵌套使用的
            if(){
                if(){}
            }else{
                if(){}
            }
 */
public class Demo03Test {
    public static void main(String[] args) {
        //1.使用Scanner获取用输入的总金额
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入商品总金额:");
        int money = sc.nextInt();

        if(money<0){
            System.out.println("您输入的有误!");
        }else{
            //2.使用if语句判断总金额在哪个折扣的范围
            //定义一个double类型的变量,记录打折后的总金额
            double price = 1;

            //1.总金额大于1000:7.5折
            if(money>1000){
                //3.计算打折后的金额
                price = money*0.75;
            }
            //2.总金额在500-1000:8.5折
            else if(money>=500 && money<=1000){
                price = money*0.85;
            }
            //3.总金额在200-500:9折
            else if(money>=200 && money<500){
                price = money*0.9;
            }
            //4.其余没有折扣
            else{
                price = money;
            }
            //4.输出原始金额及打折后的金额
            System.out.println("商品的总金额为:"+money);
            System.out.println("商品的打折后的总金额为:"+price);
        }
    }
}

2.考试奖励案例

同学练习

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dzcrJMhB-1619530408488)(img/1614673617033.png)]

c class Demo03Test {
public static void main(String[] args) {
//1.使用Scanner获取用输入的总金额
Scanner sc = new Scanner(System.in);
System.out.println(“请输入商品总金额:”);
int money = sc.nextInt();

    if(money<0){
        System.out.println("您输入的有误!");
    }else{
        //2.使用if语句判断总金额在哪个折扣的范围
        //定义一个double类型的变量,记录打折后的总金额
        double price = 1;

        //1.总金额大于1000:7.5折
        if(money>1000){
            //3.计算打折后的金额
            price = money*0.75;
        }
        //2.总金额在500-1000:8.5折
        else if(money>=500 && money<=1000){
            price = money*0.85;
        }
        //3.总金额在200-500:9折
        else if(money>=200 && money<500){
            price = money*0.9;
        }
        //4.其余没有折扣
        else{
            price = money;
        }
        //4.输出原始金额及打折后的金额
        System.out.println("商品的总金额为:"+money);
        System.out.println("商品的打折后的总金额为:"+price);
    }
}

}


## 2.考试奖励案例

**同学练习**

[外链图片转存中...(img-dzcrJMhB-1619530408488)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值