Java零基础 - 逻辑运算符

哈喽,各位小伙伴们,你们好呀,我是喵手。

  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。

  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,希望以这种方式帮助到更多的初学者或者想入门的小伙伴们,同时也能对自己的技术进行沉淀,加以复盘,查缺补漏。

小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!

前言

在编程中,逻辑运算符是非常重要的组成部分。逻辑运算符用于判断条件的真假,并根据判断结果来执行相应的操作。在Java中,有三个逻辑运算符:与(&&)、或(||)、非(!)。本文将介绍逻辑运算符的基本概念和用法,并通过源代码解析、应用场景案例和优缺点分析等方式,帮助读者更好地理解和应用逻辑运算符。

摘要

本文将详细介绍Java中的逻辑运算符,包括与、或、非三种逻辑运算符的使用方法和注意事项。通过源代码解析和应用场景案例的讲解,读者可以了解逻辑运算符在实际编程中的应用。同时,本文还通过优缺点分析和测试用例的编写,帮助读者更好地理解逻辑运算符的优势和限制。

正文

简介

逻辑运算符是用于判断条件的真假的一类运算符。在Java中,有三个逻辑运算符:与(&&)、或(||)、非(!)。逻辑运算符常用于条件语句、循环语句和逻辑判断等场景中。逻辑运算符的使用需要注意运算符的优先级和短路特性。

源代码解析

下面是逻辑运算符的源代码解析:

public class LogicalOperatorExample {
    public static void main(String[] args) {
        boolean a = true;
        boolean b = false;
        
        // 与运算符
        boolean result1 = a && b;
        System.out.println("a && b = " + result1); // 输出: a && b = false
        
        // 或运算符
        boolean result2 = a || b;
        System.out.println("a || b = " + result2); // 输出: a || b = true
        
        // 非运算符
        boolean result3 = !a;
        System.out.println("!a = " + result3); // 输出: !a = false
    }
}

上述代码中,我们定义了两个boolean类型的变量a和b,并使用逻辑运算符进行计算。通过打印输出,可以得到逻辑运算符的结果。

执行结果如下:

在这里插入图片描述

代码分析:

上述代码演示了逻辑运算符的用法。

在代码中,我们定义了两个boolean类型的变量a和b,分别赋值为true和false。

接下来,我们使用了三个逻辑运算符进行演示。

第一个是与运算符(&&),用于判断两个条件是否同时为true。当a和b都为true时,结果为true;否则,结果为false。

第二个是或运算符(||),用于判断两个条件是否至少有一个为true。当a和b中至少有一个为true时,结果为true;否则,结果为false。

第三个是非运算符(!),用于取反一个条件的结果。当a为true时,结果为false;当a为false时,结果为true。

最后,我们分别输出了三个表达式的结果,可以看到运行结果与预期一致。

应用场景案例

逻辑运算符在实际编程中有很多应用场景,下面是一个简单的案例:

package com.example.javase.ms.operator;

/**
 * @Author ms
 * @Date 2023-12-15 18:05
 */
public class LogicExample {
    
    public static void main(String[] args) {
        int score = 75;
        boolean passed = score >= 60 && score <= 100;

        if (passed) {
            System.out.println("你及格了!");
        } else {
            System.out.println("很遗憾,你没通过!");
        }
    }
}

在上述代码中,我们使用逻辑运算符判断学生成绩是否及格。如果成绩大于等于60且小于等于100,则输出"你及格了!“;否则输出"很遗憾,你没通过!”。

执行结果如下:

在这里插入图片描述

优缺点分析

逻辑运算符的使用有以下优点和缺点:

优点:

  1. 简化条件判断:逻辑运算符可以将多个条件判断语句合并为一个表达式,简化代码结构。
  2. 提高代码可读性:合理使用逻辑运算符可以使代码更加简洁和易读。

缺点:

  1. 逻辑运算符计算的结果只能是布尔值,无法进行其他类型的运算。
  2. 逻辑运算符可能存在短路特性,即只要条件判断能够确定结果,后续的条件判断就不会执行。

类代码方法介绍

在Java中,逻辑运算符是通过类库中的方法实现的。下面是逻辑运算符的类代码方法介绍:

  • 与运算符(&&)的类代码方法是boolean logicalAnd(boolean a, boolean b)。该方法返回两个参数的逻辑与结果。
  • 或运算符(||)的类代码方法是boolean logicalOr(boolean a, boolean b)。该方法返回两个参数的逻辑或结果。
  • 非运算符(!)的类代码方法是boolean logicalNot(boolean a)。该方法返回参数的逻辑非结果。

测试用例

