-运算符-

news2024/11/19 5:35:33

目录

一.算术运算符

(一).四则运算符:加减乘除模(+-*/%)

(二).增量运算符+= -= *= %=

(三).自增/自减运算符++ --

二.关系运算符==  !=  <  >  <=  >=

三.逻辑运算符&&  ||  !

(一).逻辑与  (表达式1&&表达式2)

(二).逻辑或  ||

(三).逻辑非  !

(四).& 和 |(一般不这样用)

四.位运算符& | ~ ^

1.按位与&(都为1结果才是1,否则为0)

2.按位或|(有一个1结果就是1)

3.按位异或^(相异为1)

4.按位取反~(1变0,0变1)

五.移位(比特位/二进制位)运算 << >> >>>

1.左移 <<

2.右移 >>

3.无符号右移>>>

4.注意:

六.条件运算符


运算符就是对操作数进行操作的符号

一.算术运算符

(一).四则运算符:加减乘除模(+-*/%)

1.上述运算符都是二元运算符。(必须有左右两个操作数)

2.int型/int型结果是int型,并且结果回向下取整。(例如3/2=1)

3.进行除法和模运算时,右操作数不能为0。(例如3/0,3%0,会出现错误)

4.在java中不仅可以对整型取模而且可以对double类型取模。(例如11.5%2.0==1.5)

5.两侧操作数类型不一致时,向类型大的提升。[1+0.2==1.2   int型(会提升为double型)+double型=double型]

(二).增量运算符+= -= *= %=

(三).自增/自减运算符++ --

1.a++与++a的区别。

2.a++中a必须是变量而不能是常量,常量不允许被修改。

二.关系运算符==  !=  <  >  <=  >=

1.一个错误写法: 3 < a < 5 (3 < a执行完是boolean型, boolean怎么能和5(int型)比较大小呢)

三.逻辑运算符&&  ||  !

运算后的结果都是boolean类型

(一).逻辑与  (表达式1&&表达式2)

1.表达式1与表达式2都为真,结果才是真,除此之外结果都为假。

2.短路求值:表达式1结果为false,表达式2不会被系统执行,结果一定是false

(二).逻辑或  ||

1.表达式1或者表达式2有一个结果为真,最终运算结果就是真(有一个为真就行)

2.短路求值:表达式1结果为true, 表达式2不会被执行,结果一定是true

(三).逻辑非  !

(四).& 和 |(一般不这样用)

&和|也可以表示逻辑运算,但与&&和||相比不支持短路求值

    public static void main(String[] args) {
        System.out.println((10 > 20) && (10 / 0 == 0));//不会报错,因为10 > 20执行后结果为false,10 / 0 == 0不会被执行
        System.out.println((10 > 20) & (10 / 0 == 0));//会报除数不能为0的错误,因为两个表达式都被执行了
    }

四.位运算符& | ~ ^

java中数据存储的最小单位是字节(byte, 1byte = 8bit),而数据操作的最小单位是比特(bit)

位运算就是对二进制位(比特位)进行操作。

注意;
这里的& |与标题三中的区别, 当&|的操作数为整数(int, short, long, byte) 的时候, 表示按位运算, 当操作数为boolean的时候, 表示逻辑运算.

1.按位与&(都为1结果才是1,否则为0)

        int a = 10;
        int b = 20;
        System.out.println(a & b);

2.按位或|(有一个1结果就是1)

3.按位异或^(相异为1)

    public static void main3(String[] args) {
        int a = 0x1;
        int b = 0x2;
        System.out.printf("%x\n", a ^ b);//输出3
    }

4.按位取反~(1变0,0变1)

    public static void main(String[] args) {
        int a = 0xf;//前缀0x代表十六进制,0xf化为十进制为15,化为二进制为1111
        System.out.printf("%x\n", ~a);//%x表示按十六进制方式输出
    }

五.移位(比特位/二进制位)运算 << >> >>>

1.左移 <<

左移会丢失符号位,因此正数左移可能会变成负数

 int a = 0x10;//十进制为2
 System.out.printf("%x\n", a << 1);
 //运行结果20(十六进制),十进制为4

2.右移 >>

最右侧bit位不要, 正数则最左侧补0,负数则最左侧补1

3.无符号右移>>>

最右侧bit位丢掉,最左侧补0

4.注意:

(1).没有 <<<

