Java基础语法(八)与条件控制语句再续前缘之switch语句

Java基础语法(八)与条件控制语句再续前缘之switch语句

在这里插入图片描述

前言

上篇我们讲了Java中的条件控制语句,这篇呢,讲述switch语句的用法

我感觉啊,这个和多支条件控制语句是差不多的

小练习

先回顾一下题目:

判断一个数(由自己定义)是否是质数

什么是质数:只能被1和他本身整除的数就是质数。 例如:2、3、5、7、11、13…

想必对大家来说这个是很简单的吧!

import java.util.Scanner;
public class Test {
   
    public static void main(String[] args) {
   
        boolean isPrime = true;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个正整数");
        int num = sc.nextInt();
        if (num > 0) {
   
            int k = (int) Math.sqrt(num);//k为num的正平方根,取整数 
            // 考虑平方根是为了减少重复量,开平方后面的数不处理
            /* 素数是因子为1和本身, 如果数c不是素数,则还有其他因子,其中的因子 假如为a,b.其中必有一个大于sqrt(c) , 一个小于sqrt(c) 所以m必有一个小于或等于其平方根的因数,那么验证素数时就只需要验证到其平方根就可以了 */
            for (int i = 2; i <= k; i++) {
   
                if (num % i == 0) {
   
                    isPrime = false; //不是素数
                    break;
                }
            }
        }
        if (isPrime) {
   
            System.out.println(num + "是素数");
        } else {
   
            System.out.println(num + "不是素数");
        }
    }
}

就不多做赘述了

switch语句的格式

学习语法嘛,要先看怎么用的,也就是,格式

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

嚯,这一看,不得了:这是什么玩意啊?

不慌,我们先看看怎么用的,就用猜拳游戏当例子吧

import java.util.Random;
//导入Random包,用于取随机数
import java.util.Scanner;
//导入Scanner包,用于从键盘获取数据
public class 猜拳 {
   
    public static void main(String[] args) {
   
        Scanner sc = new Scanner(System.in);  //只有sc是自定义的,别的地方都是固定语法
        Random ra = new Random();  //固定语法
        System.out.println("请输入你猜拳的数!规则如下:");
        System.out.println("0——————石头");
        System.out.println("1——————剪刀");
        System.out.println("2——————布");
        int a = sc.nextInt();  //用a从键盘接受一个整形类型的数据
        int pc = ra.nextInt(2);  //用pc变量接受一个从0 1 2 中随机取的数
        String guiZe = null;  //初始化变量
        String pc1 = null;   //初始化变量
        switch (a){
   
            case 0: guiZe = "石头";
                break;
            case 1: guiZe = "剪刀";
                break;
            case 2: guiZe = "布";
                break;
        }
        switch (pc){
   
            case 0: pc1 = "石头";
                break;
            case 1: pc1 = "剪刀";
                break;
            case 2: pc1 = "布";
                break;
        }
        if (pc == a){
   
            System.out.println("平局!");
            System.out.println("你出的是:"+guiZe);
            System.out.println("电脑出的是:"+pc1);
        }else if (pc >= a){
   
            System.out.println("你输了!");
            System.out.println("你出的是:"+guiZe);
            System.out.println("电脑出的是:"+pc1);
        }else {
   
            System.out.println("你赢了!");
            System.out.println("你出的是:"+guiZe);
            System.out.println("电脑出的是:"+pc1);
        }
    }
}

好,以上就是代码了,一眼看过去不会还是这样的感觉吧?(woc,这是什么鬼?)这都学到这里了,是时候该自己看代码了。——无良作者,什么时候学过Scanner和Random的,明明没有,掀桌 凸(艹皿艹 )

话外语

Random包,用于取随机数

Random ra = new Random();
ra.nextInt(2);

Scanner包,用于从键盘获取数据
用法:

Scanner sc = new Scanner(System.in);
sc.next类型();类型首字母必须大写

与switch语句再续前缘

好,话外语已经说完了,继续我们的switch,既然代码那么长,就是看switch的部分吧

switch (a){
   
    case 0: guiZe = "石头";
        break;
    case 1: guiZe = "剪刀";
        break;
    case 2: guiZe = "布";
        break;
    default: guiZe = "不符合规则";
}
switch (pc){
   
    case 0: pc1 = "石头";
        break;
    case 1: pc1 = "剪刀";
        break;
    case 2: pc1 = "布";
        break;
}

