Java运算符(二)

news2024/11/29 4:41:16

算术运算符

1.1运算符和表达式

  • 运算符:对常量和变量进行操作的符号

  • 表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以成为表达式

不同运算符连接的表达式体现的是不同类型的表达式

  • 举例说明:

int a=10;

int b=20;

int c=a+b;

+:是运算符,并且是算术运算符

a+b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式

1.2算术运算符

符号

作用

说明

+

-

*

/

%

取余

获取的是两个数据做除法的余数

        //定义两个变量
        int x = 6;
        int y = 4;

        System.out.println(x+y);
        System.out.println(x-y);
        System.out.println(x*y);
        System.out.println(x/y);
        System.out.println(x%y);
        //除法得到的是商,取余得到的是余数


        //整数相除只能得到整数,要想得到小数,必须有浮点数的参与
        System.out.println(6.0/4);

注意事项:

/%的区别:两个数据做除法,/取结果的%取结果的余数

整数操作只能得到整数,要想得到小数,必须有浮点数参与运算

1.3字符的"+"操作

        //定义两个变量
        int z=10;
        char c='A';//'A'的值是45
        System.out.println(c+z);

算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型自动进行提升

提升规则:

  • byte类型,short类型和char类型将被提升到int类型

  • 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型

等级顺序:byte,short,char->int->long->float->double


        //char ch=i+c;
        //char类型会被自动提升为int类型
        int gg=z+c;
        System.out.println(gg);

1.4字符串的"+"操作

当"+"操作中出现字符串时,这个"+"是字符串连接符,而不是算术运算

  • "编程"+666

当"+"操作中,如果出现了字符串,就是连接运算符,否则就是算术运算,当连续进行"+"操作时,从左到右逐个执行

  • 1+99+"年黑马"

赋值运算符

2.1赋值运算符

符号

作用

说明

=

赋值

a=10,将10赋值给变量a

+=

加后赋值

-=

减后赋值

*=

乘后赋值

/=

除后赋值

%=

取余后赋值

注意事项:

扩展的赋值运算符隐含了强制类型转换

自增自减运算符

符号

作用

说明

++

自增

变量的值加1

--

自减

变量的值减1

  //定义变量
        int i=10;
        System.out.println(i);

        //单独使用
        ++i;
        System.out.println("i:"+i);

        //参与操作使用
        int j=i++;
        System.out.println("i:"+i);
        System.out.println("j:"+j);

注意事项:

  • ++和--既可以放在变量的后边,也可以放在变量的前边

  • 单独使用的时候,++和--无论是放在变量的前边还是后边,结果是一样的

  • 参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或--.

参与操作的时候,如果放在变量的前边,先拿变量做++或者--,后拿变量参与操作

最常见的用法:单独使用

关系运算符

4.1关系运算符

符号

说明

==

!=

>

>=

<

<=

注意事项:

关系运算符的结果都是boolean类型,要么是true,要么是false

千万不要把"=="误写成"="

逻辑运算符

5.1逻辑运算符概述

在数学中,一个数据x,大于3,小于6,我们可以这样来进行表示:3<x<6

在Java中,需要把上面的式子先进行拆解,再进行合并表达

  • 拆解为:x>3x<6

  • 合并后:x>3&&x<6

&&其实就是一个逻辑运算符

我们可以这样说,逻辑运算符,是用来连接关系表达式的运算符

当然,逻辑运算符也可以连接布尔类型的常量或变量

符号

作用

说明

&

逻辑与

|

逻辑或

^

逻辑亦或

!

逻辑非

5.3短路逻辑运算符

符号

作用

说明

&&

短路与

作用和&相同,但是有短路效果

||

短路或

作用和|相同,但是有短路效果

注意事项:

  • 逻辑与&,无左边真假,右边都要执行

短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行

  • 逻辑或|,无论左边真假,右边都要执行

短路或||,如果左边为假,右边执行;如果左边为真,右边不执行

最常用的逻辑运算符:&&、||、!

三元运算符

6.1三元运算符

  • 格式:关系表达式表达式1:表达式2;

  • 范例:a>b?a:b

