第二周 Day-1

1.键盘录入

1.1键盘录入三个数据,求最大值

import java.util.Scanner;
class Text1{
    public static void main(String[] agrs){
        //创建键盘录入对象
        //Scanner 对象名(名称对象) = new Scanner(System.in);
     Scanner sc = new Scanner(System.in);
       //提示并录入数据
        Syetem.out.println("请您输入第一个数据");
        int a = sc.nextInt();
        
        System.out.println("请您输入第二个数据");
        int b = sc.nextInt();
        
        //方式1--中间变量的方式
        int temp = (a>b)? a:b;
        int max =(temp>c) temp:c
        System.out.println("三个数据中的最大值是"+max);
        
        //方式2--三元运算符的嵌套
      int max2 = (a>b)?((a>c)? a:c):((b>C)?b:c);
     System.out.println("三个数据中的最大值是"+max2);   
    }
}

1.2键盘录入三个数据,求最大值

impotr util.java.Scanner;
class Text2{
    public static void main(String[] agrs){
    Scanner sc = new Scanner(System.in);
        
     System.out.println("请您数以第一个数据");
        int m = sc.nextInt();
        
     System.out.println("请您数以第二个数据");
        int n = sc.nextInt();
        
        boolean flag = m==n;
     System.out.println(flag);
    }
}

2.流程控制语句----顺序控制语句

流程控制语句:
            顺序控制语句:代码由上而下依次加载;
            选择结构语句
            循环结构语句
​
顺序控制语句:
class Text4{
    public static void main(String[] agrs){
    
    System.out.println("程序开始了");
    System.out.println("HelloWorld");
    System.out.println("程序结束了");
    }
}

3.流程控制语句----选择结构语句

选择结构语句之If:
if语句格式1:
        if(条件表达式){
            语句;
        }
执行流程
    1)当前条件表达式成立,执行语句
    2)否则不成立,不执行语句
    
import java.util.scanner;
class IfText1{
    public static void main(String[] agrs){
        
    Scanner sc = new Scanner(System.in);
    System.out.println("请您输入一个数据");
     int x = sc.nextInt();
         if(x>10 && x<20){
    System.out.println("x在10和20之间,值是"+x);
         }
    System.out.println("over");
    }
}
    

3.1选择结构语句---if语句格式2

if格式2:
            if(表达式){
                语句1;
            }else{
                语句2;
            }
执行流程:
        1)判断表达式是否成立,如果成立,执行语句1
        2)如果不成立,执行语句2;
​
应用场景:
        针对两种情况进行判断

3. 1.2 if语句格式2---模拟用户登录

需求:
                模拟用户登录操作
                
                1)假设已经存在用户名和密码(模拟数据库)
                        String name ="admin" ;
                        String pwd = "admin" ;
                
                2)键盘录入用户和密码
                        username
                        password
                        
                3)判断
                
                    String类型中的功能:equals(String other)
                            比较两个字符串内容是否相同
                            
                    如果一致,输入的username和name一致,并且password的内容和
                    pwd的内容一致, 提示,"恭喜您,登录成功!"
                    
                    如果不一致,提示"对不起,用户名或者密码错误"
            
​
import java.util.Scanner ;
class IfTest{
    public static void main(String[] args){
        //需求
        //假设已经存在用户名和密码(模拟数据库)
        
        String name = "admin" ; //String 是一种特殊的引用类型(后期常用类中讲)
        String pwd = "admin" ;
        
        //创建键盘录入对象,准备录入用户名和密码
        Scanner sc = new Scanner(System.in) ;
        
        //提示并录入数据
        System.out.println("请您输入用户名:") ;
        //public String nextLine() :录入String类型数据
                //变量名  = 固定格式:键盘录入对象.nextLine() ;
        String username = sc.nextLine() ;
        
        System.out.println("请您输入一个密码:") ;
        String password = sc.nextLine() ;
        
        
        //进行判断
        //我们使用已知存在的用户名和密码和录入的用户名和密码进行对比
        /*
            String类型中的功能:equals(String other)
            比较两个"字符串内容"是否相同
        */
        if(name.equals(username) && pwd.equals(password)){ //一致
        
            //成立
            System.out.println("恭喜您,登录成功!");
            
        }else{
            //不成立
            System.out.println("对比起,您的用户名或者密码错误!");
        }
         
        
    }
}

3.1.3 if语句和三元运算符的区别

if---else流程控制语句,范围比较广泛,不仅可以操作具体数据值,还可以操作语句;
三元运算符:是运算符的一种,只能操作具体的数据结果,不可以嵌套使用;
​
三元运算符能够实现的---一定能够使用if--else实现
if--else能够实现的---三元运算不一定能够实现
​
实际开发中,业务场景逻辑判断---if格式2居多
三元运算符--jdk提供的开发文档中,涉及某些原码
​

