if流程控制语句:

if 语句的用语法如下:

if(boolean表达式){
//如果条件为true那么执行
}

只有条件为true时才会执行,否则执行if语句后面的代码。

实例代码:

public class Mian {

    public static void main(String[] args) {
// TODO Auto-generated method stub
if (false) {
// 条件成立执行
System.out.print("我成功了");
}
} }

控制台打印我成功了

if...else语句

if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。

if…else 的用法如下:

if(false){
//条件true执行
}else{
//当条件为false则执行
}

实例代码:

public class Mian {

    public static void main(String[] args) {
// TODO Auto-generated method stub
if (false) {
// 条件成立执行
System.out.print("我成功了");
}else {
    
// 条件不成立执行
System.out.println("我失败了");
}
} }

if...else if...else 语句

if 语句后面可以跟 elseif…else 语句,这种语句可以检测到多种可能的情况。

使用 if,else if,else 语句的时候,需要注意下面几点:

  • if 语句至多有 1 个 else 语句,else 语句在所有的 elseif 语句之后。
  • if 语句可以有若干个 elseif 语句,它们必须在 else 语句之前。
  • 一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行

if...else if语法格式如下:

if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}

实例代码:

public class Test {
public static void main(String args[]){
int x = 30; if( x == 10 ){
System.out.print("x等于10");
}else if( x == 20 ){
System.out.print("x等于20");
}else if( x == 30 ){
System.out.print("x等于30");
}else{
System.out.print("这是 else 语句");
}
}
}

控制台打印:x等于30

嵌套的 if…else 语句

使用嵌套的 if…else 语句是合法的。也就是说你可以在另一个 if 或者 elseif 语句中使用 if 或者 elseif 语句。

语法

嵌套的 if…else 语法格式如下:

if(布尔表达式 1){
////如果布尔表达式 1的值为true执行代码
if(布尔表达式 2){
////如果布尔表达式 2的值为true执行代码
}
}

实例代码:

public class Mian {

    public static void main(String[] args) {
// TODO Auto-generated method stub
int a=3;
int b=4;
if (a==3) {
if (4==4) {
System.out.println("a等于3,b等于4");
}
}
} }

接下来介绍一下switch语句:

switch语法:

switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}

switch case 语句有如下规则:

  • switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。

  • switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。

  • case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。

  • 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。

  • 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。

  • switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。

switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。

实例代码:

public class Mian {

    public static void main(String[] args) {
// TODO Auto-generated method stub
char grade='A';
switch (grade) {
case 'A':
System.out.println("成绩为A");
break;
case 'B':
System.out.println("成绩为B");
break;
case 'c':
System.out.println("成绩为C");
break;
default:
System.out.println("不知道什么成绩");
break;
}
} }

控制台打印:成绩为A

如果 case 语句块中没有 break 语句时,JVM 并不会顺序输出每一个 case 对应的返回值,而是继续匹配,匹配不成功则返回默认 case

public class Mian {

    public static void main(String[] args) {
// TODO Auto-generated method stub
char grade='D';
switch (grade) {
case 'A':
System.out.println("成绩为A"); case 'B':
System.out.println("成绩为B"); case 'c':
System.out.println("成绩为C"); default:
System.out.println("不知道什么成绩");
//如果匹配不到则执行默认代码
break;
}
} }

控制台打印:不知道什么成绩

如果 case 语句块中没有 break 语句时,匹配成功后,从当前 case 开始,后续所有 case 的值都会输出

public class Mian {

    public static void main(String[] args) {
// TODO Auto-generated method stub
char grade='A';
switch (grade) {
case 'A':
System.out.println("成绩为A");
case 'B':
System.out.println("成绩为B");
case 'c':
System.out.println("成绩为C");
default:
System.out.println("不知道什么成绩");
}
} }

控制台打印:

成绩为A

成绩为B

成绩为C

不知道什么成绩

如果当前匹配成功的 case 语句块没有 break 语句,则从当前 case 开始,后续所有 case 的值都会输出,如果后续的 case 语句块有 break 语句则会跳出判断。

public class Mian {

    public static void main(String[] args) {
// TODO Auto-generated method stub
char grade='A';
switch (grade) {
case 'A':
System.out.println("成绩为A");
case 'B':
System.out.println("成绩为B");
break;
//这里会跳出switch语句
case 'c':
System.out.println("成绩为C");
default:
System.out.println("不知道什么成绩");
}
} }

控制台打印:

成绩为A

成绩为B

再来介绍一下Scanner(扫描仪)

Scanner类主要是接收控制台里输入的数据

Scanner语法:

Scanner in=new Scanner(System.in);

Scanner使用的三步走:

  1. 创建扫描仪并导入包import java.util.Scanner;

    Scanner in=new Scanner(System.in);
  2. 使用扫描仪
    String name=in.next();
  3. 关闭扫描仪
    in.close();

Scanner支持哪些数据输入呢:

  1. byte 对应的是nextByte();
  2. short对应的是nextShort();
  3. int 对应的是nextInte();
  4. long对应的是nextLong();
  5. double对应的是nextDouble();
  6. float对应的是nextFloar();
  7. String对应的是next();
  8. char没有

接下来我们演示一个最简单的数据输入,并通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用 hasNext 与 hasNextLine 判断是否还有输入的数据:

next:

import java.util.Scanner;

public class Mian {

    public static void main(String[] args) {
// TODO Auto-generated method stub Scanner in=new Scanner(System.in);
if (in.hasNext()) {
//判断是否有数据输入
String str1=in.next();
System.out.println(str1);
}
in.close();
} }

