zoukankan      html  css  js  c++  java
  • 0003java.util.Scanner、输出语句、分支结构 if else 随机数 switch case选择结构和equals

    方法名和变量名一样,从第二个单词开始首字母大写

    输入输出语句

    public class codeNotes{
    public static void main(String[]args){
    //1、输入参数
    /*
    (1)java.util.Scanner:是一个扫描仪的类型,是引用数据类型,首字母是大写
    其中java.util是包
    (2)input是一个变量名,它代表这个扫描仪
    (3)new java.util.Scanner(System.in)是给input赋值的,它是一个新的对象
    (4)(System.in)是指定了数据的来源,System.in默认代表键盘输入
    (5)整个语句中,唯一可以自己修改的就是input这个变量名
    如果你把input修改为其他了,那么下面的代码,凡是input的地方就修改为你自己命名的变量名
    */
    /*
    //实例
    java.util.Scanner input=new java.util.Scanner(System.in);
    System.out.print("请输入年龄");//这个语句在输入之前执行
    /*
    nextInt()是input这个对象的方法,所以Int的I是大写,因为方法名和变量名一样,从第二个单词开始首字母大写
    因为它是方法,所以()不能省略
    /*
    int age=input.nextInt();//从扫描仪中获取一个int的值,赋值给age这个变量
    System.out.println("age="+age);

    System.out.println("请输入姓名:");
    String name=input.next();//因为String输入太常用了,所以方法名字被简化了,没有使用nextString

    System.out.println("请输入体重");
    double weight=input.nextDouble();

    System.out.println("请输入你是否漂亮");
    boolean beautiful=input.nextBoolean();

    System.out.println("请输入性别:");
    char gender=input.next().charAt(0);//因为输入单个char太少用了,Scanner中没有提供输入单个char的方法,那么我们只能变通,先按字符串接收,然后取第一个字符
    System.out.println("姓名"+name);
    System.out.println("年龄"+age);
    System.out.println("体重"+weight);
    System.out.println("性别"+gender);
    System.out.println("是否漂亮"+beautiful);
    */
    //2、分支结构
    /*
    二、分支结构
    1、条件判断:if..else
    2、选择结构:switch...case

    (一)条件判断
    1、单分支条件判断
    语法格式:
    if(条件表达式){
    当该条件表达式成立时,需要执行的语句
    }
    说明:
    (1)if()中表达式必须是boolean类型的结果
    ①本身就是boolean类型的值
    ②比较表达式
    ③逻辑表达式
    (2)当{}中的语句只有一句时,可以省略{}
    但是我们不建议省略{}

    提醒:
    学习流程控制语句结构:
    (1)语法格式
    (2)执行特点
    //1、单分支例子,判断2月份有多少条
    */
    /*
    java.util.Scanner input=new java.util.Scanner(System.in);//准备Scanner扫描仪对象
    System.out.println("请输入年份");
    int year=input.nextInt();
    int days=28;//平年,如果是闰年,days 修改为29
    if(year%4==0&&year%100!=0||year%400==0){
    days=29;
    }
    System.out.println(year+"年,2月份的天数是"+days);
    */
    /*
    二、分支结构
    1、条件判断:if..else
    2、选择结构:switch...case

    (一)条件判断
    1、单分支条件判断
    2、双分支条件判断
    if(条件表达式){
    当条件表达式成立时,要执行的语句块;
    }else{
    当条件表达式不成立时,要执行的语句块;
    }

    说明:
    (1)条件表达式必须是boolean值
    (2)当{}中的语句只有一句时,可以省略{}
    不建议省略{}
    */
    /*实例:判断一个数是否是偶数 if else*/
    /*
    java.util.Scanner input=new java.util.Scanner(System.in);
    System.out.println("请输入一个数");
    int num=input.nextInt();
    if(num%2==0){
    System.out.println(num+"是偶数");
    }
    else{
    System.out.println(num+"是奇数");
    }
    */
    //多条件判断 if -- else if---else if
    /*
    java.util.Scanner input = new java.util.Scanner(System.in);
    System.out.print("请输入成绩:");
    int score = input.nextInt();
    if(score == 100){
    System.out.println("满分");
    }else if(score>=90 && score<=99){
    System.out.println("优秀");
    }else if(score>=70 && score<=89){
    System.out.println("良好");
    }else if(score>=60 && score<=69){
    System.out.println("及格");
    }else{
    System.out.println("不及格");
    }
    */
    //3、多条件嵌套
    /*
    语法格式:
    在if(){
    出现了条件判断
    }
    或在else{
    出现了条件判断
    }

    当嵌套时,里面的条件判断要被执行的前提,外面的if或else要先满足。
    if(score>=0 && score<=100){
    //再去判断是哪个等级的
    if(score == 100){
    System.out.println("满分");
    }else if(score>=90 && score<=99){
    System.out.println("优秀");
    }else if(score>=70 && score<=89){
    System.out.println("良好");
    }else if(score>=60 && score<=69){
    System.out.println("及格");
    }else{
    System.out.println("不及格");
    }
    }else{
    System.out.println("成绩输入有误,成绩范围:[0,100]");
    }
    */
    //4、随机数
    //我们随便产生一个随机数1
    //System.out.println(Math.random());//我们发现它总是在0和1直接徘徊
    //double rand=Math.random();
    //rand=rand*10;//(0-10之间)
    //rand=rand*10+1;//(1-11之间,但是这个时候是有小数的,如果我们不想它有小数怎么做呢)
    //int m=(int)rand;
    //System.out.println(m);
    //改成一句话
    System.out.println((int)(Math.random()*10+1));

    //--------------------------------------------------------------

    //5、选择结构
    //switch case
    /*
    语法结构:
    switch(表达式){
    case 常量值1:
    语句块1;
    【break;】
    case 常量值2:
    语句块2;
    【break;】
    ...
    【default:
    语句块n+1;
    【break;】

    要求:
    (1)case后面必须是常量值
    (2)case后面的常量值不能重复
    (3)switch()中的表达式的类型有要求:
    允许4种基本数据类型:byte,short,int,char
    允许2种引用数据类型:枚举(JDK1.5之后)、String(JDK1.7之后)

    执行特点:
    (1)入口
    ①当switch()中的表达式的值与某一个case后面的常量值“相等”,就会从这个case进入
    ②当switch()中的表达式的值与所有的case后面的常量值都“不相等”,就会寻找default进入
    (2)出口
    ①自然出口:switch的结束}
    ②中断出口:break (或后面要讲的return等)
    (3)一旦找到“入口”就会顺序往下执行,直到遇到“出口”
    (4)default的位置不一定在最后,习惯上我们写在最后

    实例

    //选择结构实例:请输入星期的数字,输出对应的英语单词

     、、//重点注意的地方  == 和 equals到底能不能通用

    7、赌数游戏:随机产生3个1-6的整数,
    如果三个数相等,那么称为“豹子”,
    如果三个数之和大于9,称为“大”,
    如果三个数之和小于等于9,称为“小”,
    用户从键盘输入押的是“豹子”、“大”、“小”,并判断是否猜对了
    */
    //随机产生3个1-6的整数
    int a=(int)(Math.random()*6+1);
    int b=(int)(Math.random()*6+1);
    int c=(int)(Math.random()*6+1);
    System.out.println("a="+a);
    System.out.println("b="+b);
    System.out.println("c="+c);
    //判断随机产生的数的结果是什么
    String result;
    if(a==b&&b==c){
    result="豹子";
    }else if(a+b+c>9){
    result="大";
    }else{
    result="小";
    }
    //用户从键盘输入押的是“豹子”、“大”还是“小”
    java.util.Scanner input=new java.util.Scanner(System.in);
    System.out.println("请压宝");
    String ya=input.next();
    if(result.equals(ya)){
    System.out.println("猜对了");
    }else{
    System.out.println("猜错了");
    }


    //----------------------------------------------------------
    //重点注意的地方 == 和 equals到底能不能通用
    //1、随机产生3个1-6的整数
    int a = (int)(Math.random()*6 + 1);
    int b = (int)(Math.random()*6 + 1);
    int c = (int)(Math.random()*6 + 1);

    //判断随机产生的数的结果是什么
    int result;
    if(a == b && b == c){
    result = 1;//假设豹子为1
    }else if(a + b + c > 9){
    result = 2;//假设大为2
    }else{
    result = 3;//假设小为3
    }

    //3、用户从键盘输入押的是“豹子”、“大”、“小”
    java.util.Scanner input = new java.util.Scanner(System.in);
    System.out.println("1、豹子");
    System.out.println("2、大");
    System.out.println("3、小");
    System.out.print("请选择:");
    int ya = input.nextInt();

    //4、判断用户的输入是否猜对了
    //比较ya与result是否相同
    if(result==ya){
    System.out.println("猜对了");
    }else{
    System.out.println("猜错了");
    }

    System.out.println("三个数是:" + a + "," + b + "," + c);
    总结,不能 equals可以判断对象是否相等和引用类型是否相等 ==貌似只能判断值类型的数据是否相等


    }
    }

  • 相关阅读:
    Cocoa中对日期和时间的处理 NSDate
    Fragment(一)--Fragment用法常见问题
    Volley源码解析(三) 有缓存机制的情况走缓存请求的源码分析
    # Volley源码解析(二) 没有缓存的情况下直接走网络请求源码分析#
    Android笔记--Bitmap(三) 针对不用Android版本的位图管理
    Java 语言中一个字符占几个字节?
    编码格式
    Volley解析(一)--Volley的使用
    Android笔记--Bitmap(二)内存管理
    Android笔记--Bitmap
  • 原文地址:https://www.cnblogs.com/liliang07/p/13200519.html
Copyright © 2011-2022 走看看