java开发入门学习五-流程控制
流程控制语句
if, if...else, if..else if..else
与前端相同 略
switch case
与前端不同的是case不能使用表达式,使用表达式会报错
class TestSwitch {public static void main(String[] args) {// switch 表达式只能是特定的数据类型: byte short char int 枚举(JDK5.0新增) String(JDK8.0新增)// case 后跟的场景,使用表达式与这些常量做相等的判断,不行// break 与前端相同,break不写会执行所有语句int number = 10;switch(number) {case 10: System.out.println("10");break;default: System.out.println("default");break;}char c1 = '你';switch(c1) {case '你': System.out.println("你");break;case '我': System.out.println("我");break;default: System.out.println("default");break;}switch(number) {case number > 10: // 错误System.out.println("大于10");break;default: System.out.println("default");break;}}
}

if和switch的对比
if: 条件是一个布尔类型的值,if表达式可以用于范围判断,也可以用于等值判断,范围更广
switch语句条件是一个常量,使用范围更狭窄,但switch更具有穿透性
for,while, do while
与前端的语法都是一致的,break跳出当个for循环;continue跳出当次循环
class TestFor {public static void main(String[] args) {int sum = 0, count = 0;for(int i = 1; i <= 100; i++) {if(i % 2 == 0) {sum += i;count += 1;}}System.out.println("输入出"+ count + "输出" + sum);}
}
相关测试案例
键盘输入功能case
// 引入包
import java.util.Scanner;
public class TestCase {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入姓名:");String name = scanner.next();System.out.println("请输入性别:男\\女");// 获取字符串第一个字段String gender = scanner.next();System.out.println("请输入年龄");// 获取字符串第一个字段int age = scanner.nextInt();System.out.println("请输入体重:");double weight = scanner.nextDouble();System.out.println("请输入是否单身:单身true;不单身 false");boolean isSingle = scanner.nextBoolean();// == 用于比较两个变量是否引用同一个对象(内存存储地址)if(gender == "男") {System.out.println("男");}// 比较字符串值是否相等if(gender.equals("男")) {System.out.println("男1");}}
}
随机数
class RandomNum {public static void main(String[] args) {// 会返回[0.0,1.0)范围的double类型的随机数double d1 = Math.random();// 获取[0, 100]范围的随机整数int i1 = (int)(Math.random() * 101); // [0, 100)// 获取一个[1,100]范围的随机整数int i2 = ((int)(Math.random() * 100)) + 1; // [0, 100)// 获取一个[a,b] 范围的随机整数// (int)(Math.random() * (b-a+1)) + a}
}
输出*

class TestFor1 {public static void main(String[] args) {int maxStar = 5;for(int i = 1; i <= 3; i++) {String str = "";// *的个数int num = (i * 2) - 1;// 空格数int space = (maxStar - num) / 2;for(int j = 1; j <= maxStar; j++) {if(j <= space || j > space + num) {str += "-";}if(j > space && j <= space + num) {str += "*";}}System.out.println(str);}}
}
输出99乘法表

class Testfor2 {public static void main(String[] args) {for(int i = 1; i <= 9; i++) {String expression = "";for(int j = 1; j <= i; j++) {expression += i + "*" + j + "=" + (i * j) + "\t";}System.out.println(expression);}}
}
找出100内所有质数
class Testfor3 {public static void main(String[] args) {int count = 0;for(int i = 2; i <= 100; i++) {boolean isNum = false;for(int j = 2; j < i; j++) {if(i%j == 0) {isNum = true;break;}}if(!isNum) {count += 1;System.out.println(i);}}System.out.println("总数:" + count);}
}
优化算法
class Testfor4 {public static void main(String[] args) {int count = 0;for(int i = 2; i <= 100; i++) {boolean isNum = false;// 小于i的平方根内计算,优化算法for (int i = 2; i <= Math.sqrt(i); i++) {if (i % j == 0) {isNum = true;}}if(!isNum) {count += 1;System.out.println(i);}}System.out.println("总数:" + count);}
}
记账本
通过键盘输入输出,写一个简单的记账本
public class AccountSoft {public static void main(String[] args) {boolean isFlag = true;int initMoney = 1000;String info = "";while(isFlag) {System.out.println("----记账软件----");System.out.println("1 收支明细");System.out.println("2 登记收入");System.out.println("3 登记支出");System.out.println("4 退出");System.out.println("请选择(1-4):");char select = Utility.readMenuSelection();switch(select) {case '1':System.out.println("----收支明细---");System.out.println("余额\t收支\t收支说明");System.out.println(info);break;case '2':System.out.println("----登记收入----");int money1 = Utility.readNumber();if(money1 > 0){initMoney += money1;}System.out.println("请输入说明");String addDesc = Utility.readString();info += initMoney + "\t" + money1 + "\t" + addDesc + "\n";break;case '3':System.out.println("----登记支出----");int money2 = Utility.readNumber();if(money2 > 0 && initMoney >= money2){initMoney -= money2;}System.out.println("请输入说明");String minusDesc = Utility.readString();info += initMoney + "\t" + money2 + "\t" + minusDesc + "\n";break;default: System.out.println("请确认是否退出(Y/N)");char isExit = Utility.readConfirmSelection();if(isExit == 'Y') {isFlag = false;}break;}}}
}
Utility
import java.util.Scanner;public class Utility {public static Scanner scanner = new Scanner(System.in);// char为返回格式public static char readMenuSelection() {char c;for(;;) {String str = readKeyBoard(1);c = str.charAt(0);if(c != '1' && c != '2' && c!='3' && c != '4') {System.out.print("选择错误请重新输入:");}else {break;}}return c;}public static int readNumber() {int n;for (; ; ) {String str = readKeyBoard(4);try {n = Integer.parseInt(str);break;} catch (NumberFormatException e) {System.out.print("请输入数值");}}return n;}public static char readConfirmSelection() {char c;for (; ; ) {String str = readKeyBoard(1).toUpperCase();c = str.charAt(0);if (c == 'Y' || c == 'N') {break;} else {System.out.print("请输入正确选项");}}return c;}public static String readString() {String str = readKeyBoard(8);return str;}public static String readKeyBoard(int limit) {String line = "";while(scanner.hasNext()) {line = scanner.nextLine();if(line.length() < 1 || line.length () > limit) {System.out.print("输出超过限制");continue;}break;}return line;}}
相关文章:
java开发入门学习五-流程控制
流程控制语句 if, if...else, if..else if..else 与前端相同 略 switch case 与前端不同的是case不能使用表达式,使用表达式会报错 class TestSwitch {public static void main(String[] args) {// switch 表达式只能是特定的数据类型…...
【FFmpeg 教程 一】截图
本章使用 ffmpeg 实现观影中经常会用到的功能,截图。 以下给出两种方式。 课程需具备的基础能力:Python 1. 使用 subprocess 调用 FFmpeg 命令 import subprocess def extract_frame(video_path, output_image_path, timestamp"00:00:05")&qu…...
北邮,成电计算机考研怎么选?
#总结结论: 基于当前提供的24考研复录数据,从报考性价比角度,建议25考研的同学优先选择北邮计算机学硕。主要原因是:相比成电,北邮计算机学硕的目标分数更低,录取率更高,而且北邮的地理位置优势明显。对于…...
深入了解京东API接口:如何高效获取商品详情与SKU信息
在当今数字化时代,电商平台的数据接口成为了连接商家与消费者的桥梁。京东作为国内领先的电商平台,其API接口为开发者提供了丰富的商品信息获取途径。本文将深入探讨如何使用京东API接口高效获取商品详情与SKU信息,并附上简短而实用的代码示例…...
C++常见内存泄漏案例分析以及解决方案
C 常见内存泄漏案例分析以及解决方案 1. 分配与释放不匹配 在动态内存管理中,使用new操作符分配的内存必须通过delete操作符显式释放。若未遵循这一规则,将导致内存泄漏。例如: int *p new int; p new int; // 错误:未释放先…...
[LeetCode-Python版]206. 反转链表(迭代+递归两种解法)
题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head [1,2] 输出:[2,1] 示例 3࿱…...
70 mysql 中事务的隔离级别
前言 mysql 隔离级别有四种 未提交读, 已提交读, 可重复度, 序列化执行 然后不同的隔离级别存在不同的问题 未提交读存在 脏读, 不可重复度, 幻觉读 等问题 已提交读存在 不可重复度, 幻觉读 等问题 可重复读存在 幻觉读 等问题 序列化执行 没有以上问题 然后 我们这里…...
C语言二叉树
1.思维导图 树 二叉树 2.将链式队列重新实现一遍 linkqueue.c #include"linkqueue.h" linkqueuePtr create() {linkqueuePtr L(linkqueuePtr)malloc(sizeof(linkqueue));if(NULLL){printf("队列创建失败\n");return NULL;}L->head(nodePtr)malloc(si…...
智能工厂的设计软件 三种处理单元(NPU/GPU/CPU)及其在深度学习框架中的作用 之1
本文要点 深度学习:认知系统架构的处理层 在认知系统架构的设计和代码实现上 需要考虑多个层次,包括感知层、处理层、决策层和执行层。其中 深度学习主要用来解决处理层上的认知问题。 感知层:负责收集外部环境的信息。 处理层:…...
iOS swift开发系列--如何给swiftui内容视图添加背景图片显示
我需要在swiftui项目中显示背景图,有两种方式,一种是把图片拖入asset资源中,另外一种是直接把图片放在源码目录下。采用第一种方式,直接把图片拖到资源目录,但是swiftui项目没有弹出, “Copy items if need…...
jmeter后端监视器
一、概述 JMeter 后端监听器(Backend Listener)是 JMeter 提供的一个功能强大的插件,用于将测试执行期间收集的性能数据发送到外部系统进行监控和分析。通过后端监听器,您可以实时地将 JMeter 测试执行期间收集的数据发送到外部系统,如图形化展示、数据库、数据分析工具等…...
服务器数据恢复—RAIDZ离线硬盘数超过热备盘数导致阵列崩溃的数据恢复案例
服务器存储数据恢复环境: ZFS Storage 7320存储阵列中有32块硬盘。32块硬盘分为4组,每组8块硬盘,共组建了3组RAIDZ,每组raid都配置了热备盘。 服务器存储故障: 服务器存储运行过程中突然崩溃,排除人为误操…...
面试题整理4----lvs,nginx,haproxy区别和使用场景
LVS、Nginx、HAProxy:区别与使用场景 1. LVS(Linux Virtual Server)1.1 介绍1.2 特点1.3 使用场景 2. Nginx2.1 介绍2.2 特点2.3 使用场景 3. HAProxy3.1 介绍3.2 特点3.3 使用场景 4. 总结对比 在构建高可用、高性能的网络服务时,…...
iOS - 超好用的隐私清单修复脚本(持续更新)
文章目录 前言开发环境项目地址下载安装隐私访问报告隐私清单模板最后 前言 在早些时候,提交应用到App Store审核,大家应该都收到过类似这样的邮件: Although submission for App Store review was successful, you may want to correct th…...
html <a>设置发送邮件链接、打电话链接 <a href=“mailto:></a> <a href=“tel:></a>
1.代码 <ul><li>电话:<a href"tel:18888888888">188-8888-8888</a></li><li>邮箱:<a href"mailto:10000qq.com">10000qq.com</a></li><li>邮箱:<a hre…...
clickhouse-副本和分片
1、副本 1.1、概述 集群是副本和分片的基础,它将ClickHouse的服务拓扑由单节点延伸到多个节点,但它并不像Hadoop生态的某些系统那样,要求所有节点组成一个单一的大集群。ClickHouse的集群配置非常灵活,用户既可以将所有节点组成…...
2009 ~ 2019 年 408【计算机网络】大题解析
2009 年 路由算法(9’) 讲解视频推荐:【BOK408真题讲解-2009年(催更就退网版)】 某网络拓扑如下图所示,路由器 R1 通过接口 E1 、E2 分别连接局域网 1 、局域网 2 ,通过接口 L0 连接路由器 R2 &…...
vue2使用render,js中写html
1、js部分table.js export default {name: "dadeT",data() {return {dades: 6666};},render(h) {return h(div, [h(span, 组件数据:${this.dades}), // 利用data里的dades数据,展示在页面上h(span, 89855545)]);} };2、vue部分 <templat…...
如何有效划分服务器磁盘空间?具体的步骤和流程
有效划分服务器磁盘空间对于提升系统性能、管理方便性和数据安全性至关重要。合理的磁盘分区不仅有助于提高服务器的运行效率,还能在数据恢复、系统故障修复和存储管理方面提供更高的灵活性。以下是如何有效划分服务器磁盘空间的几个关键步骤和注意事项。 磁盘分区的…...
labelme标签批量转换数据集json_to_dataset
文章目录 labelme标签批量转换数据集json_to_dataset转换原理单张图片转换多张图片批量转换bat脚本循环法 标注图片提取标注图片转单通道 labelme标签批量转换数据集json_to_dataset 转自labelme批量制作数据集教程。 转换原理 在安装了labelme的虚拟环境中有一个labelme_js…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