计算规则:

首先计算关系表达式的值

如果值为true,表达式1的值就是运算结果

如果值是false,表达式2的值就是运算结果

        int weight1=180;
        int weight2=200;

        boolean b = weight1==weight2 ? true:false;

        System.out.println("b:"+b);

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑投影左右切换

要同时使用几个显示器的情况 winp 投影 然后右键桌面 显示设置 长按选择左右屏幕

DRR(Digitally Reconstructured Radiograph)分类及原理

DRR(Digitally Reconstructured Radiograph)分类及原理 DRR(Digitally Reconstructured Radiograph)&#xff0c;全称为数字重建放射影像&#xff0c;其是通过将三维 (3D) 图像&#xff08;Volume&#xff09;透视投影到二维 (2D) 图像平面上而生成的射线照相图像的模拟。DRR被…

Oracle客户端 PL/SQL Developer:

1、配置文件进行导入导出 2、提示“ORA-00900: 无效 SQL 语句“解决方法 在PL/SQL中的SQL窗口用desc想显示指定表格abs_generl.prodord_sku的结构&#xff0c;提示无效语句 PL/SQL切换到命令窗口&#xff0c;再用desc显示表格abs_generl.prodord_sku的结构&#xff0c;执行成功…

2023年面试题之Dubbo基础

1. 为什么要用 Dubbo&#xff1f;随着服务化的进一步发展&#xff0c;服务越来越多&#xff0c;服务之间的调用和依赖关系也越来越复杂&#xff0c;诞生了面向服务的架构体系(SOA)&#xff0c;也因此衍生出了一系列相应的技术&#xff0c;如对服务提供、服务调用、连接处理、通…

libtorch c++ 使用预训练权重(以resnet为例)

任务&#xff1a; 识别猫咪。 目录 1. 直接使用 1.1 获取预训练权重 1.2 libtorch直接使用pt权重 2. 间接使用 2.1 BasicBlock 2.2 实现ResNet 2.3 BottleNeck 1. 直接使用 1.1 获取预训练权重 比如直接使用Pytorch版的预训练权重。先把权重保存下来&#xff0c;并打印…

vue+element详细完整实现个人博客、个人网站

一.前言 博客成品在线预览&#xff1a;点击访问 接上一篇《vueelementui实现非常好看的博客、网站首页&#xff0c;网站模板》。 上一篇实现了整个框架的搭建和首页的编码&#xff0c;在此基础上&#xff0c;这一期进行了最终的功能页面完善&#xff0c;增加了功能&#xff1a…

【自学Python】Python合并字符串

Python合并字符串 Python合并字符串教程 在开发过程中&#xff0c;很多时候我们有合并 字符串 的需求&#xff0c;即把一个 元祖 或 列表 中包含的多个字符串连接成一个字符串。这个操作是 分割字符串 的逆操作。 在 Python 中&#xff0c;合并字符串我们使用 join() 函数。…

过气明星李嘉明和《丁香花》唐磊,找哪个录制祝福视频值100万

说起娱乐圈的明星&#xff0c;给人的感觉都是光鲜亮丽&#xff0c;因为他们有流量有热度&#xff0c;想要赚钱就太容易了。过去的娱乐圈明星&#xff0c;都是靠自己的专业赚钱&#xff0c;比如说你是著名歌星&#xff0c;就要靠唱歌赚钱&#xff0c;如果你是影视明星&#xff0…

天天都接触的以太网接口,你知道有哪些类型和参数吗?

以太网接口简介 以太网接口是一种用于局域网组网的接口&#xff0c;包括&#xff1a;以太网电接口、以太网光接口。 为了适应网络需求&#xff0c;设备上定义了以下几种以太网接口类型&#xff1a; 二层以太网接口 是一种物理接口&#xff0c;工作在数据链路层&#xff0c;不…

ASP.NET Core 3.1系列(30)——Newtonsoft.Json实现JSON的序列化和反序列化

