java基础04 Scanner的使用

1.Scanner测试代码:

package cn.ckg.scanner;
import java.util.Scanner;
/**
 * 
 * @author Vip宅男
 *
 */
public class ScannerTest { //获得用户输入
/**
* 所有在java.lang包下的所有类  不需要显示的引入包!
* java.util.Scanner:想获取用户的输入   必须引入相关的类
*/

public static void main(String[] args) {
//创建一个Scanner类对象,通过new关键字  System.in:用户的输入
Scanner input=new Scanner(System.in);
System.out.print("请输入您的姓名:");
String name=input.next();//这个next()只能用String类型的变量来接收
System.out.print("请输入您的年龄:");
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);
}
}

2.nextLine()的使用:

package cn.ckg.scanner;
import java.util.Scanner;
/**
 * 
 * @author Vip宅男
 *
 */
public class ScannerTest02 { //获得用户输入
public static void main(String[] args) {
//创建一个Scanner类对象,通过new关键字  System.in:用户的输入
Scanner input=new Scanner(System.in);
System.out.print("请输入您的姓名:");
/**
* String name=input.next();
* 如果这里输入的是  小黑   50  只能拿到  小黑
* 也就是拿到  空格  之前的第一个
* 我想拿到所有?? 就不能使用next()
* 使用nextLine()
*/

String name=input.nextLine();
System.out.println("您输入的姓名是:"+name);
}
}

3.王浩3门课程成绩:

package cn.ckg.scanner;
import java.util.Scanner;
/**
 * 
 * @author  Vip宅男
 *
 */
public class ScannerTest03 {
/**
* import:导入需要的类!
* import:可以多次使用
* @param args
*/

public static void main(String[] args) {
/**
         * 从控制台输入学员王浩3门课程成绩,编写程序实现
         *      (1)Java课和SQL课的分数之差
                (2)3门课的平均分
         */

Scanner input=new Scanner(System.in);
/**
* 获取王浩的三门课程成绩
*/

System.out.print("王浩的Java成绩:");
double javaScore=input.nextDouble();
System.out.print("王浩的音乐成绩:");
double musicScore=input.nextDouble();
System.out.print("王浩的SQL成绩:");
double sqlScore=input.nextDouble();
System.out.println("王浩的Java成绩:"+javaScore);
System.out.println("王浩的音乐成绩:"+musicScore);
System.out.println("王浩的SQL成绩:"+sqlScore);
System.out.println("=============================");
/**
* Java课和SQL课的分数之差
*/

System.out.println("Java课和SQL课的分数之差:"+(javaScore-sqlScore));
System.out.println("=============================");
/**
* 3门课的平均成绩
*/

double avg=(javaScore+musicScore+sqlScore)/3.0;
System.out.println("3门课的平均成绩"+avg);
}
}

4.运算符01:

package cn.ckg.operator;
/**
 * 
 * @author Vip宅男
 *
 */
public class Operator {
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);
System.out.println("===========================");
/**
* ++:自身加1
* 01.++在前:先自身加1,在执行操作
* 02.++在后:先执行操作,在自身加1
* --:自身减1
*/

num1++; num2--;
//System.out.println(++num1);
//System.out.println(--num2);
System.out.println("===========================");
System.out.println(num1++);
System.out.println(num2--);
}
}

5.类型转换:

package cn.ckg.scanner;
/**
 * 
 * @author Vip宅男
 *
 */
public class AvgTest {
public static void main(String[] args) {
/**
         * 某班第一次Java考试平均分81.29,
          * 第二次比第一次多2分,
          * 计算第二次考试平均分?
          */

double firstAvgScore=81.29;//第一次平均分
double sAvg;//定义第二次平均分
int rise=2;//增长的分数
/**
* 自动类型转换:
* 01.如果一个操作数是double,则整个表达式都是double
* 02.操作数  要相互兼容!  数值类型的数据
* 03.目标类型  大于  (取值范围)源类型
*/

sAvg=firstAvgScore+rise;
System.out.println("第二次考试的平均分:"+sAvg);
System.out.println("============================");
System.out.println("计算之和:"+5+5);
System.out.println(5+5+"计算之和");
System.out.println("============================");
/**
          * 强制类型转换: 把大的数据类型  转换成 小的数据类型!
         */

int before=20;
double after=5.5;
/**
* 把大蛋糕放大  小盒子?? 可定装不下
*/

int now=before+(int)after;
System.out.println("now的值:"+now);
//float s=(float)50.5;
//float s1=50.5f;
//float s2=50.5F;
}
}

6.数字加密器:

package cn.ckg.scanner;
import java.util.Scanner;
/**
 * 
 * @author Vip宅男
 *
 */
public class Test {
public static void main(String[] args) {
/**
         * 实现一个数字加密器,加密规则是
                          加密结果 = (整数 * 10 + 5)/ 2 + 3.14159
                          加密结果仍为一整数
          */

Scanner input=new Scanner(System.in);
/**
* 提示用户的输入
*/

System.out.print("请输入一个整数:");
int num=input.nextInt();// ctrl+1 快速补全
int result=((num*10+5)/2+(int)3.14159);
System.out.println("结果是:"+result);
}
}

