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);
}
Scanner测试代码1
import java.util.Scanner;
public class ScannerTest {
public static void main(String[] args) {
/*
*
* 测试两种方式
* 01. 一个一个的输入
* 02.一次性输入所有 每个变量之间使用空格隔开
*
*/
System.out.println("请输入您的姓名:");
Scanner input=new Scanner(System.in);
String name= input.next();
System.out.println("请输入您的年龄:");
int age= input.nextInt();
System.out.println("请输入您的地址:");
String address= input.next();
System.out.println("您输入的姓名是:"+name);
System.out.println("您输入的年龄是:"+age);
System.out.println("您输入的地址是:"+address);
}
}
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);
}
}
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));
}
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);
}
}
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;
}
}
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);
}
}
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));
}
}
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);
}
}
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("购买商品 单价 个数 金额");
System.out.println(goodsName + " " + goodsPrice + " " + goodsSize
+ " " + 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);
}
}
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);
}
}
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);
}
}
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);
}
}
等量转换
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);
}
}