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 关键字声明,只能取 truefalse 的值。

示例:

boolean isJavaFun = true;
boolean isFishTasty = false; System.out.println(isJavaFun); // 输出:true
System.out.println(isFishTasty); // 输出:false

布尔表达式 返回布尔值:truefalse

示例:

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 的值进行比较。
  • 如果找到匹配项,则执行相关的代码块。
  • breakdefault 关键字是可选的

下面的示例使用星期几的数字来计算星期几的名称:

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 数学运算与条件语句全解析的更多相关文章

  1. var、符号运算、条件语句、三元(目)运算、自加和自减

    1.var  a=“hello world” a 这个变量是字符串了,对于里面的每一个字母来说,他是字节,里面有11个字节,(包括空格),字节总数用length表示 2.符号运算 + 字符串拼接 . ...

  2. JavaSE基础(六)--Java流程控制语句之条件语句

    Java 条件语句 - if...else 一个 if 语句包含一个布尔表达式和一条或多条语句. 语法 if 语句的语法如下: if(布尔表达式) { //如果布尔表达式为true将执行的语句 } 如 ...

  3. Yii2.0中文开发向导——Where条件查询全解析

    在Yii的Model里进行查询的时候 where是必不可少的.Where方法声明为 static where( $condition ) 其中参数 $condition类型为字符串或者数组 1.字符串 ...

  4. Java 最常见 200+ 面试题全解析:面试必备

    本文分为十九个模块,分别是: Java 基础.容器.多线程.反射.对象拷贝.Java Web .异常.网络.设计模式.Spring/Spring MVC.Spring Boot/Spring Clou ...

  5. Java 最常见 200+ 面试题 + 全解析

    本文分为十九个模块,分别是: Java 基础.容器.多线程.反射.对象拷贝.Java Web .异常.网络.设计模式.Spring/Spring MVC.Spring Boot/Spring Clou ...

  6. 吴裕雄--天生自然 JAVA开发学习:条件语句

    public class Test { public static void main(String args[]){ int x = 10; if( x < 20 ){ System.out. ...

  7. 【Java集合框架002】原理层面:HashMap全解析

    一.前言 二.HashMap 2.1 HashMap数据结构 + HashMap线程不安全 + 哈希冲突 2.1.1 HashMap数据结构 学习的时候,先整体后细节,HashMap整体结构是 底层数 ...

  8. Java并发原理层面:ReentrantLock中lock()、unlock()全解析

    一.前言 Java线程同步两种方式,synchronized关键字和Lock锁机制,其中,AQS队列就是Lock锁实现公平加锁的底层支持. 二.AQS源码对于lock.lock()的实现 2.1 AQ ...

  9. 【Java并发007】原理层面:ReentrantLock中lock()、unlock()全解析

    一.前言 Java线程同步两种方式,synchronized关键字和Lock锁机制,其中,AQS队列就是Lock锁实现公平加锁的底层支持. 二.AQS源码对于lock.lock()的实现 2.1 AQ ...

  10. Java JVM 内存泄漏--全解析和处理办法 [ 转载 ]

    Java JVM 内存泄露——全解析和处理办法 [转载]   @author 小筐子 @address http://www.jianshu.com/p/bf159a9c391a         JA ...

随机推荐

  1. django中_meta组件

    # _meta组件是一个django中任何一个model类的类实例用来自省的api,简单点说,比如有一个Accounts的模型,则 Accounts._meta # 常用接口 model.Userin ...

  2. 千卡利用率超98%,详解JuiceFS在权威AI测试中的实现策略

    2023 年 9 月,AI 领域的权威基准评测 MLPerf 推出了 Storage Benchmark.该基准测试通过模拟机器学习 I/O 负载的方法,在不需要 GPU 的情况下就能进行大规模的性能 ...

  3. Tomcat8.5简介

    1. Tomcat简介[1] Apache Tomcat是Servlet/JSP的容器.Tomcat8.5 实现了由 JCP 组织 (Java Community Process) 制定的Servle ...

  4. Abp.Zero 手机号免密登录验证与号码绑定功能的实现(二):改造Abp默认实现

    接下来我们重写原Abp的部分实现,来驳接手机号相关业务. 改造User类 重写PhoneNumber使得电话号码为必填项,和中国大陆手机号11位长度 public new const int MaxP ...

  5. 修改主频 & 时钟树

    在system_stm32f10x.c中可以更改这个 最先调用void SystemInit (void)启动HSI+各种恢复缺省配置    然后   调用 SetSysClock();执行设置时钟7 ...

  6. crypto-js DES加密 base64 post传输

    演示地址: http://pengchenggang.gitee.io/crypto-js-des/ 开源地址: https://gitee.com/pengchenggang/crypto-js-d ...

  7. 【LLM】大模型落地-从理论到实践

    简述 按个人偏好和目标总结了学习目标和路径(可按需学习),后续将陆续整理出相应学习资料和资源. 学习目标 熟悉主流LLM(Llama, ChatGLM, Qwen)的技术架构和技术细节:有实际应用RA ...

  8. Mysql导出导入操作

    安装mysql客户端 # 在终端上下载mysql源 wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm ...

  9. webserver总结

    可设置参数:连接池最大连接数,最大线程数,任务队列最大值,timeslot epoll epoll监听listen_fd(接受新客户端和断开连接), pipefd(将信号输入到管道用epoll统一管理 ...

  10. vite+vue3 打包后页面空白现象

    使用vite打包之后运行index.html空白,打开控制台发现报错: 解决方法: 在vite.config中加入: publicPath: './', 这是vite.config中的结构:   ex ...