欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java基础四

程序员文章站 2023-01-19 14:06:30
1、If语句 2、键盘输入 3、Switch 先来个需求回顾三元运算符:三个数从小到大排列。 自己写import java.util.Scanner;class test5{ public static void main(String [] args){ Scanner sc = new Scan ......

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;
}

Java基础四

 

 实: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));
}

}