1、前言 在早期版本的ASP.NET Core项目中&#xff0c;Newtonsoft.Json的使用率非常高。虽然微软当前主推System.Text.Json来处理JSON的序列化和反序列化&#xff0c;但Newtonsoft.Json在这方面做的也是相当不错&#xff0c;下面就来介绍一下它的用法。 2、引入Newtonsoft.Jso…

echarts柱状图值为0是不显示以及柱状图百分比展示

echarts柱状图值为0是不显示以及柱状图百分比展示 1.效果展示 2.代码 <template><div id"container"><div id"main"></div></div> </template> <script>import * as echarts from echarts import * as lodash…

代码随想录第四天(203、707)

文章目录一、链表知识203. 移除链表元素提交看答案之后的豁然开朗707. 设计链表完全不会&#xff0c;看完答案后改的一、链表知识 1、链表在内存中的存储不是连续的 意思是这个链表的其实节点是2&#xff0c;终止节点是7 2、链表和数组的对比 数组的长的是固定的&#xff0c…

【Iot】阿里云物联网平台入门之什么是消息解析、什么是Topic、JavaScript脚本示例解析

在IoT场景中&#xff0c;很多传感器采集到的都是二进制数据&#xff0c;或者私有协议格式数据流&#xff0c;设备端又不具备转换成结构化JSON的能力&#xff0c;这时候我们可以借助IoT物联网平台云端自定义数据解析能力&#xff0c;转换Modbus&#xff0c;电力协议&#xff0c;…

YOLO家族系列模型的演变:从v1到v8(下)

昨天的文章中&#xff0c;我们回顾了 YOLO 家族的前 9 个架构。本文中将继续总结最后3个框架&#xff0c;还有本月最新发布的YOLO V8. YOLOR Chien-Yao Wang, I-Hau Yeh, Hong-Yuan Mark Liao “You Only Learn One Representation: Unified Network for Multiple Tasks”202…

JavaWeb-JavaScript

JavaWeb-JavaScript 1&#xff0c;JavaScript简介 JavaScript 是一门跨平台、面向对象的脚本语言&#xff0c;而Java语言也是跨平台的、面向对象的语言&#xff0c;只不过Java是编译语言&#xff0c;是需要编译成字节码文件才能运行的&#xff1b;JavaScript是脚本语言&#…

43. 【农产品溯源项目前后端Demo】后端二次开发的重点修改位置

前面讲过农产品溯源Demo比较简单,如果想二次开发需要重点关注的目录。 如果要开发一个新的API、对接新的合约,需要有哪些步骤? 定义数据结构,在domain包新增Class,定义好数据字段,定义好get、set方法。domain包没有业务的逻辑实现,只有结构、字段定义。 如果字段首字母小…

手摸手学会node框架之一——koa 傻瓜式小白教程

一、Koa简介 基于 Node.js 平台的下一代 web 开发框架。 由 Express 幕后的原班人马打造&#xff0c; 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石。 详细请参考Koa官网进行学习。 二、Koa基础入门 1.项目初始化 执行 npm init -y, 生成…

博客之星规则能否参照“金球奖”

文章目录课前小差粉丝对我的价值粉丝数量的提升KOL与粉丝链接粉丝影响收入博客之星规则设想博客之星新玩法&#xff1f;内部评审展望2023写在最后课前小差 哈喽&#xff0c;大家好&#xff0c;我是几何心凉&#xff0c;这是一份全新的专栏&#xff0c;唯一得倒CSDN王总的授权&…

小侃设计模式(廿一)-状态模式

1.概述 状态模式&#xff08;State Pattern&#xff09;是行为型设计模式的一种&#xff0c;它主要用来解决对象存在多种状态转换时&#xff0c;需要对外输出不同的行为。状态模式与策略模式有一定相似&#xff0c;区别在于策略模式行为彼此独立&#xff0c;可以进行相互替换&…

VueJs中的toRef与toRefs函数的一个比较

前言ref是处理基本数据类型响应式API函数,在setup中声明定义的变量,可以直接在模板中使用没有被响应式API包裹处理的变量数据,是不具备响应式能力的也就是往往在逻辑中修改了数据,但是页面不会更新,那怎么样将一个非响应式数据变成响应式数据就需要用到toRef()与toRefs()这两个…