Java基础四
1、If语句
2、键盘输入
3、Switch
先来个需求回顾三元运算符:三个数从小到大排列。
自己写import java.util.Scanner;class test5{
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 min = a<b?(a<c?a:c):(b<c?b:c);
int z = 0;
int max = a>b?(a>c?a:c):(b>c?b:c);
if(a>min&&a<max){
z = a;
}else if(b>min&&b<max){
z = b;
}else if(c>min&&c<max){
z = c;
}
System.out.println("这三个数从小到大依次是:"+min
+","+z+","+max);
}
}
一、If语句:
1.1、
/*
1、if语句的格式2
if(比较表达式){
语句体1;
}else{
语句体2;
}
2、执行流程:
首先计算比较表达式的值,看其为true还是false。
如果是true就执行语句体1.
如果是false就执行语句体2.
3、案例:
3-1、获取两个数中较大的值。
1、三元运算 a>b?a:b 2、if(a>b){System.out.println(a);}else{System.out.println(b);}
3-2、判断一个数是奇数还是偶数,并且输出数是奇数还是偶数。
if(x%2==0){System.out.println("偶数");}else{System.out.println("奇数");}
3-3、判断一个年份是不是闰年?
年份能被4整除,不能被100整除,但是如果被400整除也可以。?
365.2422,
0.2422*4!=1
//1~10000
//A,B,C
//A-B+C=闰年的年数
//2500-100+25=2425
//0.2422*10000=2422
*/
class If_Demo3{
public static void main(String [] args){
/*
int x=10;
int y=20;
int z;
if(x>y){
z=x;
}else{
z=y;
}
//到这里开始,z中存放的是x和y较大的一个
System.out.println(z);
*/
/*
int x=10;
if(x%2==0){
System.out.println("x是偶数");
}else{
System.out.println("x是奇数");
}
*/
int year=1900;
if((year%4==0&&year%100!=0)||(year%400==0)){
System.out.println("这一年是闰年");
}else{
System.out.println("这一年不是闰年");
}
}
}
1.2、
/*
1、if语句与三元(目)运算符完成同一个效果
到底什么时候if-else
什么时候使用三目运算符呢?
数据简单、逻辑简单,就用三目运算符,
复杂,就用if-else
代码可读性强。
(作业)思考:如果有三个数,如何用三目运算符来完成从小到大的输出?
*/
1.3、
/*
1、if语句的格式3:
if(比较表达式1){
语句体1;
}else if(比较表达式2){
语句体2;
}else if(比较表达式3){
语句体3;
}
……
else{
语句体n;
}
2、执行流程:
首先计算比较表达式1的值,看其返回true还是false
如果是true,就执行语句体1,if语句整体结束。
如果是false,接着计算比较表达式2看其返回是true还是false
如果是true,就执行语句体2,if语句整体结束。
如果是false,接着计算比较表达式3看其返回是true还是false
……
如果都是false,执行最后一个else。
*/
class If_Demo5{
public static void main(String [] args){
int x=0;
if(x==1){
System.out.println("它是1");
}else if(x==0){
System.out.println("它是0");
}else{
System.out.println("它既不是1也不是0");
}
}
}
1.4、
/*
重点:
if-else的嵌套使用。
需求:获取三个数据中最大的一个
*/
import java.util.Scanner;
class test7{
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();
if(a>b){
if(a>c){
System.out.println("最大的数是:"+a);
}else{
System.out.println("最大的数是:"+c);
}
}else{
if(b>c){
System.out.println("最大的数是:"+b);
}else{
System.out.println("最大的数是:"+c);
}
}
}
}
1.5实例
/*
1、需求:键盘录入一个成绩,判断成绩的等级并且输出
90-100优
80-89良
70-79中
60-69及格
0-59差
2、需求,计算如下分段函数
输入x,求得y。
x>=3 y=2*x+1
-1<x<3 y=2*x
x<=-1 y=2*x-1
*/
import java.util.Scanner;
class test8{
public static void main(String [] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = sc.nextInt();
if(score>=90&&score<=100){
System.out.println("优秀");
}else if(score>=80&&score<=89){
System.out.println("良");
}else if(score>=70&&score<=79){
System.out.println("中");
}else if(score>=60&&score<=69){
System.out.println("及格");
}else if(score>=0&&score<=59){
System.out.println("差");
}else{
System.out.println("成绩录入有误");
}
}
}
二、Switch
/*
1、switch语句的格式:
switch(表达式){ //基本数据类型中的byte short char int
case 值1: //从jdk1.5开始可以使枚举类型,从1.7开始可以使String类型
语句体1;
break;
case 值2:
语句体2;
break;
……
case 值n:
语句体n;
break;
default:
语句体n+1;
break;
}
实:1:
import java.util.Scanner;
class test9{
public static void main(String [] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入姓名:");
String name = sc.next();
System.out.println("请输入性别:");
String sex = sc.next();
System.out.println("请输入年龄:");
int age = sc.nextInt();
switch(sex){
case "男":
System.out.println(name+"是一位男士,喜欢看世
界杯");
break;
case "女":
System.out.println(name+"是一位女士,喜欢打扰
别人看世界杯");
break;
case "未知":
System.out.println(name+"特殊人士,喜欢在泰国
看世界杯");
break;
}
switch(age){
case 1:
case 2:
case 3:
System.out.println("小屁孩");
break;
case 4:
case 5:
case 6:
System.out.println("小绿年");
break;
case 7:
case 8:
case 9:
System.out.println("你老了");
break;
case 10:
default:
}
}
}
实例2:
class Switch_Demo2{
public static void main(String [] args){
//default未必一定在最后。
/*
int x=2;
int y=3;
switch(x){
default:
y++;
break;
case 3:
y++;
case 4:
y++;
}
System.out.println("y="+y);
输出:4
*/
int x=2;
int y=3;
switch(x){
default:
y++;
case 3:
y++;
break;
case 4:
y++;
}
System.out.println("y="+y);
}
输出:5
}
三、键盘录入基本格式
/*
重点:键盘录入的基本格式
1、为什么要使用键盘录入?
为了让程序与用户有交流
让程序更灵活
2、怎么做?
2-1、导入包,import java.util.Scanner;
放到class上面
2-2、创建键盘录入对象
Scanner scanner=new Scanner(System.in);
int x=scanner.nextInt();
*/
import java.util.Scanner;
class TestScanner{
public static void main(String [] args){
Scanner scanner=new Scanner(System.in);
System.out.println("请输入第一个数:");
int x=scanner.nextInt();
System.out.println("请输入第二个数:");
int y=scanner.nextInt();
System.out.println("较大的一个是:"+(x>y?x:y));
}
}
上一篇: 第50节:Java的当中的泛型
下一篇: 内涵幽默,特没正经的男女