补充: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. 如何程序化的构造Hibernate配置 // How to initialize Hibernate programmably

    Java为什么被人诟病,因为一切都是过度设计.Hibernate其实就是实现了一套JPA的ORM,不过用极度冗赘的配置方式,nodejs Sequelize.js,甚至Python SQLAlchem ...

  2. asp.net core webApi 参数保护

    asp.net core webApi 参数保护 Intro asp.net core data protection 扩展,基于 IDataProtector 扩展的数据保护组件,自动化的实现某些参 ...

  3. web.xml设置过滤直接访问

    <security-constraint> <web-resource-collection> <web-resource-name>JSPs</web-re ...

  4. Linux学习历程——Centos 7 mkdir命令

    一.命令介绍 mkdir 命令用于创建空白目录格式为“mkdir [选项] 目录”, 除了能够创建单个空白目录,还能结合 -p 参数来递归创建具有嵌套层叠关系的文件目录. -------------- ...

  5. Lua中string.format占位符的使用

    虽然lua中字符串拼接"string.format"相对于".."消耗较大,但有时为了代码的可读性,项目中还是经常用到"string.format&q ...

  6. SQLServer之FOREIGN KEY约束

    FOREIGN KEY约束添加规则 1.外键约束并不仅仅可以与另一表的主键约束相链接,它还可以定义为引用另一个表中 UNIQUE 约束的列. 2.如果在 FOREIGN KEY 约束的列中输入非 NU ...

  7. Linux 进入 5.0 时代!

    Linux 进入 5.0 时代! 为什么 Linux 4.2 之后的版本不再是 4.21 而是 5.0? 如果你非要一个理由,那就是因为 Linux 4.x 的版本如今用手指与脚趾加在一起都要数不过来 ...

  8. [LeetCode]2. 两数相加

    题目链接:https://leetcode-cn.com/problems/add-two-numbers/ 题目描述: 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 ...

  9. MySQL内部执行流程

    本文参照自:https://www.cnblogs.com/xiaotengyi/articles/3641983.html mysql处理java传过来的SQL具体步骤: 1.java通过JDBC获 ...

  10. line-height和height

    1. 行高(line-height).行距.font-size分别是什么. 行高(line-height)是指文本行基线间的垂直距离. 基线(base line)并不是汉字文字的下端沿,而是英文字母“ ...