Java 数学运算与条件语句全解析
Java Math
Java 的 Math 类 拥有许多方法,允许您在数字上执行数学任务。
常用方法:
Math.max(x, y): 找到 x 和 y 的最大值Math.min(x, y): 找到 x 和 y 的最小值Math.sqrt(x): 返回 x 的平方根Math.abs(x): 返回 x 的绝对值Math.random(): 返回一个介于 0.0 和 1.0 之间的随机数
示例:
// 找到最大值
int max = Math.max(5, 10);
System.out.println("最大值:" + max); // 输出:10
// 找到最小值
int min = Math.min(5, 10);
System.out.println("最小值:" + min); // 输出:5
// 计算平方根
double sqrt = Math.sqrt(64);
System.out.println("平方根:" + sqrt); // 输出:8.0
// 计算绝对值
double abs = Math.abs(-4.7);
System.out.println("绝对值:" + abs); // 输出:4.7
// 生成随机数
double randomNum = Math.random();
System.out.println("随机数:" + randomNum); // 输出:0.0 到 1.0 之间的随机数
Java 布尔值
布尔类型 使用 boolean 关键字声明,只能取 true 或 false 的值。
示例:
boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun); // 输出:true
System.out.println(isFishTasty); // 输出:false
布尔表达式 返回布尔值:true 或 false。
示例:
int x = 10;
int y = 9;
System.out.println(x > y); // 输出:true
System.out.println(x == 10); // 输出:true
Java If...Else
Java 条件语句:
if: 在条件为 true 时执行代码块else: 在条件为 false 时执行代码块else if: 测试新的条件switch: 执行多个备选代码块
示例:
int age = 25;
int votingAge = 18;
if (age >= votingAge) {
System.out.println("可以投票");
} else {
System.out.println("不能投票");
}
完整代码:
# Java Math
// 最大值
int max = Math.max(5, 10);
System.out.println("最大值:" + max); // 输出:10
// 最小值
int min = Math.min(5, 10);
System.out.println("最小值:" + min); // 输出:5
// 平方根
double sqrt = Math.sqrt(64);
System.out.println("平方根:" + sqrt); // 输出:8.0
// 绝对值
double abs = Math.abs(-4.7);
System.out.println("绝对值:" + abs); // 输出:4.7
// 随机数
double randomNum = Math.random();
System.out.println("随机数:" + randomNum); // 输出:0.0 到 1.0 之间的随机数
// 布尔类型
boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun); // 输出:true
System.out.println(isFishTasty); // 输出:false
// 布尔表达式
int x = 10;
int y = 9;
System.out.println(x > y); // 输出:true
System.out.println(x == 10); // 输出:true
// 条件语句
int age = 25;
int votingAge = 18;
if (age >= votingAge) {
System.out.println("可以投票");
} else {
System.out.println("不能投票");
}
Java 简写 If...Else(三元运算符)
还有一种称为三元运算符的简写 if else,因为它由三个操作数组成。它可以用来用一行代码替代多行代码,并且最常用于替代简单的 if else 语句。
语法
variable = (condition) ? expressionTrue : expressionFalse;
而不是编写:
int time = 20;
if (time < 18) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}
您可以简单地写:
int time = 20;
String result = (time < 18) ? "Good day." : "Good evening.";
System.out.println(result);
Java Switch 语句
与编写许多 if..else 语句相比,您可以使用 switch 语句。switch 语句选择要执行的多个代码块之一。
语法
switch (expression) {
case x:
// 代码块
break;
case y:
// 代码块
break;
default:
// 代码块
}
它的工作原理如下:
switch表达式在一次评估中完成。- 表达式的值与每个
case的值进行比较。 - 如果找到匹配项,则执行相关的代码块。
break和default关键字是可选的
下面的示例使用星期几的数字来计算星期几的名称:
int day = 4;
switch (day) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期天");
break;
}
// 输出 "星期四"(星期 4)
break 关键字
当 Java
到达 break 关键字时,它会跳出 switch 块。这将停止更多代码和块内部的 case 测试的执行。当找到匹配项并完成任务时,到了休息的时候了。没有更多测试的必要。break 可以节省大量的执行时间,因为它“忽略” 了在 switch 块中的所有其余代码的执行。
default 关键字
default 关键字指定如果没有 case 匹配则运行的一些代码:
int day = 4;
switch (day) {
case 6:
System.out.println("今天是星期六");
break;
case 7:
System.out.println("今天是星期天");
break;
default:
System.out.println("期待周末");
}
// 输出 "期待周末"
请注意,如果 default 语句用作 switch 块中的最后一条语句,它就不需要 break。
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注
Java 数学运算与条件语句全解析的更多相关文章
- var、符号运算、条件语句、三元(目)运算、自加和自减
1.var a=“hello world” a 这个变量是字符串了,对于里面的每一个字母来说,他是字节,里面有11个字节,(包括空格),字节总数用length表示 2.符号运算 + 字符串拼接 . ...
- JavaSE基础(六)--Java流程控制语句之条件语句
Java 条件语句 - if...else 一个 if 语句包含一个布尔表达式和一条或多条语句. 语法 if 语句的语法如下: if(布尔表达式) { //如果布尔表达式为true将执行的语句 } 如 ...
- Yii2.0中文开发向导——Where条件查询全解析
在Yii的Model里进行查询的时候 where是必不可少的.Where方法声明为 static where( $condition ) 其中参数 $condition类型为字符串或者数组 1.字符串 ...
- Java 最常见 200+ 面试题全解析:面试必备
本文分为十九个模块,分别是: Java 基础.容器.多线程.反射.对象拷贝.Java Web .异常.网络.设计模式.Spring/Spring MVC.Spring Boot/Spring Clou ...
- Java 最常见 200+ 面试题 + 全解析
本文分为十九个模块,分别是: Java 基础.容器.多线程.反射.对象拷贝.Java Web .异常.网络.设计模式.Spring/Spring MVC.Spring Boot/Spring Clou ...
- 吴裕雄--天生自然 JAVA开发学习:条件语句
public class Test { public static void main(String args[]){ int x = 10; if( x < 20 ){ System.out. ...
- 【Java集合框架002】原理层面:HashMap全解析
一.前言 二.HashMap 2.1 HashMap数据结构 + HashMap线程不安全 + 哈希冲突 2.1.1 HashMap数据结构 学习的时候,先整体后细节,HashMap整体结构是 底层数 ...
- Java并发原理层面:ReentrantLock中lock()、unlock()全解析
一.前言 Java线程同步两种方式,synchronized关键字和Lock锁机制,其中,AQS队列就是Lock锁实现公平加锁的底层支持. 二.AQS源码对于lock.lock()的实现 2.1 AQ ...
- 【Java并发007】原理层面:ReentrantLock中lock()、unlock()全解析
一.前言 Java线程同步两种方式,synchronized关键字和Lock锁机制,其中,AQS队列就是Lock锁实现公平加锁的底层支持. 二.AQS源码对于lock.lock()的实现 2.1 AQ ...
- Java JVM 内存泄漏--全解析和处理办法 [ 转载 ]
Java JVM 内存泄露——全解析和处理办法 [转载] @author 小筐子 @address http://www.jianshu.com/p/bf159a9c391a JA ...
随机推荐
- 问题:django中对datetime类型数据在pycharm中sqlite3进行修改时,修改后datetime日期数据变成了时间戳类型
这是正在修改的 提交完之后 问题原因 问题原因是sqlite数据库对日期类型不敏感,Pycharm直接插入会变成图中这样的时间戳,用POST请求添加数据或Django自带的后台管理插入不会有这样的问题 ...
- Java新建一个子线程异步运行方法
如何在运行主方法的同时异步运行另一个方法,我是用来更新缓存: 1. 工具类 public class ThreadPoolUtils { private static final Logger LOG ...
- Google Test Adapter安装
背景 我有一个vs2015 的gtest 工程,编译完成后,需要gtest adapter帮我把测试列表显示出来,但是通过vs自带的工具或者网页下载安装遇到2个问题: 1.下载速度超级慢,慢到我能到火 ...
- 【Filament】纹理贴图
1 前言 本文主要介绍使用 Filament 实现纹理贴图,读者如果对 Filament 不太熟悉,请回顾以下内容. Filament环境搭建 绘制三角形 绘制矩形 绘制圆形 绘制立方体 Fi ...
- [golang] 概念: struct vs interface
struct vs interface go语言的简化哲学: class = struct + receiver method set 注意: go 语言的struct,在参数传递中,是值拷贝. st ...
- 【Azure 环境】当Azure Key Vault中存储的证书即将过期时,如何设置Alert邮件警报?
问题描述 当Azure Key Vault 中存储的证书即将过期时, 如何设置Alert邮件警报? 问题解答 首先,在创建完一个证书后,需要为证书添加一个"证书联系人" 然后,点击 ...
- Java package(包) +import 关键字(1)
Java 包(package) 为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间. 包的作用 1.把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用. 2.如同文件夹一样, ...
- 我的闲鱼Python爬虫接单总结和经验,最高600元一单
最近,我在闲鱼上利用 Python 爬虫技术接了一些任务,想必你一定好奇,通过这样的方式,到底能不能挣钱,能挣多少钱?今天我就来分享一下我的经验和总结. 一.接单经历 之前 Vue 的作者尤大在微博上 ...
- 基于六轴传感器MPU6050的物体移动监测报警系统
一 系统简介 1.简介 MPU-60x0 是全球首例 9 轴运动处理传感器.它集成了 3 轴MEMS陀螺仪,3 轴MEMS加速度计,以及一个可扩展的数字运动处理器 DMP(Digital Motion ...
- 2.4G无线音频一对多传输解决方案难点解析
前记 2.4G无线音频传输是一个非主流的应用,做这个的人 相对要比较少.但是,这个领域所涉及到的知识却不少,也就导致了这个领域是好入门,但是东西想做好特别难.这里涉及到声学,无线协议,电子,设 ...