目录

if语句的三种格式

单分支

简写语法

可能出现的异常

双分支

else if 是多分支件判断·与纯if两者区别

案例一、判断一个正整数的奇偶性

案例二、考试奖励

switch语句三种用法

switch 标准方式

标准demo·数字判断

String类型switch示例·jdk1.7以上才支持·jdk1.7以下需要使用枚举/hashCode

枚举判断

使用【hashCode】

巧用break

default作用

以下为JAVA_14的语法

switch - > 用法:

switch yield 用法:

石头剪刀布 测试代码:


if语句的三种格式

1. if语句
格式:if(判断语句){执行的程序
}2.if...else语句
格式:if(判断语句){执行的程序1
} else{执行程序2
}3.if...elseif...elseif.....语句
格式:if(判断语句1){
执行语句1
}else if(判断语句2){
执行语句2
}else if(判断语句3){
执行语句3
}.............

单分支

public class HelloWorld {public static void main(String[] args) {boolean b = true;//如果成立就打印yesif(b){System.out.println("yes");}}
}

简写语法

public class HelloWorld {public static void main(String[] args) {boolean b = false;//如果有多个表达式,必须用大括弧包括起来if(b){System.out.println("yes1");System.out.println("yes2");System.out.println("yes3");}//否则表达式2 3 无论b是否为true都会执行if(b)System.out.println("yes1");System.out.println("yes2");System.out.println("yes3");//如果只有一个表达式可以不用写括弧,看上去会简约一些if(b){System.out.println("yes1");}if(b)System.out.println("yes1");}
}

可能出现的异常

在第6行,if后面有一个分号; 而分号也是一个完整的表达式
如果b为true,会执行这个分号,然后打印yes
如果b为false,不会执行这个分号,然后打印yes
这样,看上去无论如何都会打印yes

public class HelloWorld {public static void main(String[] args) {boolean b = false;//注意分号位置if (b);System.out.println("yes");}
}

双分支

public class HelloWorld {public static void main(String[] args) {boolean b = false;if (b)System.out.println("yes");elseSystem.out.println("no");}
}

else if 是多分支件判断·与纯if两者区别

public class HelloWorld {public static void main(String[] args) {//如果只使用 if,会执行4次判断int i = 2;if (i==1)System.out.println(1);if (i==2)System.out.println(2);if (i==3)System.out.println(3);if (i==4)System.out.println(4);//如果使用else if, 一旦在18行,判断成立, 20行和22行的判断就不会执行了,节约了运算资源if (i==1)System.out.println(1);else if (i==2)System.out.println(2);else if (i==3)System.out.println(3);else if (i==4)System.out.println(4);     }
}

案例一、判断一个正整数的奇偶性

这里面我加入了一个输入语句:
学过的就当我打的都是废话,要是刚接触java的学生不懂话,你就理解成,如果你要是想在CMD中输入整型变量就把这三行打上就行了。
注意包名:

import java.util.Scanner;

编码: 

import java.util.Scanner;
public class HelloWorld {public static void main (String[] args){System.out.println("输入一个正整数:");Scanner sc = new Scanner(System.in);int number = sc.nextInt();if(number % 2 == 0){System.out.println(number+"是整数");}else {System.out.println(number+"是奇数");}}
}

案例二、考试奖励

小明期末考试,爸爸承诺如果小明考了:
1、100 - 95分奖励小明山地自行车一辆;
2、94 - 90分奖励小明到游乐园玩一天;
3、89 - 80分奖励变形金刚一个;
4、80分一下小明被胖揍一顿;

import java.util.Scanner;
public class HelloWorld {public static void main (String[] args){System.out.println("输入小明的成绩:");Scanner sc = new Scanner(System.in);int number = sc.nextInt();if(number<0 || number >100){System.out.println("输入的成绩是错误的:");}else if(number >=95&&number<=100){System.out.println("小明获得山地自行车一辆");}else if(number >= 90&&number<=94){System.out.println("小明可以到游乐场去玩一次");}else if(number >= 80&&number<=89){System.out.println("小明获得变形金刚一个");}else{System.out.println("胖揍小明一顿");}}
}

嵌套if编码:

package Action;import java.util.Scanner;public class HelloWorld {public static void main(String[] args) {System.out.println("输入小明的成绩:");@SuppressWarnings("resource")Scanner sc = new Scanner(System.in);int number = sc.nextInt();if (number > 0 && number <= 100) {if (number >= 95 && number <= 100) {System.out.println("小明获得山地自行车一辆");} else if (number >= 90 && number <= 94) {System.out.println("小明可以到游乐场去玩一次");} else if (number >= 80 && number <= 89) {System.out.println("小明获得变形金刚一个");} else {System.out.println("胖揍小明一顿");}} else {System.out.println("输入的成绩是错误的;");}}
}

switch语句三种用法

使用switch这个关键词, 我们可以很好的解决if…else 中多重选择的尴尬场面!

switch 标准方式

flag(标示)表示计算结果, 必须是整性, 字符串类型, 或者枚举类型。

switch (flag){undefined​ case 0 : 语句一; break;​ case 1: 语句二; break;​ default: 语句n; break;}

标准demo·数字判断

int flag = 3;
switch (flag){case 0: System.out.println("The number is 0" ); break;case 1: System.out.println("The number is 1" ); break;case 2: System.out.println("The number is 2" ); break;default: System.out.println("no have choose" ); break;
}

这是一个很标准的 switch 的用法, 有break, 还有 default ,在什么情况下跳出, 在什么情况下结束运行, 都很清楚的说明了, 但是朋友们在写这个代码的时候, 有可能会忘记加入break 或者 忘记 加入 default 这样的问题吧。

String类型switch示例·jdk1.7以上才支持·jdk1.7以下需要使用枚举/hashCode

package Action;public class HelloWorld {public  static  void  main(String args[]) {String str =  "C" ;switch  (str) {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( 0 );}}
}

枚举判断

package Action;public class HelloWorld {static  enum  E {A, B, C, D}public  static  void  main(String args[]) {E e = E.B;switch  (e) {case  A:System.out.println( "A" );break ;case  B:System.out.println( "B" );break ;case  C:System.out.println( "C" );break ;case  D:System.out.println( "D" );break ;default :System.out.println( 0 );}}
}

使用【hashCode】

可以看到hashCode与char是相同的,那么进行数字判断或者其它字符串判断都是一样的,支持硬件更换。

package Action;public class HelloWorld {public static void main(String args[]) {String x = "2";System.out.println("hashCode:"+x.hashCode());System.out.println("char:"+(int) '2');int x_int = x.hashCode();switch (x_int) {case 50:System.out.println(2);break;case 51:System.out.println(3);break;default:System.out.println("default");break;}}
}

巧用break

输出2022年指定月份的最大天数·这里可以替换年份

package Action;public class HelloWorld {public  static  void  main(String args[]) {int  year =  2022 ;int  month =  2 ;int  day =  0 ;switch  (month) {case  1 :case  3 :case  5 :case  7 :case  8 :case  10 :case  12 :day =  31 ;break ;case  2 :boolean b=(year%4==0&&year%100!=0)||year%400==0; day =  b?29:28 ;break ;case  4 :case  6 :case  9 :case  11 :day =  30 ;break ;}System.out.println(day);}
}

default作用

default在当前switch找不到匹配的case时执行。default并不是必须的。

package Action;public class HelloWorld {public  static  void  main(String args[]) {int  x =  0 ;switch  (x) {case  1 :System.out.println( 1 );case  2 :System.out.println( 2 );default :System.out.println( "default" );}}
}

以下为JAVA_14的语法

switch - > 用法:

使用 - > 方法更加简单, 就不用使用 break 命令, 保证只有一种路径会被执行!

用法如下:

int flag = 3;
switch (flag){case 0 ->  System.out.println("The number is 0" ); case 1 ->  System.out.println("The number is 1" ); case 2 ->  System.out.println("The number is 2" ); default ->  System.out.println("no have choose" );
}

去掉了 break 和 冒号 取代的使用 箭头 ->

switch yield 用法:

看到 yield 的时候, 我就在想, 这一定要传值回来的函数。 用法 也很简单,

但是需要注意一点, 传值回去, 外部一定要定义个参数 用来接受这个值。

int flag = 2;
String ss;
ss = switch (flag){case 0 ->  "The number is 0" ;case 1 ->  "The number is 1" ;case 2 ->  {String c = "The number is 2";yield c;}default ->  "no have choose";};
System.out.println(ss);

这里来说, switch 作为了 一条语句, 所以末尾要加冒号, 其他用法相同, 下次如果条件很多的话, 就不用使用 if else ,可以考虑使用 switch 中的yield 返回参数方式了!

石头剪刀布 测试代码:

学了switch的这些用法, 我想应该写个程序来试试吧, 所以就写了个石头剪刀布的小游戏

package Action;
import java.util.Scanner;public class HelloWorld {public static void main(String[] args) { ;int inp=0;      //定义输入的数值String sRnd=""; //随机数表示出拳int numWin=0;   //胜场int numLost=0;  //负场while (true) {boolean flag=true;  //立个flag备用int rnd = (int) (1 + Math.random() * 3);System.out.print("请输入【剪刀】、【石头】或【布】,输入【退出】结束游戏:");@SuppressWarnings("resource")Scanner sc = new Scanner(System.in);String sInp = sc.next();switch (sInp) {//输入文字转数字case "剪刀":inp = 1;break;case "石头":inp = 2;break;case "布":inp = 3;break;case "退出":System.out.println("您已退出!\n ");return;default:System.out.println("输入有误! \n");//输入错误时flag为假flag=false;break;}switch (rnd) {//随机数转换成出拳case 1:sRnd = "剪刀";break;case 2:sRnd = "石头";break;case 3:sRnd = "布";break;default:break;}if (flag==false){//前面立的flag为假了,跳过这次循环continue;} else if (inp == rnd) {System.out.println("平局! 电脑也是"+sRnd+" 胜"+numWin+"负"+numLost+"\n");}  else if (inp == 1 && rnd == 3 || inp == 2 && rnd == 1 || inp == 3 && rnd == 2) { //列出所有胜局情况System.out.println("你赢了!电脑是"+sRnd+" 胜"+ ++numWin+"负"+numLost+"\n");} else {System.out.println("电脑胜!电脑是 "+sRnd+" 胜"+numWin+"负"+ ++numLost+"\n");      //其他都是负局情况}}
}}

希望能对大家有所帮助,欢迎一键三连。

【蓝桥杯Java_C组·从零开始卷】第二节、ifswitch(超级详细,适合入门强化学习,理论与实战双保险(2021年12月30日上午9点直播·视频发布B站)相关推荐

  1. 【蓝桥杯Java_C组·从零开始卷】第四节(附)、字符串常用函数

    导读 本文章将java中字符串常用的字符串进行罗列与对应demo的示例,帮助java初学者与蓝桥杯参赛的选手提升对JavaSE的理解. 目录 字符串由来 字符串转成byte数组 常用字符串函数列表: ...

  2. 【蓝桥杯Java_C组·从零开始卷】第四节、一维数组与二维数组

    整篇文章为对java数组的完整理解以及部分排序,并有一些简单的demo,经典的案例与蓝桥杯的一些经典数组题有专门的文章梳理. 目录 数组概述 什么是数组 数组的结构 数组的特点: 数组分类 一维数组声 ...

  3. 【蓝桥杯Java_C组·从零开始卷】第二节(附)、if与switch效率比较(千万次/一亿次)

    前言: 分支数 小于三时,else if 效率更高 等于三时,效率近乎相同 大于三时,switch case效率更高 if与switch小于三次对比: package Action;public cl ...

  4. 【蓝桥杯Java_C组·从零开始卷】第一节、环境与变量类型运算符与类型分析

    B站高清回放地址: [https://www.bilibili.com/video/BV1Bm4y1Q7Wt?spm_id_from=333.999.0.0] 目录 一.Java环境搭建与使用(Ecl ...

  5. 【蓝桥杯Java_C组·从零开始卷】第七节、递归

    目录 递归概述 递归: 循环: 疑问: 是什么递归? 递归的精髓(思想)是什么? 递归的三要素 1). 明确递归终止条件 2). 给出递归终止时的处理办法 3). 提取重复的逻辑,缩小问题规模* 递归 ...

