/*
为了让程序的数据更符合开发的数据,我们就加入了键盘录入。
让程序更灵活一下。
那么,我们如何实现键盘数据的录入呢?
A:导包
格式:
import java.util.Scanner;
位置:
在class上面。
B:创建键盘录入对象
格式:
Scanner sc = new Scanner(System.in);
C:通过对象获取数据
格式:
int x = sc.nextInt();
*/
import java.util.Scanner;
class ScannerDemo {
public static void main(String[] args) {
//创建键盘录入数据对象
Scanner sc = new Scanner(System.in);
System.out.println("请你输入一个数据:");
int x = sc.nextInt();
System.out.println("你输入的数据是:"+x);
}
}
/*
键盘录入练习:键盘录入两个数据,获取这两个数据中的最大值
*/
import java.util.Scanner;
class ScannerTest2 {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数据:");
int a = sc.nextInt();
System.out.println("请输入第二个数据:");
int b = sc.nextInt();
//获取这两个数据中的最大值
int max = (a > b? a: b);
System.out.println("max:"+max);
}
}
/*
练习:
键盘录入三个数据,获取这三个数据中的最大值
键盘录入两个数据,比较这两个数据是否相等
*/
import java.util.Scanner;
class ScannerTest3 {
public static void main(String[] args) {
//键盘录入三个数据,获取这三个数据中的最大值
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数据:");
int a = sc.nextInt();
System.out.println("请输入第二个数据:");
int b = sc.nextInt();
System.out.println("请输入第三个数据:");
int c = sc.nextInt();
//获取这三个数据中的最大值
int temp = ((a > b)? a: b);
int max = (temp > c? temp : c);
System.out.println("max:"+max);
System.out.println("------------------");
//键盘录入两个数据
System.out.println("请输入第一个数据:");
int x = sc.nextInt();
System.out.println("请输入第二个数据:");
int y = sc.nextInt();
//比较这两个数据是否相等
boolean flag = (x == y);
System.out.println("flag:"+flag);
}
}
/*
if语句的注意事项:
A:比较表达式无论简单还是复杂,结果必须是boolean类型
B:if语句控制的语句体如果是一条语句,大括号可以省略;
如果是多条语句,就不能省略。建议永远不要省略。
C:一般来说:有左大括号就没有分号,有分号就没有左大括号
*/
class IfDemo2 {
public static void main(String[] args) {
int x = 10;
if(x == 10) {
System.out.println("x等于10");
}
if((x > 5) || (x == 10)) {
System.out.println("x大于或者等于10");
}
System.out.println("-------------------");
int a = 100;
/*
if(a == 100) {
System.out.println("a的值是100");
}
*/
if(a != 100) {
System.out.println("a的值是100");
System.out.println("over");
}
System.out.println("-------------------");
int b = 100;
if(b != 100); //这里其实是有语句体的,只不过是空语句体。
//代码块
{
System.out.println("b的值是100");
System.out.println("over");
}
}
}
/*
键盘录入月份的值,输出对应的季节。
春 3,4,5
夏 6,7,8
秋 9,10,11
冬 12,1,2
分析:
A:键盘录入月份的值,所以我们要使用Scanner。
B:我们应该判断这个月份在那个季节,而这个判断情况较多,所以,用if语句格式3。
if语句的使用场景:
A:针对表达式是一个boolean类型的判断
B:针对一个范围的判断
*/
import java.util.Scanner;
class IfTest3 {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//录入数据
System.out.println("请你输入一个月份:");
int month = sc.nextInt();
//第三种格式实现即可
if(month<1 || month>12) {
System.out.println("你输入的月份有误");
}else if(month == 1) {
System.out.println("冬季");
}else if(month == 2) {
System.out.println("冬季");
}else if(month == 3) {
System.out.println("春季");
}else if(month == 4) {
System.out.println("春季");
}else if(month == 5) {
System.out.println("春季");
}else if(month == 6) {
System.out.println("夏季");
}else if(month == 7) {
System.out.println("夏季");
}else if(month == 8) {
System.out.println("夏季");
}else if(month == 9) {
System.out.println("秋季");
}else if(month == 10) {
System.out.println("秋季");
}else if(month == 11) {
System.out.println("秋季");
}else {
System.out.println("冬季");
}
System.out.println("--------------");
//这个程序确实是符合了我们的需求,但是就是看起来比较麻烦
//那么,我们能不能改进一下呢?
//month == 3
//month == 4
//month == 5
//我们发现,上面三个都是春季。
//而他们本身每一个都是一个boolean表达式
//所以,我们就可以考虑使用逻辑运算符给他们连接起来改进
if(month<1 || month>12) {
System.out.println("你输入的月份有误");
}else if(month==3 || month==4 || month==5) {
System.out.println("春季");
}else if(month==6 || month==7 || month==8) {
System.out.println("夏季");
}else if(month==9 || month==10 || month==11) {
System.out.println("秋季");
}else {
System.out.println("冬季");
}
System.out.println("--------------");
//这个时候,程序代码以及可以了。
//但是呢,假如我要求你输入一个月份,判断是上半年还是下半年。
//这个时候,我们的判断条件连接就是6个boolean表达式
//我们可能还有更多的连接
//这个时候,其实我们还有另外的一种改进方案:
//month == 3
//month == 4
//month == 5
//month>=3 && month<=5
//用范围也是可以改进的。
if(month<1 || month>12) {
System.out.println("你输入的月份有误");
}else if(month>=3 && month<=5) {
System.out.println("春季");
}else if(month>=6 && month<=8) {
System.out.println("夏季");
}else if(month>=9 && month<=11) {
System.out.println("秋季");
}else {
System.out.println("冬季");
}
System.out.println("--------------");
}
}