Java 数学运算与条件语句全解析

本文涉及的产品
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 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 之间的随机数

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,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

相关文章
|
10天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
39 2
|
14天前
|
Java
轻松上手Java字节码编辑:IDEA插件VisualClassBytes全方位解析
本插件VisualClassBytes可修改class字节码,包括class信息、字段信息、内部类,常量池和方法等。
66 6
|
21天前
|
存储 Java 编译器
Java内存模型(JMM)深度解析####
本文深入探讨了Java内存模型(JMM)的工作原理,旨在帮助开发者理解多线程环境下并发编程的挑战与解决方案。通过剖析JVM如何管理线程间的数据可见性、原子性和有序性问题,本文将揭示synchronized关键字背后的机制,并介绍volatile关键字和final关键字在保证变量同步与不可变性方面的作用。同时,文章还将讨论现代Java并发工具类如java.util.concurrent包中的核心组件,以及它们如何简化高效并发程序的设计。无论你是初学者还是有经验的开发者,本文都将为你提供宝贵的见解,助你在Java并发编程领域更进一步。 ####
|
2天前
|
数据采集 存储 Web App开发
Java爬虫:深入解析商品详情的利器
在数字化时代,信息处理能力成为企业竞争的关键。本文探讨如何利用Java编写高效、准确的商品详情爬虫,涵盖爬虫技术概述、Java爬虫优势、开发步骤、法律法规遵守及数据处理分析等内容,助力电商领域市场趋势把握与决策支持。
|
6天前
|
存储 安全 Java
Java多线程编程中的并发容器:深入解析与实战应用####
在本文中,我们将探讨Java多线程编程中的一个核心话题——并发容器。不同于传统单一线程环境下的数据结构,并发容器专为多线程场景设计,确保数据访问的线程安全性和高效性。我们将从基础概念出发,逐步深入到`java.util.concurrent`包下的核心并发容器实现,如`ConcurrentHashMap`、`CopyOnWriteArrayList`以及`BlockingQueue`等,通过实例代码演示其使用方法,并分析它们背后的设计原理与适用场景。无论你是Java并发编程的初学者还是希望深化理解的开发者,本文都将为你提供有价值的见解与实践指导。 --- ####
|
7天前
|
Java 测试技术 API
Java 反射机制:深入解析与应用实践
《Java反射机制:深入解析与应用实践》全面解析Java反射API,探讨其内部运作原理、应用场景及最佳实践,帮助开发者掌握利用反射增强程序灵活性与可扩展性的技巧。
|
12天前
|
存储 算法 Java
Java Set深度解析:为何它能成为“无重复”的代名词?
Java的集合框架中,Set接口以其“无重复”特性著称。本文解析了Set的实现原理,包括HashSet和TreeSet的不同数据结构和算法,以及如何通过示例代码实现最佳实践。选择合适的Set实现类和正确实现自定义对象的hashCode()和equals()方法是关键。
23 4
|
15天前
|
Java 编译器 数据库连接
Java中的异常处理机制深度解析####
本文深入探讨了Java编程语言中异常处理机制的核心原理、类型及其最佳实践,旨在帮助开发者更好地理解和应用这一关键特性。通过实例分析,揭示了try-catch-finally结构的重要性,以及如何利用自定义异常提升代码的健壮性和可读性。文章还讨论了异常处理在大型项目中的最佳实践,为提高软件质量提供指导。 ####
|
19天前
|
存储 设计模式 分布式计算
Java中的多线程编程:并发与并行的深度解析####
在当今软件开发领域,多线程编程已成为提升应用性能、响应速度及资源利用率的关键手段之一。本文将深入探讨Java平台上的多线程机制,从基础概念到高级应用,全面解析并发与并行编程的核心理念、实现方式及其在实际项目中的应用策略。不同于常规摘要的简洁概述,本文旨在通过详尽的技术剖析,为读者构建一个系统化的多线程知识框架,辅以生动实例,让抽象概念具体化,复杂问题简单化。 ####
|
18天前
|
存储 分布式计算 Java
存算分离与计算向数据移动:深度解析与Java实现
【11月更文挑战第10天】随着大数据时代的到来,数据量的激增给传统的数据处理架构带来了巨大的挑战。传统的“存算一体”架构,即计算资源与存储资源紧密耦合,在处理海量数据时逐渐显露出其局限性。为了应对这些挑战,存算分离(Disaggregated Storage and Compute Architecture)和计算向数据移动(Compute Moves to Data)两种架构应运而生,成为大数据处理领域的热门技术。
40 2
下一篇
无影云桌面