运维开发网

Java switch的三种使用方法

运维开发网 https://www.qedev.com 2022-05-05 16:37 出处:网络
这篇文章主要介绍了Java中switch的三种用法方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

这篇文章主要介绍了Java中switch的三种用法方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Java开关的三种用法的详细说明:

其实有三种切换方式?作为一个java新手,这真的让我很惊讶!

根据版本,从java14开始,switch语句有了很大的调整,使得switch语句有了更多的操作和选择。在代码方面,更加简单灵活。让我们试试这个神奇的开关吧!

利用关键字开关,可以解决if…else中多选的尴尬局面!

Java开关的三种用法的详细说明:

switch 标准方式 switch - gt; 用法: switch yield 用法:

切换标准模式

标志表示计算结果,必须是整数、字符串类型或枚举类型。

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

举个例子:

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("you are right" ); break;}

这是switch的一个非常标准的用法。有破发和违约。什么情况下跳出来,什么情况下结束,解释的很清楚。但是,朋友写这段代码的时候,可能会忘记加break或者default。

解决方法:

如果您使用的是IDEA编译器,您可以添加语法提示。一般默认是开启的。如果没有打开,步骤如下:

点击: setting - Editor - Inspections - Java - Control flow 把所有的勾选上去就完事了

如果您使用的是eclipse编译器,步骤如下:

Preferences-Java-Compiler-Errors/Warnings-Potential programming problems 直接使用switch的第二种用法

switch-gt;用法:

使用-gt;方法更简单,所以不需要使用break命令来确保只执行一条路径!

用法如下:

int flag = 3;switch (flag){ case 0 -gt; System.out.println("The number is 0" ); case 1 -gt; System.out.println("The number is 1" ); case 2 -gt; System.out.println("The number is 2" ); default -gt; System.out.println("you are right" ); }

用arrow -gt代替break和冒号;

不够?还有一个办法。用于接受参数。

开关产量的使用:

当我看到yield时,我在想,这一定是一个返回值的函数。用法也很简单,

但是,应该注意,当一个值被传回时,必须定义一个外部参数来接受这个值。

int flag = 2;String ss;ss = switch (flag){ case 0 -gt; "The number is 0" ; case 1 -gt; "The number is 1" ; case 2 -gt; { String c = "The number is 2"; yield c; } default -gt; "you are right" ; };System.out.println(ss);

这里,switch被用作一个语句,所以应该在末尾添加一个冒号。其他用法相同。下一次,如果条件很多,就不需要用if else了。可以考虑使用switch中的yield return参数法!

剪刀和纸测试代码:

学完switch的这些用法,我觉得应该写个程序试试,于是就写了个石头剪子布的小游戏。


结果真的很惨、、、、

代码如下:可以学习参考。

import java.util.HashMap;import java.util.Random;import java.util.Scanner;public class test { private HashMaplt;Integer, Stringgt; game = new HashMaplt;Integer, Stringgt;(); public test() { game.put(1, "石头"); game.put(2, "剪刀"); game.put(3, "步"); } public void randomGame() { Scanner in = new Scanner(System.in); System.out.println("这是一个石头剪刀布的游戏\n" + "我们学着使用 switch 语法 来完成这个小游戏程序! \n" + "Let me start!"); int num = 3; boolean flag = true; int win = 0; while (flag) { System.out.print("机器人已经准备好:\n请输入你的操作 如:石头\n输入:"); String myHand = in.next(); String robot = getRobot(); String s = "你的出招为 " + myHand + " 机器人的出招为 " + robot; // 先判断相同情况下 if (robot.equals(myHand)) { System.out.println(s+ "平局!"); } // 判断不同情况下 else if ( myHand.equals("剪刀")) { switch (robot){ case "石头" -gt; System.out.println(s + " you lose"); case "布" -gt; { System.out.println(s + " you win"); win += 1; } } }else if (myHand.equals("石头")){ switch (robot) { case "剪刀" -gt; System.out.println(s + " you lose"); case "布" -gt; { System.out.println(s + " you win"); win += 1; } } }else if (myHand.equals("布")){ switch (robot) { case "剪刀" -gt; System.out.println(s + " you lose"); case "石头" -gt; { System.out.println(s + " you win"); win += 1; } } }else { System.out.println("你输入的" + myHand + "是错误的"); } num-=1; if (num == 0){flag = false;} System.out.println("你还有" + num + "次机会."); } System.out.println("三局比赛中, 你一共获胜次数为 " + win); } public String getRobot() { // 得到机器人的出招 int count = (int) (Math.random() * 10 / 3); if (count gt; 0){ return game.get(count); }else { return game.get(count + 1); } } public static void main(String[] args) { test me = new test(); me.randomGame(); }} return game.get(count); }else { return game.get(count + 1); }}public static void main(String[] args) { test me = new test(); me.randomGame();}}

关于switch在Java中的三种用法,本文就讲到这里。关于Java switch的更多信息,请搜索源搜网之前的文章或者继续浏览下面的相关文章。希望大家以后能多支持

0

精彩评论

暂无评论...
验证码 换一张
取 消