  6. 【蓝桥杯Java_C组·从零开始卷】第五节(二)、BigDecimal的使用

    不限制长度的浮点数计算[BigDecimal] 目录 BigDecimal四则运算与取模运算 RoundingMode枚举介绍 RoundingMode舍入模式 UP CEILING FLOOR HA ...

  7. 【蓝桥杯Java_C组·从零开始卷】第六节(二)、蓝桥杯常用数学公式

    目录 1.欧几里得定理 2.最大公约数 3.最小公倍数 4.海伦公式(求三角形面积) 5.排序公式 1.欧几里得定理 package Action;public class demo {/** 求最大 ...

  8. 【蓝桥杯Java_C组·从零开始卷】第六节(一)、Java常用数学函数

    目录 1.Math.sqrt() : 计算平方根 2.Math.cbrt() : 计算立方根 3.Math.pow(a, b) : 计算a的b次方 4.Math.max( , ) :计算最大值 5.M ...

  9. 【蓝桥杯Java_C组·从零开始卷】第五节(一)、BigInteger的使用

    不限制计算长度的整数运算[BigInteger] 目录 BigInteger四则运算 累加值:(从1++++到无限大) 测试数据: 结果: BigInteger取模运算 外星日历 BigInteger ...

最新文章

  1. Unity 2D游戏开发快速入门(内部资料)
  2. 步步为营-20-XML
  3. 球球大作战体验服找不到团战服务器6,球球大作战常见问题汇总 新版本问题解决方法...
  4. 从代码里提取的测试需求
  5. C++函数名的修饰规则
  6. 36 MM配置-采购-采购订单-采购订单审批-编辑特性
  7. php -q poller.php --force,php – 为什么Cacti一直在等待死的轮询进程?
  8. 在js的函数中用jquery的trim()方法去掉search前后的空格
  9. 帝国cms清除html标签,帝国CMS如何删除清空旧数据让栏目文章ID从1开始起(一)...
  10. HCL之SSH的配置与应用
  11. 黑马程序员Python教程的代码--植物大战僵尸游戏代码
  12. Swift 雷达动画
  13. PySwitch - Python 环境快速切换
  14. [网络安全自学篇] 十九.Powershell基础入门及常见用法(一)
  15. 使用 AndroidSocketClient 库建立 SSL 安全链接
  16. 大地测量——计算七参数(编程作业)
  17. AngularJs 在ng-repeat中动态使用ng-model进行双向数据绑定(二)
  18. 统俗讲义之——何为统计显著性(Statistical Significance)
  19. 怎么找回xmind意外关机的文件_Xmind 导图保存丢失怎么找回?
  20. c++ string转char*

热门文章

  1. 机器学习:SVM的最朴素代码实现,第一个变量遍历样本获得,第二个变量随机选择
  2. 图形结构:克隆图,图的遍历的应用,递归和迭代
  3. 限界分支法(队列方式)追踪解:01背包问题
  4. 第十三节、SURF特征提取算法
  5. MySQL的基本语法
  6. IdentityServer4(7)- 使用客户端认证控制API访问(客户端授权模式)
  7. hue安装及基本测试-笔记
  8. UVA 10603 - Fill(dijkstra + 状态图)
  9. 20150309+Linux+LAMP安装-02
  10. 不错html5画布效果,可惜网站不需要。亲们,可以看一下~