7.运算符02:

package cn.ckg.scanner;
/**
 * 
 * @author Vip宅男
 *
 */
public class Opration {
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.运算符Boolean:

package cn.ckg.scanner;
import java.util.Scanner;
/**
 * 
 * @author Vip宅男
 *
 */
public class Test04 {
public static void main(String[] args) {
/**
    * 从控制台输入张三同学的成绩,
    * 与李四的成绩(80分)比较,
    * 输出“张三的成绩比李四的成绩高吗?“ 的判断结果
    */

Scanner input=new Scanner(System.in);
/**
* 提示用户输入
*/

double liScore=80;
System.out.println("张三同学的成绩:");
double zhangScore=input.nextDouble();
System.out.println("张三的成绩比李四的高吗?"+(zhangScore>liScore));
}
}

9.购物的小系统:

package cn.ckg.scanner;
import java.util.Scanner;
/**
 * 
 * @author Vip宅男
 *
 */
public class Pay {
/**
* 实现购物的小系统
*/

public static void main(String[] args) {
System.out.println("******************欢迎使用购物小系统******************");
Scanner input=new Scanner(System.in);
System.out.print("请输入您要购买商品的名称:");
/**
* 获取商品名称
*/

String goodsName=input.next();
System.out.print("请您输入要购买商品的单价:");
/**
* 获取单价
*/

double goodsPrice=input.nextDouble();
System.out.print("请输入您要购买商品的个数:");
/**
* 获取商品的个数
*/

int goodsSize=input.nextInt();
/**
* 计算总金额:总金额=单价*个数
*/

double sum=goodsPrice*goodsSize;
System.out.print("请您输入商品折扣:");
/**
* 获取折扣
*/

double zhe=input.nextDouble();
/**
* 输出商品信息
*/

System.out.println("*********************消费清单*********************");
System.out.println("商品名称\t商品单价\t商品个数\t总金额");
System.out.println(goodsName+"\t"+goodsPrice+"\t"+goodsSize+"\t"+sum);
System.out.println("购买商品总金额:"+sum);
System.out.println("商品折扣:"+zhe);
System.out.println("实际消费金额:"+(sum*zhe));
System.out.print("请您输入您的缴费金额:");
/**
* 获取缴费金额
*/

double pay=input.nextDouble();
System.out.println("找零:"+(pay-(sum*zhe)));
/**
* 计算积分
*/

int score=(int)((sum*zhe)/10);
System.out.println("本次购物的消费积分为:"+score);
}
}

10.会员卡中奖:

package cn.ckg.scanner;
import java.util.Scanner;
/**
 * 
 * @author Vip宅男
 *
 */
public class Demo {
/**
 *现会员卡中奖
 *  商场推出幸运抽奖活动
 *  抽奖规则
 *  顾客的四位会员卡号的
 *  各位数字之和大于20,
 *  则为幸运顾客
  */

public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请您输入四位会员卡号:");
/**
* 获取会员卡号
*/

int num=input.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.折扣后的价格:

package cn.ckg.scanner;
import java.util.Scanner;
/**
 * 
 * @author Vip宅男
 *
 */
public class Demo02 {
/**
   *  声明变量存储商品价格信息
    从键盘接收折扣,并保存
    计算商品享受折扣后的价格
    输出商品折扣后价是否低于100
    */

public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请您输入商品价格:");
double goodsPrice=input.nextDouble();
System.out.print("请您输入商品的折扣:");
double zhe=input.nextDouble();
/**
* 实际支付金额
*/

double pay=goodsPrice*zhe;
/**
* 输出商品折扣后的价是否低于100
*/

boolean result=pay<100;
System.out.println("输出商品折扣后的价是否低于100?==="+result);
}
}

12.等量转换:

package cn.ckg.scanner;
/**
 * 
 * @author Vip宅男
 *
 */
public class Operators {
public static void main(String[] args) {
int num1=5;//把=右边的值  赋值给了  =左边的变量
int num2=10;
System.out.println("***************转换之前***************");
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.三元运算符等:

package cn.ckg.scanner;
import java.util.Scanner;
/**
 * 
 * @author Vip宅男
 *
 */
public class Demo03 {
/**
      * 一元运算符:一个表达式就可以参与运算!
      *               ++   -- 
     
      * 二元运算符:二个表达式就可以参与运算!
      *                +   /   *   -   %
     
      * 三元运算符:三个表达式就可以参与运算!
      *        数据类型  变量名= 表达式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 input=new Scanner(System.in);
System.out.print("输入总数量:");
int totalCount=input.nextInt();
System.out.print("请您每页显示几条数据:");
int pageSize=input.nextInt();
/**
          *  怎么求总页数??
          *  (总数量%页大小==0) (总数量/页大小)
          *  (总数量%页大小!=0) (总数量/页大小+1)
          *  
          *  使用三元表达式 ??
          */

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

java基础04 Scanner的使用