3.1.4 if格式2的嵌套

if格式2的嵌套格式
    if(表达式){
        if(表达式1){
            语句1;
        }else{
            语句2;
        }
    }else{
        if(表达式2){
            语句3;
        }else{
            语句4;
        }
    }
    
执行流程:
        1)先判断表达式是否成立,如果成立
        2)执行里面的if语句
            2.1)判断表达式1是否成立,如果成立,执行语句1
            2.2)不成立,执行语句2;
        3)如果第一次进行比较表达式不成立,执行else中的if语句; 
            3.1)判断表达式2是否成立,如果成立,执行语句3
            3.2)如果不成立,执行语句4;
​
​
​
我们在自己测试时,要测试这个程序的数据:
    1)错误数据
        负数或者超过范围内的数据,都属于"非法数据"
    2)正确数据
        范围内的数据
    3)边界数据
        临界值

3.1.5键盘录入三个数据,求三个数据的最大值

import java.util.Scanner;
class IfText3{
    public static void main(String[] agrs){
      
       Scanner sc = new Scanner(System.in);
     System.out.println("请您输入第一个数据");
        int x = sc,nextInt();
     
     System.out.println("请您输入第二个数据");
        int y = sc,nextInt();
        
     System.out.println("请您输入第三个数据");
        int z = sc,nextInt();
        
 //方式1:中间变量----三元运算符两次实现
        
        int temp = (x>y)?x:y;
        int max = (temp>z)?temp:z;
        System.out.println("三个数据的最大值是"+max);
        
        
//方式2:if格式2的嵌套
        
        int max2;
        if(x>y){
           if(x>z){
               max2 = x;
           }else{
               max2 = z;
           }            
        }else{
           if(y>z){
               max2 = y;
           }else{
               max2 = z;
           } 
        }
    System.out.println("三个数据中的最大值是"+max2);  
    }
}

3.1.2 if格式3

if语句的格式3:
        if(表达式1){
        语句1;
        }else if(表达式2){
        语句2:
        }else if(表达式3){
        ...
        ...
        ...
        }else{
        语句n;
        }
        
执行流程:
    1)判断表达式1是否成立,如果成立,则执行语句1;
    2)如果表达式不成立,继续判断表达式2是否成立,如果成立,执行语句2;
    3)如果表达式2不成立,继续判断表达式3是否成立,如果成立,执行语句3;
    ...
    ...
    ...
    4)如果上面的表达式都不成立,则执行else的语句n
键盘录入一个学生的成绩
                90~100  "优秀"
                80~90   "较好"
                70~80   "良好"
                60~70   "及格"
                60以下  "不及格"
    
import java.util.Scanner;
class IfText5{
    public static void main(String[] agrs){
      
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学生成绩");
        int socre = sc,nextInt();
        
       if(socre>100 || socre<0){
        System.out.println("对不起,非法数据!") ;
    }else if(socre>=90 && socre<=100){
        System.out.println("成绩优秀") ;
    }else if(socre>=80 && socre<90){
        System.out.println("成绩较好") ;
    }else if(socre>=70 && socre<80){
        System.out.println("成绩良好") ;
    }else if(socre >=60 && socre<70){
        System.out.println("成绩及格") ;
        }else{
                System.out.println("不及格") ;
            } 
    }  
}

3.2选择结构语句---switch语句

格式:
        switch(表达式){
        case 值1:
            语句1;
            break;
        case 值2:
            语句2;
            break;
        ...
        ...
        ...
        default;
            语句n;
            break;
        
        }
​
执行流程:
    1)判断表达式的值和case的值1进行匹配,如果匹配成功,执行语句1,break结束;
    2)如果case值1不匹配,继续个case后面的值2进行比较,如果匹配,执行语句2,break结束;
    ...
    ...
    ...
    3)如果上面的case值和switch不匹配,最终执行default中的语句n,然后程序默认执行到末尾结束break结束;
    
switch中的表达式中的数据类型:byte,short,char,int
    JDK5以后,可以是枚举(enum)
    JDK7以后,可以是String;
    
switch语句的注意事项:
    1)case语句后面的值只能是常量
    2)case语句中的break必须带上,否则会造成case穿透
      case穿透:某个case已经匹配,如果没有break,继续往下下面中的case语句进行穿透,一次进行,遇见case中有break的,switch语句才会结束
      3)switch语句的结束条件:
          a)语句break结束
          b)程序默认执行到末尾
      4)default语句可以在语句中的任何位置,不影响程序的执行流程;当前case中都没有匹配的话,执行default;
import java.util.Scanner ;
class SwitchText1{
    public static void main(String[] agrs){
        Scanner sc = new Scanner(System.in) ;
     System.out.println("请您输入一个数据week:") ;
        int week = sc.nextInt() ;
        
        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 ;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值