java基础04 Scanner的使用

import java.util.Scanner;

/**
 *  所有在java.lang包下面的所有类 不需要显示的引入包!
 * java.util.Scanner : 想获取用户的输入  必须引入相关的类
 * 
 */
public class ScannerTest {   // 获取用户的输入
    
    
    public static void main(String[] args) {
         System.out.println("请输入您的姓名:");
         //创建一个Scanner对象  通过new关键字  System.in:用户的输入
         Scanner  input=new Scanner(System.in);
         String  name= input.next();//这个next()只能用String类型的变量来接收
         System.out.println("请输入您的年龄:");
         int age= input.nextInt(); //这个next()只能用int类型的变量来接收
         System.out.println("您输入的姓名是:"+name);
         System.out.println("您输入的年龄是:"+age);
         
         
         System.out.println("*******判断用户有没有输入*******");
         boolean flag= input.hasNext();
         System.out.println("判断用户有没有输入:"+flag);
         
         System.out.println("*******判断用户是否输入的是整数*******");
         flag=input.hasNextInt();
         System.out.println("判断用户是否输入的是整数:"+flag);
         
         System.out.println("*******判断用户是否输入的是浮点数*******");
         flag=input.hasNextDouble();
         System.out.println("判断用户是否输入的是浮点数:"+flag);
    }

}
1.Scanner测试代码1
2.Scanner测试代码2
import java.util.Scanner;

public class ScannerTest {  
    public static void main(String[] args) {
         System.out.println("请输入您的姓名:");
         Scanner  input=new Scanner(System.in);
         /*
          *  String  name= input.next();  
          *   如果这里输入的而是    小黑    50  只能拿到小黑
          *   也就是拿到 空格 之前的第一个
          *   我想拿到所有??  就不能再使用next()
          *   使用nextLine()
          *   
          */
         String  name= input.nextLine();
         System.out.println("您输入的姓名是:"+name);
    }

}
3.nextLine()的使用
/**
 * import:导入需要的类!
 * import可以出现多次!
 */

public class ScannerTest02 {

    public static void main(String[] args) {
        /**
         * 从控制台输入学员王浩3门课程成绩,编写程序实现
               (1)Java课和SQL课的分数之差
               (2)3门课的平均分
         */
        // 01.创建Scanner对象
        Scanner scanner = new Scanner(System.in);

        // 获取学员王浩3门课程成绩
        System.out.println("请输入您的java成绩:");
        // 02.获取用户的输入
        double javaScore = scanner.nextDouble(); // 获取用户输入

        System.out.println("请输入您的sql成绩:");
        double sqlScore = scanner.nextDouble(); // 获取用户输入

        System.out.println("请输入您的music成绩:");
        double musicScore = scanner.nextDouble(); // 获取用户输入

        // 03.使用变量
        System.out.println("您的java成绩是:" + javaScore);
        System.out.println("您的sql成绩是:" + sqlScore);
        System.out.println("您的music成绩是:" + musicScore);

        // Java课和SQL课的分数之差
        System.out.println("Java课和SQL课的分数之差:" + (javaScore - sqlScore));
        System.out.println("3门课的平均分:"
                + ((javaScore + sqlScore + musicScore) / 3));
    }
4.王浩3门课程成绩
public class Operator03 {

    public static void main(String[] args) {

        int num1 = 10;
        int num2 = 5;

        int a = num1 / num2; // 取整
        int b = num1 % num2; // 取余
        System.out.println("num1 / num2取整的值:" + a);
        System.out.println("num1 % num2取余的值:" + b);
        /**
         *  ++:自身加1
         *    01.++在前:先自身加1,再执行操作
         *    02.++在后:先执行操作,再自身加1
         *  --:自身减1
         */
        num1++;
        num2--;
        System.out.println(++num1); // 12
        System.out.println(--num2); // 3

        System.out.println(num1++);
        System.out.println(num1);

    }

}
5.运算符01
public class AvgTest04 {