下面是针对逻辑运算符的测试用例:

public class LogicalOperatorTest {
    public static void main(String[] args) {
        assert logicalAnd(true, false) == false;
        assert logicalOr(true, false) == true;
        assert logicalNot(true) == false;
    }
    
    public static boolean logicalAnd(boolean a, boolean b) {
        return a && b;
    }
    
    public static boolean logicalOr(boolean a, boolean b) {
        return a || b;
    }
    
    public static boolean logicalNot(boolean a) {
        return !a;
    }
}

在上述测试用例中,我们使用assert语句进行断言,验证逻辑运算符的计算结果是否符合预期。如果断言失败,则会抛出异常。

全文小结

本文通过介绍逻辑运算符的基本概念和用法,帮助读者了解逻辑运算符在Java中的重要性和应用场景。通过源代码解析、应用场景案例和优缺点分析的讲解,读者可以更好地理解和应用逻辑运算符。同时,通过测试用例和类代码方法介绍的编写,读者可以进一步巩固对逻辑运算符的掌握。

总结

逻辑运算符是判断条件真假的重要工具,在Java编程中有着广泛的应用。通过本文的学习,读者可以掌握逻辑运算符的基本用法和注意事项,并了解其在实际编程中的应用。

总之,熟练掌握逻辑运算符是Java编程的基础,也是编写稳定、高效代码的关键之一。希望本文的介绍能帮助读者更好地理解和应用逻辑运算符。

… …

文末

好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。

… …

学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!


⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。

⭐️若有疑问,就请评论留言告诉我叭。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/401208.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第13讲实现自定义logout处理

默认logout请求实现是有状态的&#xff0c;返回到login请求页面&#xff1b;我们现在是前后端分离处理&#xff0c;所以需要自定义实现logout 新建JwtLogoutSuccessHandler /*** 自定义Logout处理* author java1234_小锋 &#xff08;公众号&#xff1a;java1234&#xff09;…

Python算法题集_岛屿数量

Python算法题集_岛屿数量 题200&#xff1a;岛屿数量1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【双层循环递归】2) 改进版一【双层循环迭代】3) 改进版二【双层循环迭代高速双向队列】4) 改进版三【双层循环并查集】 4. 最优算法5. 相关资…

五、分类算法 总结

代码&#xff1a; from sklearn.datasets import load_iris, fetch_20newsgroups from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.model_selection import train_test_split, GridSearchCV from sklearn.naive_bayes import MultinomialNB from s…

基于JAVA的班级考勤管理系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统基础支持模块2.2 班级学生教师支持模块2.3 考勤签到管理2.4 学生请假管理 三、系统设计3.1 功能设计3.1.1 系统基础支持模块3.1.2 班级学生教师档案模块3.1.3 考勤签到管理模块3.1.4 学生请假管理模块 3.2 数据库设…

Kubernetes二进制搭建

目录 1.操作系统初始化配置&#xff08;所有节点同此操作&#xff09; 2.部署etcd集群 etcd概述 准备签发证书环境 在master01节点上操作&#xff08;192.168.88.22&#xff09; 在两个node节点上操作 总结&#xff1a; 3.部署docker引擎 4.部署Master组件 总结&…

学习大数据所需的java基础(5)

文章目录 集合框架Collection接口迭代器迭代器基本使用迭代器底层原理并发修改异常 数据结构栈队列数组链表 List接口底层源码分析 LinkList集合LinkedList底层成员解释说明LinkedList中get方法的源码分析LinkedList中add方法的源码分析 增强for增强for的介绍以及基本使用发2.使…

五种多目标优化算法(MOJS、MOGWO、NSWOA、MOPSO、NSGA2)性能对比(提供MATLAB代码)

一、5种多目标优化算法简介 1.1MOJS 1.2MOGWO 1.3NSWOA 1.4MOPSO 1.5NSGA2 二、5种多目标优化算法性能对比 为了测试5种算法的性能将其求解9个多目标测试函数&#xff08;zdt1、zdt2 、zdt3、 zdt4、 zdt6 、Schaffer、 Kursawe 、Viennet2、 Viennet3&#xff09;&#xff0…

【虚拟仿真】Unity3D中实现3DUI,并且实现Button、InputField、Toggle等事件绑定

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 最近在项目中需要用到3DUI的展示,之前一般会用TextMeshPro进行展示: 但是,后面又需要添加按钮、Toggle等…

《nvm 安装》nodejs 版本管理工具

一.前言 如果先于 nvm 安装了 node&#xff0c;一定要先卸载&#xff01; 两种卸载方式&#xff1a; 方式一 控制面板 -> 程序和功能 -> nodejs 删除 方式二 下载的 node 安装包有卸载选项 二. 安装 nvm 下载地址 中找到对应的安装包&#xff0c;我本机使用 window…

