Kotlin中的逻辑运算符

news/2025/1/15 15:26:05/

在Kotlin中,逻辑运算符用于对布尔值进行逻辑运算。Kotlin提供了三个逻辑运算符:与运算(&&)、或运算(||)和非运算(!)。下面对这些逻辑运算符进行详细介绍,并提供示例代码。

  1. 与运算(&&):
    • 与运算符用于判断多个条件是否同时满足。
    • 如果所有条件都为真,则返回真;否则返回假。
    • 如果第一个条件为假,后续的条件将不会被判断。

示例代码:

val a = 5
val b = 10
val c = 3val result = (a < b) && (b < c)println(result) // 输出: false
  1. 或运算(||):
    • 或运算符用于判断多个条件是否至少有一个满足。
    • 如果任何一个条件为真,则返回真;否则返回假。
    • 如果第一个条件为真,后续的条件将不会被判断。

示例代码:

val a = 5
val b = 10
val c = 3val result = (a < b) || (b < c)println(result) // 输出: true
  1. 非运算(!):
    • 非运算符用于对布尔值取反。
    • 如果条件为真,则返回假;如果条件为假,则返回真。

示例代码:

val isTrue = true
val isFalse = falseprintln(!isTrue) // 输出: false
println(!isFalse) // 输出: true

逻辑运算符可以组合多个条件,用于控制程序的流程和逻辑。在逻辑表达式中,可以使用括号来改变运算的优先级。

示例代码:

val a = 5
val b = 10
val c = 3val result = (a < b) && ((b < c) || (a > c))println(result) // 输出: false
  1. 全部代码
fun main() {val a1 = 5val b1 = 10val c1 = 3val result1 = (a1 < b1) && (b1 < c1)println(result1) // 输出: falseval a2 = 5val b2 = 10val c2 = 3val result2 = (a2 < b2) || (b2 < c2)println(result2) // 输出: trueval isTrue = trueval isFalse = falseprintln(!isTrue) // 输出: falseprintln(!isFalse) // 输出: trueval a3 = 5val b3 = 10val c3 = 3val result3 = (a3 < b3) && ((b3 < c3) || (a3 > c3))println(result3) // 输出: false
}

以上是对Kotlin中逻辑运算符(与运算、或运算、非运算)的详细介绍和示例代码。使用逻辑运算符可以对布尔值进行逻辑判断和操作,帮助控制程序的流程和条件。


http://www.ppmy.cn/news/1160319.html

相关文章

【jmeter】接口测试流程

1、Jmeter简介 Jmeter是由Apache公司开发的一个纯Java的开源项目&#xff0c;即可以用于做接口测试也可以用于做性能测试。 Jmeter具备高移植性&#xff0c;可以实现跨平台运行。 Jmeter可以实现分布式负载。 Jmeter采用多线程&#xff0c;允许通过多个线程并发取样或通过独…

【vscode编辑器插件】前端 php unity自用插件分享

文章目录 一篇一句前言前端vuegitphpunity后端其他待续完结 一篇一句 “思考是最困难的工作&#xff0c;这也许是为什么很少有人这样做。” - 亨利福特&#xff08;Henry Ford&#xff09; 前言 无论是什么语言&#xff0c;我都会选择使用vscode进行开发&#xff0c;我愿称v…

【MultiOTP】在Linux上使用MultiOTP进行SSH登录

在前面的文章中【FreeRADIUS】使用FreeRADIUS进行SSH身份验证已经了解过如何通过Radius去来实现SSH和SUDO的登录&#xff0c;在接下来的文章中只是将密码从【LDAP PASSWORD Googlt OTP】改成了【MultiOTP】生成的passcode&#xff0c;不在需要密码&#xff0c;只需要OTP去登录…

c++ 类的继承(二)

1. 初始化列表 初始化列表在三种情况下必须使用: 继承关系下&#xff0c;父类没有无参构造函数情况 #include <iostream>using namespace std;class Base{ public:string name;int num;Base(){cout<< "基类的无参构造..." <<endl;}Base(string …

BI零售数据分析:以自身视角展开分析

随着零售业务不断扩展&#xff0c;市场竞争不断加剧&#xff0c;各层级的销售管理人员都急需一张能快速查看销售数据分析报表&#xff0c;能从中知道自己管辖内的业务最近或过去的情况&#xff0c;并依次为依据科学优化销售管理措施。这就要求零售数据分析报表信息足够多、数据…

nodejs基于vue小型企业银行账目管理系统

这就产生了以台式计算机为核心的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用&#xff0c;在银行帐目管理之中的应用日益增加 且会出现信息的重复传递问题&#xff0c;因此该过程需要进行信息化,以利用计算机进行帐目管理。 3.1 银行帐目管理系统功能模块 …

Qt (QInputDialog 、QMessageBox、QMessageBox)对话框实战

目录 一、QInputDialog 类(输入对话框) 二、QMessageBox 类(消息框) 三、QMessageBox 类(自定义消息框) 一、QInputDialog 类(输入对话框) QInputDialog 是一个提供输入对话框的 Qt 类。它允许用户输入文本&#xff0c;并提供给用户选择可用选项的选项列表。QInputDialog 可…

冒泡排序和简答选择排序

冒泡排序 一种典型的交换排序 类似水冒泡&#xff0c;大元素经不断的交换由水底慢慢的浮出 从头到尾&#xff0c;循环比较两相邻的元素 大的元素移到后面&#xff0c;小的放前面-每次循环&#xff0c;大的元素会排到最后 代码如下&#xff1a; #include<stdio.h> …