    public static void main(String[] args) {
        /**
         * 某班第一次Java考试平均分81.29,
         * 第二次比第一次多2分,
         * 计算第二次考试平均分?
         */
        double fAvg = 81.29;
        double sAvg; // 定义一个第二次的平均分
        int rise = 2; // 增长的分数
        /**
         *  自动类型转换规则
         *  01.如果一个操作数是double,则整个表达式都是double
         *  02.操作数 要相互兼容!  数值类型的数据
         *  03.目标类型 大于 (取值范围)源类型
         */
        sAvg = fAvg + rise;

        System.out.println("第二次的平均分=" + sAvg);

        System.out.println("******************************");
        System.out.println("计算之和:" + 5 + 5); // 55
        System.out.println(5 + 5 + "计算之和"); // 10

        System.out.println("******************************");

        /**
         * 强制类型转换: 把大的数据类型  转换成 小的数据类型!
         */
        int before = 20;
        double after = 5.5;
        // 大蛋糕 装进 小盒子??? 肯定装不下!
        // int now = (int) (before + after);
        int now = before + (int) after;
        System.out.println("now的值:" + now);

        float s = (float) 50.5;
        float s1 = 50.5f;
        float s2 = 50.5F;

    }

}
6.类型转换
public class Test05 {

    public static void main(String[] args) {
        /**
         * 实现一个数字加密器,加密规则是
              加密结果 = (整数 * 10 + 5)/ 2 + 3.14159
              加密结果仍为一整数
         */

        Scanner input = new Scanner(System.in);
        // 提示用户输入
        System.out.println("请您输入一个整数:");
        int num = input.nextInt(); // ctrl+1 快速补全
        // int result = (int) ((num * 10 + 5) / 2 + 3.14159);
        int result = ((num * 10 + 5) / 2 + (int) 3.14159);
        System.out.println("结果是:" + result);

    }
}
7.数字加密器
public class Opration06 {

    public static void main(String[] args) {
        /**
         * ==:  基本数据类型再做比较的时候是比较的值!
         * !=:  不等于
         */

        int a = 5;
        int b = 5;
        System.out.println("a == b:" + (a == b));
        System.out.println("a != b:" + (a != b));
        System.out.println("a > b:" + (a > b));
        System.out.println("a < b:" + (a < b));
        System.out.println("a < =b:" + (a <= b));
        System.out.println("a > =b:" + (a >= b));

    }

}
8.运算符02
public class Test07 {

    /**
     * 从控制台输入张三同学的成绩,
     * 与李四的成绩(80分)比较,
     * 输出“张三的成绩比李四的成绩高吗?“ 的判断结果
     */

    public static void main(String[] args) {

        // 创建Scanner对象
        Scanner scanner = new Scanner(System.in);
        System.out.println("请您输入张三的成绩:");
        double zhangScore = scanner.nextDouble(); // 获取张三的成绩
        double liScore = 80;
        // 输出 张三的成绩比李四的成绩高吗 是比较??使用关系运算符
        boolean result = (zhangScore > liScore);

        System.out.println("张三的成绩比李四的成绩高==" + result);

    }
}
9.运算符Boolean
public class Pay08 {