这个看着蛮复杂的,其实也算是个条件控制语句,我们先看第一个,其实只看第一个也就行了,开整,冲
如果a的值和case后面的值相等了,那么就执行冒号后面的代码,而如果没有相等的,就执行default后面的代码。好,我觉得我说的很详细了,就不多说了!
我觉得在这里插入图片描述

多一嘴

好吧,还是有必要多说几句的
表达式的值可以是:byte、short、int 、char、String,且case标签必须是字符串常量或字面量
好了,这次是真的没了!

结语

啊,美好的一天总是短小而又精悍的~

彩蛋

本来是不想说的,但是看很多人都没发现,还是说一下,文中的猜拳小游戏有些逻辑上的错误哦,由于懒(确实是懒,不是理由哈哈),错误是什么我就不说了,自己找吧,就当锻炼一下自己,当程序员,找错是必不可少的技能,冲冲冲

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100267.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用 Groovy 模板进行 MVC 编程

    使用 Groovy 模板进行 MVC 编程 视图是MVC编程的一个重要部分,而MVC编程本身又是企业应用程序开发的一个重要组件。在这篇实战Groovy的文章中,AndrewGlover向您介绍了Groovy的模板引擎框架是如何用来简化视图编程的,并如何使您的代码更加经久容易维护。 在最近的实战Groovy系列中,我们已经介绍过Groovy是构建报表统计程序的一个非常好的工具。我们使用了一个校验

    2022年6月5日
    55
  • 常见的路由协议「建议收藏」

    常见的路由协议「建议收藏」常见的路由协议可以分为两种类型一、内部网关协议内部网关协议(IGP:InteriorGatewayProtocol),适用于单个ISP的统一路由协议的运行,一般由一个ISP运营的网络位于一个AS(自治系统)内,有统一的ASnumber(自治系统号),用来处理内部路由。RIP、IGRP(Cisco私有协议)、EIGRP(Cisco私有协议)、OSPF、IS-IS等都是内部网关协议。1、…

    2025年8月20日
    3
  • php对接亿乐社区,亿乐社区对接教程

    php对接亿乐社区,亿乐社区对接教程###:-:**亿乐社区**###1、打开网站网站:[http://www.124sq.cn/](http://www.124sq.cn/)有账号的直接登录,没有账号的注册一个###2、选择商品ID在左侧目录栏选一个,这里选择的是`刷名片赞专区`,然后选择一个商品点开![](https://img.kancloud.cn/b3/9f/b39f76546ed13c86ab2153247bc…

    2022年8月13日
    4
  • shell编程菜鸟教程_java并发编程实战 pdf

    shell编程菜鸟教程_java并发编程实战 pdfShell编程详解   Shell简介 概述Shell是一种具备特殊功能的程序,它提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令,并把它送入内核去执行。内核是Linux系统的心脏,从开机自检就驻留在计算机的内存中,直到计算机关闭为止,而用户的应用程序存储在计算机的硬盘上,仅当需要时才被调入内存。Shell是一种应用程序,当用户登录Linux系统时,Shel

    2022年8月18日
    8
  • Apache Struts2打开重定向/命令执行 CVE-2013-2251「建议收藏」

    Apache Struts2打开重定向/命令执行 CVE-2013-2251「建议收藏」昨日,著名JavaWeb框架Struts官方再发高危安全漏洞补丁升级(最新版本为:2.3.15.1),升级修补了多个安全漏洞,其中包括一个远程任意代码的高危安全漏洞,这些漏洞可以影响到Struts2.0.0-Struts2.3.15的所有版本。攻击者可以利用该漏洞,执行恶意Java代码,最终导致网站数据被窃取、网页被篡改等严重后果。基于Struts2使用广泛,目前很多网站还没有升级,另外

    2022年7月13日
    17
  • k means聚类算法实例数据_Kmeans聚类算法详解

    k means聚类算法实例数据_Kmeans聚类算法详解k-means算法又称k均值,顾名思义就是通过多次求均值而实现的聚类算法。是一种无监督的机器学习方法,即无需知道所要搜寻的目标,而是直接通过算法来得到数据的共同特征。其具体算法思想如下图所示:1、首先在图中随机选取3个点2、然后把距离这三个点最近的其他点归为一类3、取当前类的所有点的均值,作为中心点4、更新距离中心点最近的点5、再次计算被分类点的均值作…

    2025年7月25日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号