在控制台输入了:开始 空格 准备好了吗

控制台打印:开始

nextLine:

import java.util.Scanner;

public class Mian {

    public static void main(String[] args) {
// TODO Auto-generated method stub Scanner in=new Scanner(System.in);
if (in.hasNextLine()) {
//判断是否有数据输入
String str1=in.nextLine();
System.out.println(str1);
}
in.close();
} }

在控制台输入了:开始了空格  准备好了吗?

控制台打印:开始了空格 准备好了吗

next()与nextLine()对比:

next():

  • 1、一定要读取到有效字符后才可以结束输入。
  • 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
  • 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  • next() 不能得到带有空格的字符串。

nextLine():

  • 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
  • 2、可以获得空白。

if语句&switch&Scanner的更多相关文章

  1. Java ——if条件语句 switch语句

    本节重点思维导图  if条件语句 //如果条件表达式成立,执行语句块 if(条件表达式){ //…语句块 } 如果语句块只有一条语句,大括号可以省略,否则不能省略. 建议,不管有几条语句,都不要省略大 ...

  2. go语言选择语句 switch case

    根据传入条件的不同,选择语句会执行不同的语句.下面的例子根据传入的整型变量i的不同而打印不同的内容: switch i { case 0: fmt.Printf("0") case ...

  3. 分支语句switch case

    Switch case必须与break一起使用 Break 是跳转语句.与switch case连用的时候是跳出最近的{}. static void Main(string[]args ) { //s ...

  4. goto语句 switch语句

    goto语句 #include <iostream> using namespace std; int main() { int i = 1; number: i++; std::cout ...

  5. 选择语句----switch case

    今天学习了选择语句的 switch case是多选一的情况可以使用. 案例: //分别输入月份 几号 输出是今年的多少天 //每年的1,3,5,7,8,10,12月是31天 //今年的2月是28天 其 ...

  6. 【C语言】-条件语句-switch语句

    switch语句: 用于直接处理不同情况下的多路问题. switch语句又可称为开关语句,其执行流程和多分支if语句类似. switch (表达式) { case 常量表达式1:语句组1;break; ...

  7. Java条件语句 switch case

    不得不说的几点小秘密: 1. switch 后面小括号中表达式的值必须是整型或字符型 2. case 后面的值可以是常量数值,如 1.2:也可以是一个常量表达式,如 2+2 :但不能是变量或带有变量的 ...

  8. 选择语句--switch

    switch语句 格式: 执行流程 首先计算出表达式的值 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束. 最后,如果所有的case都和表达式的值 ...

  9. 分支语句(switch case)

    /switch case 的应用 Console.WriteLine("1.汉堡包"); Console.WriteLine("2.薯条"); Console. ...

随机推荐

  1. P1991 无线通讯网 最小生成树

    题目描述 国防部计划用无线网络连接若干个边防哨所.2 种不同的通讯技术用来搭建无线网络: 每个边防哨所都要配备无线电收发器:有一些哨所还可以增配卫星电话. 任意两个配备了一条卫星电话线路的哨所(两边都 ...

  2. git更新Activemq在远程github上指定版本的源码步骤

    第一步:根据地址克隆源码 (activemq-5.9) $  git  clone   https://github.com/apache/activemq.git 第二步:查看远程源码的版本清单 ( ...

  3. C. Queen Codeforces Round #549 (Div. 2) (搜索)

    ---恢复内容开始--- You are given a rooted tree with vertices numerated from 11 to nn . A tree is a connect ...

  4. 【ABP】工作单元——不进行事物独立执行功能

    1.注入 private readonly IUnitOfWorkManager unitOfWorkManager; 2.构造 3.开启新事物 using (var unitOfWork = uni ...

  5. 识别拖动与点击操作之zepto的bug

    问题描述:给页面<a>标签绑定了tap事件,在移动设备上点击按钮貌似一切正常,可以响应.但是,把页面上下滑动几次之后,或者在滑动时手指滑动出移动屏幕之外,之后再点击按钮,就会发现第一次点击 ...

  6. Python: 你不知道的 super

    https://segmentfault.com/a/1190000007426467 Python: 你不知道的 super 在类的继承中,如果重定义某个方法,该方法会覆盖父类的同名方法,但有时,我 ...

  7. mac charles抓安卓(小米)http包

    网上有很多的教程说明如何操作,都写的很好,比如 https://blog.csdn.net/luochoudan/article/details/72801573,我在这里补充一点,非常重要的一点:手 ...

  8. 《javascript设计模式与开发实践》--- (单一职责原则)

    看的这本书叫<JavaScript设计模式与开发实践> 先规划一下看书的顺序,基础知识我已经大概的浏览了一遍了,没有留下笔记,以后有时间还会补上.本来打算顺着看的.但是我感觉我很难短时间内 ...

  9. Python 面试中可能会被问到的30个问题

    第一家公司问的题目 1 简述解释型和编译型编程语言? 解释型语言编写的程序不需要编译,在执行的时候,专门有一个解释器能够将VB语言翻译成机器语言,每个语句都是执行的时候才翻译.这样解释型语言每执行一次 ...

  10. HC32F003与STM8S003资源对比,只是对比,大家评论~!

    枯藤老树昏鸦小桥流水人家                                                古道西风瘦马夕阳西下断肠人在天涯  18年悄然过去!19年向我们走来,蓦然回首过 ...