补充:Scanner类

package com.uncleyong;

//1). 导入 Scanner 类
import java.util.Scanner; public class TestScanner{ public static void main(String [] args){ //1. 在控制台输入整数 //2). 创建 Scanner 对象
Scanner scanner = new Scanner(System.in); //3. 调用 Scanner 对象的 nextInt() 方法读入输入的整数
System.out.print("a=");
int a = scanner.nextInt(); System.out.println("您已经输入的整数 a: " + a); }
}

Java分支语句分类

分支语句根据一定的条件有选择地执行或跳过特定的语句,分为两类:

  if-else 语句
  switch 语句

if-else 语句

if-else语句语法格式

if(布尔表达式){
语句或语句块;
}
if(布尔表达式) {
语句或语句块;
}
else if(布尔表达式){
语句或语句块;
}else {
语句或语句块;
}

if-else语句应用举例

package com.uncleyong;

public class TestIf {
public static void main(String[] args) {
//若 age <= 8, 打印 "没上学"
//若 age <= 14, 打印出 "小学生"
//若 age <= 17, 打印 "初中生"
//若 age <= 20, 打印 "高中生"
//若 age <= 24, 打印 "大学生"
//若都不满足, 打印 "大学毕业" int age = 5; if(age <= 8){
System.out.println("没上学");
}else if(age <= 14){
System.out.println("小学生");
}else if(age <= 17){
System.out.println("初中学");
}else if(age <= 20){
System.out.println("高中生");
}else if(age <= 24){
System.out.println("大学生");
}else{
System.out.println("大学毕业");
}
}
}

嵌套if结构

示例:

如果今天周末

  如果天晴就出去玩

  如果下雨就家里看电视

否则

  上班

switch 语句

switch语句语法格式

switch(表达式){
case 常量1:
语句1;
break;
case 常量2:
语句2;
break;
case 常量3:
case 常量4:
case 常量5:
语句5;
break;
……
case 常量N:
语句N;
break;
[default:
语句;
break;]
}

上面:3、4、5执行相同的代码,就可以上面方式写

switch语句应用举例

package com.uncleyong;

import java.util.Scanner;

public class SwichScore {
public static void main(String[] args) {
/*
编写程序:从键盘上读入一个学生成绩,
存放在变量score中,根据score的值输出其对应的成绩等级:
score>=90 等级:A
70=<score<90 等级: B
60=<score<70 等级: C
score<60 等级:D
*/
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生的学习成绩, score=");
int score = scanner.nextInt(); switch(score/10){
case 10:
case 9:
System.out.println("A");
break; case 8:
case 7:
System.out.println("B");
break; case 6:
System.out.println("C");
break; default:
System.out.println("D");
} }
}
package com.uncleyong;

public class SwichNum {
public static void main(String[] args) {
/* 使用switch语句改写下列if语句:
int a = 3;
int x = 100;
if(a==1)
x+=5;
else if(a==2)
x+=10;
else if(a==3)
x+=16;
else if(a==4)
x+=34;
*/
int a = 3;
int x = 100;
switch (a){
case 1:
x += 5;
break;
case 2:
x += 10;
break;
case 3:
x += 16;
break;
case 4:
x += 34;
}
System.out.println(x);
}
}

  

switch语句有关规则

  switch(表达式)中表达式的返回值必须是下述几种类型之一:int, byte, char, short, 枚举, 字符串(JDK6及以前不支持字符串类型),不能为bool;

        char sex = 'm';
switch (sex){} String gender = "male";
switch (gender){}

  case子句中的值必须是常量,且所有case子句中的值应是不同的;
  default子句是任选的;
  break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,会执行下一个case分支,如果下一个是deault,会执行最后一个default分支。

if和switch的区别

switch结构
  只能进行等值的判断,且只能为整型、字符型、字符串

if结构
  没有限制,适合某个连续区间的判断

练习题(参考答案已放在Q群文件中)

1、由键盘输入三个整数分别存入变量num1、num2、num3,对它们进行排序(使用 if-else if-else),并且从小到大输出。

IfElseSort.java

2、输入 2017 年的某个月份和日期, 例如 month=4, day=21
经过程序计算, 打印出输入的月份和日期是 2017 年的第几天. 31+28+31+21

SwichDay.java

3、提示用户输入三角形的边a、b、c,范围必须在[1,100)之间

判断三角形的类型:
1.非三角形
2.等边三角形
3.直角三角形
4.等腰三角形
5.普通三角形