(2).运算2^N可以借助可以借用移位运算符

六.条件运算符

表达式1 ? 表达式2 : 表达式3

1.表达式2与表达式3结果必须是同类型

2.不能单独存在,产生的结果必须要被使用

 int a = 10;
 int b = 20;
 a > b? a : b;     // 报错:Error:(15, 14) java: 不是语句

3.

    public static void main(String[] args) {
        boolean flag = true == true ? false ? true :false :true;
        System.out.println(flag);
    }
    //运行结果为false
    //boolean flag = (true == true) ? (false ? true : false) :true;
    true == true 满足执行表达式1(false ? true : false)

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

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

相关文章

JMeter 下载、安装、启动

JMeter安装部署依赖Java环境&#xff0c;所以首先得安装JDK。 JDK下载JDK环境变量配置 ① 新建系统环境变量JAVA_HOME ② 编辑系统变量Path ③ 新建系统变量CLASSPATH变量 JMeter下载安装 Apache JMeter - Apache JMeter™ JMeter安装部署依赖Java环境&#xff0c;所以首…

Framework - ActivityThread 应用启动UI渲染流程

一、概念 ActivityThread拥有 main(String[] agrs) 方法&#xff0c;作为程序的入口&#xff0c;是应用程序的初始化类。&#xff08;ActivityThread不是主线程&#xff0c;它在 main() 方法中实例化&#xff0c;是运行在主线程中。&#xff09;ApplicationThread是 ActivityT…

Docker搭建MySQL8主从复制

之前文章我们了解了面试官&#xff1a;说一说Binlog是怎么实现的&#xff0c;这里我们用Docker搭建主从复制环境。 docker安装主从MySQL 这里我们使用MySQL8.0.32版本&#xff1a; 主库配置 master.cnf //基础配置 [client] port3306 socket/var/run/mysqld/mysql.sock [m…

java(面向对象基础)

面向对象的三大特征&#xff1a;封装、继承、多态 一、封装 用 类设计对象处理某一个事物的数据时&#xff0c;应该把要处理的数据&#xff0c;以及处理这些数据的方法&#xff0c;设计到一个对象中去。 封装规范&#xff1a;合理隐藏&#xff0c;合理暴露&#xff08;先将成…

力扣hot100 编辑距离 多维DP

Problem: 72. 编辑距离 文章目录 思路Code 思路 &#x1f468;‍&#x1f3eb; 参考地址 Code ⏰ 时间复杂度: O ( n m ) O(nm) O(nm) &#x1f30e; 空间复杂度: O ( n m ) O(nm) O(nm) class Solution {public int minDistance(String s1, String s2){int n s1.lengt…

MongoDB基础认识

MongoDB数据库介绍 名称源自“humongous”&#xff08;意为“巨大无比”&#xff09;。MongoDB 是由C语言编写的&#xff0c;是一个基于分布式文件存储的开源数据库系统。在高负载的情况下&#xff0c;添加更多的节点&#xff0c;可以保证服务器性能。MongoDB 旨在为WEB应用提…

备战蓝桥杯---搜索(DFS基础1)

何为深搜&#xff1f; 即不撞南墙不罢休。 话不多说&#xff0c;直接看题&#xff1a; 我们可以把这看成深搜的模板题&#xff0c;下面是AC代码&#xff1a; #include<bits/stdc.h> using namespace std; int a[15];//存值并输出 int vis[15]; int n18; void dfs(int …

Nicn的刷题日常之喝汽水问题

目录 1.题目描述 2.解题思路 3.解题 4.思路2 解题 1.题目描述 喝汽水&#xff0c;1瓶汽水1元&#xff0c;2个空瓶可以换一瓶汽水&#xff0c;给20元&#xff0c;可以喝多少汽水&#xff08;编程实现&#xff09;。 2.解题思路 1. 20元首先可以喝20瓶&#xff0c;此时手…

书生浦语2-对话-20B大模型部署实践

简介 书生浦语2.0是一个大语言模型&#xff0c;是商汤科技与上海 AI 实验室联合香港中文大学和复旦大学发布的新一代大语言模型。‘ 具体特性 有效支持20万字超长上下文&#xff1a;模型在 20 万字长输入中几乎完美地实现长文“大海捞针”&#xff0c;而且在 LongBench 和 L…

Python程序设计 函数基础