    /**
     *   实现购物的小系统
     */
    public static void main(String[] args) {
        System.out
                .println("*************************欢迎光临*************************");
        Scanner scanner = new Scanner(System.in);
        System.out.println("请您输入购买商品的名称:");
        // 获取商品名称
        String goodsName = scanner.next();
        System.out.println("请输入商品的单价:");
        // 获取单价
        double goodsPrice = scanner.nextDouble();
        System.out.println("请输入购买商品的个数:");
        // 获取个数
        int goodsSize = scanner.nextInt();
        // 计算总金额 =单价*个数
        double sum = goodsPrice * goodsSize;
        System.out.println("请输入商品的折扣:");
        // 获取个数
        double zhe = scanner.nextDouble();
        // 输出信息
        System.out.println("************消费单*************");
        System.out.println("购买商品\t\t单价\t\t 个数\t\t金额");
        System.out.println(goodsName + "\t\t" + goodsPrice + "\t\t" + goodsSize
                + "\t\t" + sum);
        System.out.println("折扣:" + zhe);
        System.out.println("总金额:" + sum);
        System.out.println("实际消费:" + (sum * zhe));
        System.out.println("请您输入交费金额:");
        double pay = scanner.nextDouble(); // 获取交费钱数
        System.out.println("实际消费:" + (sum * zhe));
        System.out.println("找零:" + (pay - (sum * zhe)));
        // 计算积分
        int score = (int) ((sum * zhe) / 10);
        System.out.println("本次购物的积分为:" + score);
    }

}
10.购物的小系统
public class Demo09 {
    /**
    *现会员卡中奖
    *  商场推出幸运抽奖活动
    *  抽奖规则
    *  顾客的四位会员卡号的
    *  各位数字之和大于20,
    *  则为幸运顾客
     */

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请您输入一个4位会员卡号:");
        int num = scanner.nextInt();
        // 获取各位 的数字
        int one = num % 10;
        int ten = num / 10 % 10;
        int hundred = num / 100 % 10;
        int thousand = num / 1000;
        // 获取 各位 的数字之和
        int sum = one + ten + hundred + thousand;
        // 和 20 比较大小
        boolean result = sum > 20;
        System.out.println("是幸运客户吗?====" + result);

    }
}
11.会员卡中奖
public class Demo10 {
    /**
    *  声明变量存储商品价格信息
    从键盘接收折扣,并保存
    计算商品享受折扣后的价格
    输出商品折扣后价是否低于100
     */

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请您输入商品价格:");
        double price = input.nextDouble();
        System.out.println("请您输入商品折扣:");
        double zhe = input.nextDouble();
        // 实际支付金额
        double pay = price * zhe;
        // 输出商品折扣后价是否低于100
        boolean result = pay < 100;
        System.out.println("折扣之后的价格是:" + pay);
        System.out.println("输出商品折扣后价是否低于100??" + result);

    }
}
12.折扣后的价格
public class Operators {

    public static void main(String[] args) {
        int num1 = 5; // 把 =右边的值 赋值给了 =左边的变量
        int num2 = 10;
        System.out.println("num1====" + num1);
        System.out.println("num2====" + num2);
        System.out.println("===========等量转换之后===============");
        // 寻找一个空瓶子
        int temp;
        temp = num1;
        num1 = num2;
        num2 = temp;
        System.out.println("num1====" + num1);
        System.out.println("num2====" + num2);

    }

}
13.等量转换
public class Demo11 {

    /**
     * 一元运算符:一个表达式就可以参与运算!
     *               ++   -- 
     * 
     * 二元运算符:二个表达式就可以参与运算!
     *                +   /   *   -   %
     * 
     * 三元运算符:三个表达式就可以参与运算!
     *        数据类型  变量名= 表达式1?表达式2:表达式3
     *        String  result=(5>4)?"真":"假";
     *  
     *  表达式1:必须是boolean类型的值!也就是 必须使用关系运算符!
     *  表达式2: 表达式1为true的时候执行的表达式!
     *  表达式3: 表达式1为false的时候执行的表达式!
     *  
     *  表达式2和表达式3的数据类型!必须一致!
     *  
     */
    public static void main(String[] args) {

        /**
         * 总数量(totalCount)       页大小 (pageSize)         总页数(pageCount)
         *  101                    10                       11
         *  
         *  100                    10                       10
         *  
         *   x                      x                        x
         */

        Scanner scanner = new Scanner(System.in);
        System.out.println("请您输入总数量:");
        int totalCount = scanner.nextInt();
        System.out.println("请您每页显示几条数据:");
        int pageSize = scanner.nextInt();
        /**
         *  怎么求总页数??
         *  (总数量%页大小==0) (总数量/页大小)
         *  (总数量%页大小!=0) (总数量/页大小+1)
         *  
         *  使用三元表达式 ??
         */

        int pageCount = (totalCount % pageSize == 0) ? (totalCount / pageSize)
                : (totalCount / pageSize + 1);
        System.out.println("应该是多少页??" + pageCount);

    }

}
14.三元运算符等

 

posted on 2017-03-01 10:37    阅读(641)  评论(0编辑  收藏  举报