当前位置: 首页 > news >正文

Java基础学习笔记-2

前言

在计算机编程领域,条件语句和控制流结构是构建程序逻辑的基本组成部分。它们允许程序员根据不同的条件执行不同的操作,从而使程序更加灵活和智能。本文将深入探讨Java编程语言中的条件语句和控制流,提供了一系列实用的示例和技巧,帮助读者更好地理解和运用这些概念。
Java基础学习笔记-1

1. if语句

if语句是最基本的条件语句,它允许您根据给定条件执行不同的代码块。

import java.util.Scanner;public class Demo01 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入成绩:");int score = scanner.nextInt();if (score >= 90) {System.out.println("优秀");} else {System.out.println("其它");}}
}

在上面的示例中,根据输入的成绩,程序将输出"优秀"或"其它"。

2. if-else语句

if-else语句允许您在条件不满足时执行备选代码块。

import java.util.Scanner;public class Demo02 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入成绩:");int score = scanner.nextInt();if (score >= 90) {System.out.println("奖励");}System.out.println("程序结束");}
}

在上面的示例中,如果成绩大于等于90分,将输出"奖励",否则程序将继续执行后续代码。

3. 多重条件语句

Java允许您使用多重条件语句来处理多个条件。

public class Demo03 {public static void main(String[] args) {int score = 88;if (score >= 90) {System.out.println("优秀");} else if (score >= 80) {System.out.println("良好");} else if (score >= 70) {System.out.println("中等");} else if (score >= 60) {System.out.println("及格");} else {System.out.println("差");}}
}

在上面的示例中,根据成绩的不同范围,程序将输出不同的评级。

4. 简化的多重条件语句

您还可以使用简化的多重条件语句,减少代码的复杂性。

public class Demo04 {public static void main(String[] args) {int score = 98;if (score >= 90) System.out.println("优秀");else if (score >= 80) System.out.println("良好");else if (score >= 70) System.out.println("中等");else if (score >= 60) System.out.println("及格");else System.out.println("差");}
}

在上面的示例中,我们使用了更简洁的语法来达到相同的效果。

5. 逻辑运算符

逻辑运算符允许您在条件中组合多个条件。

public class Demo05 {public static void main(String[] args) {int java = 89, html = 90;if (java >= 90 || html >= 90) System.out.println("去动物园游玩");else System.out.println("在家休息");}
}

在上面的示例中,我们使用逻辑或运算符 || 来判断是否有一门课程达到了90分以上。

6. switch语句

switch语句允许您根据不同的取值执行不同的代码块。

import java.util.Scanner;public class Demo06 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("> 幸运抽奖\n");System.out.print("请输入4位会员号:");int id = scanner.nextInt();int baiwei = id / 100 % 10;int luck = (int)(Math.random() * 10);System.out.println("幸运数字是:" + luck);if (baiwei == luck) System.out.println("奖励mp3一个。");else System.out.println("谢谢惠顾。");}
}

在上面的示例中,我们使用了switch语句根据不同的条件执行不同的代码。

7. 字符串比较

在Java中,要比较字符串的内容,您应该使用equals()方法。

import java.util.Scanner;public class Demo07 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入是否是会员(y/n):");String yesno = scanner.next();if (yesno.equals("y")) {System.out.println("是会员");} else {System.out.println("不是会员");}}
}

在上面的示例中,我们使用equals()方法来比较用户输入的字符串是否等于"y"。

8. 条件嵌套

条件语句可以嵌套,以处理更复杂的逻辑。

import java.util.Scanner;public class Demo08 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入是否是会员(y/n):");String yesno = scanner.next();System.out.println("请输入购物金额:");int money = scanner.nextInt();double zk = 1.0; // 默认值,没有折扣if (yesno.equals("y")) {if (money >= 200) zk = 0.75;else zk = 0.8;} else {if (money >= 100) zk = 0.9;}System.out.println("实际支付:" + money * zk);}
}

在上面的示例中,我们展示了条件语句的嵌套用法,根据会员状态和购物金额来计算实际支付金额。

9. switch语句的字符串支持

Java 7及更高版本支持使用字符串作为switch语句的条件。

public class Demo10 {public static void main(String[] args) {String mingci = "1";switch (mingci) {case "1":System.out.println("夏令营");break;case "2":System.out.println("笔记本一台");break;case "3":System.out.println("移动硬盘");break;default:System.out.println("无");break;}}
}

在上面的示例中,我们使用字符串作为switch语句的条件来根据不同的字符串值执行不同的代码。

10. switch语句的透传现象

switch语句中的透传现象允许多个case值共享相同的代码块。