简单函数 函数&#xff1a;就是封装了一段可被重复调用执行的代码块。通过此代码块可以实现大量代码的重复使用。 函数的使用包含两个步骤&#xff1a; 定义函数 —— 封装 独立的功能 调用函数 —— 享受 封装 的成果 函数的作用&#xff0c;在开发程序时&#xff0c;使用…

2024年美赛F题超详细思路

Problem F: Reducing Illegal Wildlife Trade 美赛F题以非法野生动物贸易为背景进行命题&#xff0c;需要我们选择客户进行一系列的问题。本文正式解题前需要收集客户的数据以及数据预处理。对于客户的选择&#xff0c;这里考虑的点在于该客户需要能够对非法贸易交易产生影响。…

el-upload子组件上传多张图片(上传为files或base64url)

场景&#xff1a; 在表单页&#xff0c;有图片需要上传&#xff0c;表单的操作行按钮中有上传按钮&#xff0c;点击上传按钮。 弹出el-dialog进行图片的上传&#xff0c;可以上传多张图片。 由于多个表单页都有上传多张图片的操作&#xff0c;因此将上传多图的el-upload定义…

6、基于机器学习的预测

应用机器学习的任何预测任务与这四个策略。 文章目录 1、简介1.1定义预测任务1.2准备预测数据1.3多步预测策略1.3.1多输出模型1.3.2直接策略1.3.3递归策略1.3.4DirRec 策略2、流感趋势示例2.1多输出模型2.2直接策略1、简介 在第二课和第三课中,我们将预测视为一个简单的回归问…

Python开源项目周排行 2024年第3周

ython 趋势周报&#xff0c;按周浏览往期 GitHub,Gitee 等最热门的Python开源项目&#xff0c;入选的项目主要参考GitHub Trending,部分参考了Gitee和其他。排名不分先后&#xff0c;都是当周相对热门的项目。 入选公式&#xff1d;70%GitHub Trending20%Gitee10%其他 关注微…

K8S-NFS-StorageClass

工作流程 K8s中部署NFS-StorageClass K8s的StorageClass提供了为集群动态创建PV的能力。 1.部署NFS服务 2.选择NFS的Provinisoner驱动 K8S中没有内置的NFS的制备器&#xff0c;而定义StorageClass的时候需要指定制备器&#xff08;Pervisioner&#xff09;,所以需要&#xf…

Pycharm Community 配置调试Behave

前提&#xff1a;python小白&#xff0c;临时搞python项目&#xff0c;公司限制使用Pycharm版本&#xff0c;故只能使用社区版&#xff0c;然而官方有明确说明&#xff1a;只有Professional版支持Behave。故研究了半天才整清楚社区版调试Behave的设置 没有进行下面的步骤之前&…

C++面试宝典第26题:螺旋矩阵

题目 给你一个正整数n,生成一个包含1到n的平方的所有元素,且元素按顺时针顺序螺旋排列成n x n的正方形矩阵。 示例: 输入:n = 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 解析 螺旋矩阵是指按照顺时针(或逆时针)螺旋顺序排列元素的二维矩阵。比如:给定一个如下的3x3矩阵,按顺…

PSoc62™开发板之WDT应用

看门狗 看门狗定时器(WDT)是一种硬件定时器&#xff0c;在出现意外固件时自动复位设备执行路径。如果启用了WDT&#xff0c;则必须在固件中定期进行服务&#xff0c;以避免复位。否则&#xff0c;计时器失效并产生一个设备复位。此外&#xff0c;WDT可以用作中断源或在低功耗唤…

正点原子--STM32定时器学习笔记(1)(更新中....)

F1系列基本定时器&#xff08;TIM6 / TIM7&#xff09; 我们的目标是通过TIM6基本定时器定时500ms&#xff0c;让LED0每隔500ms闪一下&#xff01; 思路&#xff1a;使用定时器6&#xff0c;实现500ms产生一次定时器更新中断&#xff0c;在中断里执行“翻转LED0”。 定时器什…

2024021期传足14场胜负前瞻

2024021期赛事由亚洲杯2场、英超5场&#xff0c;德甲6场、非洲杯1场组成。售止时间为2月3日&#xff08;周六&#xff09;19点00分&#xff0c;敬请留意&#xff1a; 本期1.5以下赔率3场&#xff0c;1.5-2.0赔率3场&#xff0c;其他场次基本皆是平半盘、平盘。本期14场整体难度…