Java【第三篇】基本语法之--选择结构的更多相关文章

  1. Django(四)框架之第三篇模板语法

    https://www.cnblogs.com/yuanchenqi/articles/6083427.htm https://www.cnblogs.com/haiyan123/p/7725568. ...

  2. Django框架之第三篇模板语法(重要!!!)

    一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: 在 Django 模板中遍历复杂数据结构的关键 ...

  3. Django框架之第三篇模板语法

    一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: 在 Django 模板中遍历复杂数据结构的关键 ...

  4. Java基础系列(18)- if选择结构

    if单选择结构 我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示 语法 if (布尔表达式){ //如果布尔表达式为True将执行的语句 } packag ...

  5. 从零开始学Java (三)基础语法

    1. 基本数据类型 整数类型:byte,short,int,long 浮点数类型:float,double 字符类型:char 布尔类型:boolean java最小单位是bit,一个byte占用8个 ...

  6. 区分 JVM 内存结构、 Java 内存模型 以及 Java 对象模型 三个概念

    本文由 简悦 SimpRead 转码, 原文地址 https://www.toutiao.com/i6732361325244056072/ 作者:Hollis 来源:公众号Hollis Java 作 ...

  7. 房上的猫:if选择结构

    一.基本if结构: 1.定义:if选择结构是根据条件判断之后再做处理的一种语法结构! 2.逻辑:首先对条件进行判断  >如果为真,则执行代码块  >如果为假,执行代码块后面的部分二.常用逻 ...

  8. Java语法基础(三)----选择结构的if语句、switch语句

    [前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过 ...

  9. 九天学会Java,第三天,选择结构

    选择结构 变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 上一节介绍了Java的算术运算,如加减乘除 ...

随机推荐

  1. BGP:所有邻居都启动了BGP,则无须建立首尾逻辑邻居,否则就需要首尾建立逻辑邻居。

    配置说明:都通过loopback 口作为bgp 连接口,并且要配置ebgp多跳,同时配置loopback口的静态路由. 以AR2为例: 第一种场景:所有直接相连的邻居都启动了BGP,则路由可以随意扩散 ...

  2. 南京邮电大学java程序设计作业在线编程第八次作业

    程序设计类课程作业平台 王利国 主页 教学资源 我的作业列表 程序设计课 账户 王利国的"Java语言程序设计第8次作业(2018)"详细 主页 我的作业列表 作业结果详细 总分: ...

  3. Linux内存描述之高端内存--Linux内存管理(五)

    1. 内核空间和用户空间 过去,CPU的地址总线只有32位, 32的地址总线无论是从逻辑上还是从物理上都只能描述4G的地址空间(232=4Gbit),在物理上理论上最多拥有4G内存(除了IO地址空间, ...

  4. 【学习】Linux Shell脚本编程

    1.脚本的组成和执行 Linux shell脚本的结构并不复杂,其主要由变量.内部命令以及shell的语法结构和一些函数.其他命令行的程序等组成,以下是一个简单的shell脚本. #!/bin/bas ...

  5. "'cl' 不是内部或外部命令,也不是可运行的程序"解决方案

    最近使用VS2012+Qt5.1+QtCreator2.8.1来搭建Qt的开发环境(之前有用MinGW编译的经历,经常碰到gdb调试器崩溃的问题),全部换成想用VC的编译器和调试环境,但是觉得QtCr ...

  6. DP思想笔记

    一.思想 DP也是把复杂的问题分解为许多子问题,与分治法不同的是,分治法的各个子问题互相之间没有联系,而动态规划却有.前一个子问题的结果与下一步的子问题的结果是什么有关系.这就决定了DP算法肯定有一个 ...

  7. 同步锁Synchronized与Lock的区别?

    synchronized与Lock两者区别: 1:Lock是一个接口,而Synchronized是关键字. 2:Synchronized会自动释放锁,而Lock必须手动释放锁. 3:Lock可以让等待 ...

  8. Ubuntu18.04 安装jdk1.8

    1.oracle官网下载压缩包,点击链接. 2.解压 1 tar -zxvf jdk-8u171-linux-x64.tar.gz 3.移动到制定目录 ##将文件从下载目录 挪到/usr/local下 ...

  9. An Overview of End-to-End Exactly-Once Processing in Apache Flink (with Apache Kafka, too!)

    01 Mar 2018 Piotr Nowojski (@PiotrNowojski) & Mike Winters (@wints) This post is an adaptation o ...

  10. kunbernetes-快速入门

    1.入门概述 本文以在容器云上部署一个nexus3应用为例,通过通过一步步的操作,帮助用户快速的对Kubernetes有一个快速和整体的认识.通过快速入门,可以提供如下知识内容: 在集群中部署一个容器 ...