public class Demo11 {public static void main(String[] args) {String mingci = "星期一";switch (mingci) {case "星期一":case "星期三":System.out.println("画画");break;case "星期二":System.out.println("休息");break;case "星期四":System.out.println("休息");break;case "星期五":System.out.println("移动硬盘");break;case "星期六":case "星期天":System.out.println("街舞");break;default:System.out.println("错误值");break;}}
}

在上面的示例中,星期一和星期三共享相同的活动"画画",星期六和星期天共享"街舞"活动。

11. 条件语句与用户交互

条件语句通常与用户输入一起使用,以根据用户的选择执行不同的操作。

import java.util.Scanner;public class Demo12 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入消费金额:");double money = scanner.nextDouble();System.out.println("是否换购:");System.out.println("1.满50元,加2元换购商品1");System.out.println("2.满100元,加3元换购商品2");System.out.println("3.满100元,加10元换购商品3");System.out.println("4.满200元,加10元换购商品4");System.out.println("5.满200元,加20元换购商品5");System.out.println("0.不换购");System.out.print("请选择:");int select = scanner.nextInt();String goods = "不换购"; // 默认值switch (select) {case 1:if (money > 50) {money += 2;goods = "商品1";}break;case 2:if (money > 100) {money += 3;goods = "商品2";}break;case 3:if (money > 100) {money += 10;goods = "商品3";}break;case 4:if (money > 200) {money += 10;goods = "商品4";}break;case 5:if (money > 200) {money += 20;goods = "商品5";}break;}System.out.println("消费金额:" + money);System.out.println("成功换购:" + goods);}
}

在上面的示例中,根据用户输入的消费金额和选择,程序计算出最终的支付金额和换购商品。

总结

通过本文的阅读,我们深入研究了Java编程语言中的条件语句和控制流。从最基本的if语句到更复杂的多重条件语句和字符串比较,我们探讨了如何根据不同的条件执行代码块。此外,我们还介绍了逻辑运算符的使用和switch语句的应用,以及如何将条件语句与用户交互相结合,使程序更加智能和适应性强。这些概念和示例将有助于读者更好地理解和运用条件语句和控制流,提高他们的编程技能和程序设计能力。

相关文章:

Java基础学习笔记-2

前言 在计算机编程领域,条件语句和控制流结构是构建程序逻辑的基本组成部分。它们允许程序员根据不同的条件执行不同的操作,从而使程序更加灵活和智能。本文将深入探讨Java编程语言中的条件语句和控制流,提供了一系列实用的示例和技巧&#…...

Mongodb 安装脚本(附服务器自启动)

shell脚本 #!/bin/bash #mail:xuelanchnet.com #function:auto install mongodb [ $(id -u) ! "0" ] && echo "Error: You must be root to run this script" && exit 1 logfile"/var/log/mongod_install.log" softdir"/s…...

yolov5的pytorch配置

1. conda create -n rdd38 python3.82、pip install torch1.8.0 torchvision0.9.0 torchaudio0.8.0 -f https://download.pytorch.org/whl/cu113/torch_stable.html -i https://pypi.tuna.tsinghua.edu.cn/simple 3、conda install cudatoolkit10.2...

ISO 19712-1-2008装饰用实体面材检测

实体面材是指由聚合物材料、填料和颜料组成,经浇筑或压制等工艺成型的板型产品或非板型产品,主要用于厨房台面,家具等领域。 ISO 19712-1-2008装饰用实体面材测试 测试项目 测试标准 耐干热 ISO 19712-3 ISO 19712-2 耐湿热 ISO 19712-…...