Autosar-Mcal配置详解-GPT

3.3.1添加GPT模块 方法与添加Dio相似&#xff0c;可参加Dio模块添加方法。 3.3.2 创建、配置GPT通道 1)根据需求创建GPT通道&#xff08;即创建几个定时器&#xff09; 本例中创建了3个定时器通道&#xff1a;1ms&#xff0c;100us&#xff0c;OsTimer。 2)配置GPT通道 配置T…

进度条小程序

文章目录 铺垫回车换行缓冲区概述强制冲刷缓冲区 简单实现倒计时功能进度条小程序版本一实例代码效果展示分析 版本二 铺垫 回车换行 回车和换行是两个独立的动作 回车是将光标移动到当前行的最开始&#xff08;最左侧&#xff09; 换行是竖直向下平移一行 在C语言中&…

图的遍历-----深度优先遍历(dfs),广度优先遍历(bfs)【java详解】

目录 简单介绍&#xff1a;什么是深度、广度优先遍历&#xff1f; 深度优先搜索&#xff08;DFS&#xff0c;Depth First Search&#xff09;&#xff1a; 大致图解&#xff1a; 广度优先搜索&#xff08;BFS&#xff0c;Breadth First Search&#xff09;&#xff1a; 大致图…

数据结构·顺序表

1数据结构简介 学习数据结构与算法之前&#xff0c;一般是先学数据结构&#xff0c;方便之后学习算法&#xff0c;那么数据结构拆开介绍&#xff0c;就是数据 和 结构&#xff0c;数据&#xff0c;生活中到处都是&#xff0c;结构&#xff0c;就是数据存储的方式&#xff0c;即…

分布式系统一致性与共识算法

分布式系统的一致性是指从系统外部读取系统内部的数据时&#xff0c;在一定约束条件下相同&#xff0c;即数据&#xff08;元数据&#xff0c;日志数据等等&#xff09;变动在系统内部各节点应该是一致的。 一致性模型分为如下几种&#xff1a; ① 强一致性 所有用户在任意时…

git使用过的命令记录

目录 git add .git commit --amendgit push -f origin HEAD:mastergit checkout .git stash想把某个pr的修改应用到本地git pull 将远程仓库的最新代码更新到本地git 撤销&#xff0c;放弃本地修改参考文档 git add . 将本地修改提交到暂存区 git commit --amend 如果本地有…

MySQL 8.0.36 WorkBench安装

一、下载安装包 百度网盘链接&#xff1a;点击此处下载安装文件 提取码&#xff1a;hhwz 二、安装&#xff0c;跟着图片来 选择Custom,然后点Next 顺着左边框每一项的加号打开到每一个项的最底层&#xff0c;点击选中最底层的项目&#xff0c;再点击传过去右边的绿色箭头&a…

MATLAB 导出可编辑的eps格式图像

任务描述&#xff1a;部分期刊要求提交可编辑的eps格式图像&#xff0c;方便美工编辑对图像进行美化 我试了直接print或者在figure窗口导出&#xff0c;发现导出的文件放到Adobe AI中并不能编辑&#xff0c;经Google找到解决办法&#xff1a; %EPS exportgraphics(gcf,myVect…

FFmpeg的HEVC解码器源代码学习笔记-1

一直想写一个HEVC的码流解析工具&#xff0c;看了雷神264码流解析工具&#xff0c;本来想尝试模仿写一个相似的265码流分析工具&#xff0c;但是发现265的解码过程和结构体和264的不太一样&#xff0c;很多结构体并没有完全暴露出来&#xff0c;没有想到很好的方法获得量化参数…

[晓理紫]AI专属会议截稿时间订阅

AI专属会议截稿时间订阅 VX关注{晓理紫}免费,每日更新最新AI专属会议信息,如感兴趣,请转发给有需要的同学,谢谢支持!! VX关注{晓理紫}免费 IROS 2024 Deadline: Sat Mar 2nd 2024 03:59:59 PM CST (2024-03-02 15:59:59 UTC-08) date_location: October 14-18, 2024. A…

鸿蒙会成为安卓的终结者吗?

随着近期鸿蒙OS系统推送测试版的时间确定&#xff0c;关于鸿蒙系统的讨论再次升温。 作为华为自主研发的操作系统&#xff0c;鸿蒙给人的第一印象是具有颠覆性。 早在几年前&#xff0c;业内就开始流传鸿蒙可能会代替Android的传言。毕竟&#xff0c;Android作为开源系统&…