Java基础四

2018-07-12 07:35:18来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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

}

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:(三) 创建Hello-Service消费者 - Spring Cloud学习笔记

下一篇:面试必问之JVM篇