华为OD机试 - 最多颜色的车辆 - 数据结构map(Java 2022Q4 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路1、核心思想2、题做多了,你就会发现,这道题属于送分题,为什么这样说?3、具体解题思路: 五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B…...

Mybatis 插入、修改、删除

前面几篇我们介绍了使用Mybatis查询数据,并且也了解了如何在Mybatis中使用JDK的日志系统打印日志;本篇我们继续介绍如何使用Mybatis完成数据的插入、修改和删除。 如果您对查询数据和Mybatis集成JDK日志系统不太了解,建议您先进行了解后再阅…...

2023年9月DAMA-CDGA/CDGP数据治理认证火热招生中

DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业…...

【SpringCloudAlibaba】Seata分布式事务使用

文章目录 分布式事务问题示例Seata概述、官网一个典型的分布式事务过程处理过程全局GlobalTransactional分布式交易解决方案流程图 Seata安装下载修改conf目录下的application.yml配置文件dashboard demo 分布式事务问题示例 单体应用被拆分成微服务应用,原来的三个…...

Java-day13(IO流)

IO流 凡是与输入,输出相关的类,接口等都定义在java.io包下 1.File类的使用 File类可以有构造器创建其对象,此对象对应着一个文件(.txt,.avi,.doc,.mp3等)或文件目录 File类对象是与平台无关的 File中的方法仅涉及到如何创建,…...

Vue2项目练手——通用后台管理项目第四节

Vue2项目练手——通用后台管理项目 数据的请求mock数据模拟实战文件目录src/api/mock.jssrc/api/mockServeData/home.jsmain.js 首页组件布局可视化图表可视化图表布局Home.vue echarts表Home.vue 数据的请求 mock数据模拟实战 mock官方文档 前端用来模拟后端接口的工具&…...

linux运维(二)内存占用分析

一、centos内存高,查看占用内存, top命令详解 1.1: free 命令是 free 单位K free -m 单位M free -h 单位Gfree最常规的查看内存占用情况的命令 1.2: 参数说明 total 总物理内存 used 已经使用的内存 free 没有使用的内存 shared 多进程共享内存 buff/cache 读写…...

go logger 不侵入业务代码 用slog 替换 zap 并实现 callerSkip

快速体验 以下是 项目中 已经用slog替换 zap 后的 logger 使用方法,无任何感知,与之前一模一样 package mainimport "github.com/webws/go-moda/logger"func main() {// 格式化打印 {"time":"2023-09-08T01:25:21.31346308:00","level&qu…...

vuez 与 Vue3 响应式比较

Vue2 的响应式 对象:通过 defineProperty 对对象的已有属性值的读取和修改进行劫持(监视/拦被)。 数组:通过重写数组、更新数组等一系列更新元素的方法来实现元素修改的劫持。 存在的问题如下: &#…...

【Apollo学习笔记】——规划模块TASK之PIECEWISE_JERK_SPEED_OPTIMIZER

文章目录 TASK系列解析文章前言PIECEWISE_JERK_SPEED_OPTIMIZER功能简介PIECEWISE_JERK_SPEED_OPTIMIZER相关配置PIECEWISE_JERK_SPEED_OPTIMIZER流程QP问题的标准类型定义:优化变量设计目标函数约束条件相关矩阵二次项系数矩阵 H H H一次项系数向量 q q q设定OSQP求…...

CNI、CSI 和 CRI在 Docker 中的角色和作用

摘要 CNI(Container Network Interface): CNI 是用于容器网络的接口标准,它定义了容器和网络插件之间的通信协议。CNI 的主要作用是为容器创建和管理网络接口。当创建一个容器时,CNI 插件会被调用来为容器创建一个网络…...

「Docker」M1 Pro 打包docker image问题合集

运行docker 遇到 The requested images platform (linux/arm64/v8) does not match the detected host platform (linux/amd64/v4) and no specific platform was requested 说明打包的镜像没有 linux/amd64 解决方案:重新打包镜像 docker buildx build --platfor…...

Android发布依赖到 Jitpack

前言 我们在日常开发中,经常会用到第三方开源的库文件,有的来自JCenter,Maven Central,google等。但是随着JCenter的弃用,现在用的最多的还是Maven Central,google。今天我们就自己亲自发布一个依赖。 现…...

【虚拟机开不了】linux、centOS虚拟机出现entering emergency mode解决方案

按他的操作输入journalctl之后输入shiftg到日志最后查看报错发现是xfs(dm-0有问题) xfs_repair -v -L /dev/dm-0 reboot解决问题...

嘉泰实业举行“互联网金融知识社区”“安全理财风险讲座”等活动

每一次暖心的沟通都是一次公益,真诚不会因为它的渺小而被忽略;每一声问候都是一次公益,善意不会因为它的普通而被埋没。熟悉嘉泰实业的人都知道,这家企业不但擅长在金融理财领域里面呼风唤雨,同时也非常擅长在公益事业当中践行,属于企业的责任心,为更多有困难的群体带来大爱的传…...

《C++设计模式》——结构型

前言 结构模式可以让我们把很多小的东西通过结构模式组合起来成为一个打的结构,但是又不影响各自的独立性,尽可能减少各组件之间的耦合。 Adapter Class/Object(适配器) Bridge(桥接) Composite(组合) Decorator(装饰) 动态…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

jmeter聚合报告中参数详解

sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...

恶补电源:1.电桥

一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...

【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统

Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...

海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》

近日,嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》,海云安高敏捷信创白盒(SCAP)成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天,网络安全已成为企业生存与发展的核心基石,为了解…...