【系列01】java运算符及运算符优先级[附带目录 按需服用]

news2025/2/24 2:46:51

运算符、三元运算符、位运算符、拓展赋值、运算优先级、自增自减

运算符

运算符学习及分类

  • java代码优先级多用括号**,多用括号()**不仅方便而且增加可读性

自增自减

  • a++ 是先赋值再增加
  • ++a 是先增加再赋值
  • 上面都表示 a= a+1;
  • 自减同理由
public class Demo05 {
    public static void main(String[] args) {
        int a=3;
        int b=a++;//这一行a++ 是先赋值执行完这行代码以后再增加,所以b值是3
        //a++  a=a+1
        System.out.println(a);//a=4;
        //++a  a=a+1
        int c=++a;//先增加再把值给c 所以c的值是5
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }

}

扩充类 Math(数学计算公式)

//幂运算 2^3 2*2*2 借助Math 很多运算我们都需要借助工具处理
//特别这里可以按Alt+两次空格快捷返回值
double pow = Math.pow(2, 3);
System.out.println(pow);

位运算符

      /*
      A = 0011 1100
      b = 0000 1101
································
      比较每一位的0 1进行判断
      A&C =0000 1100
      A|B =0011 1101
      A^B =0011 0001 //相同为0 不同为1
      ~B =1111 0010 //取反
      //效率极高
      <<左移   *2
      >>右移   /2

      0000 0001   1
      0000 0010   2
      0000 0100   4
               */

拓展赋值运算符

public class Demo06 {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        a+=b;//a=a+b
        a-=b;//a=a-b
        System.out.println(a);
        //字符串连接符 + ,string
        System.out.println(""+a+b);// 输出1024
        System.out.println(a+b+"");//输出30

    }
}
  • 小细节:如果字符串在前面会变成 1024
    但是如归字符串在后面是 30

  • 其实赋值运算符就是偷懒主要是掌握概念

    三元运算符

    public class Demo07 {
        public static void main(String[] args) {
            //x?y:z 如果x==true 则为y 否则为z
            int score=80;
            String type = score < 60 ? "不及格" : "及格";
            System.out.println(type);
        }
    }
    
    • 判断语句
    • x?y:z 如果x==true 则为y 否则为z

运算优先级

转载

为了学习完整性转载了这位博主文章

转载自文章 https://blog.csdn.net/huangblog/article/details/8271791

*C语言运算符优先级*

优先级运算符名称或含义使用形式结合方向说明
1*[]*数组下标数组名[常量表达式]左到右
*()*圆括号(表达式)/函数名(形参表)
*.*成员选择(对象)对象.成员名
*->*成员选择(指针)对象指针->成员名
2*-*负号运算符-表达式*右到左*单目运算符
*~*按位取反运算符~表达式
*++*自增运算符++变量名/变量名++
*–*自减运算符–变量名/变量名–
***取值运算符*指针变量
*&*取地址运算符&变量名
*!*逻辑非运算符!表达式
*(**类型**)***强制类型转换(数据类型)表达式
*sizeof*长度运算符sizeof(表达式)
3*/*表达式/表达式左到右双目运算符
***表达式*表达式
*%*余数(取模)整型表达式%整型表达式
4*+*表达式+表达式左到右双目运算符
*-*表达式-表达式
5*<<*左移变量<<表达式左到右双目运算符
*>>*右移变量>>表达式
6*>*大于表达式>表达式左到右双目运算符
*>=*大于等于表达式>=表达式
*<*小于表达式<表达式
*<=*小于等于表达式<=表达式
7*==*等于表达式==表达式左到右双目运算符
*!**=***不等于表达式!= 表达式
8*&*按位与表达式&表达式左到右双目运算符
9*^*按位异或表达式^表达式左到右双目运算符
10*|*按位或表达式|表达式左到右双目运算符
11*&&*逻辑与表达式&&表达式左到右双目运算符
12*||*逻辑或表达式||表达式左到右双目运算符
13*?😗条件运算符表达式1?表达式2: 表达式3*右到左*三目运算符
14*=*赋值运算符变量=表达式*右到左*
*/=*除后赋值变量/=表达式
*=**乘后赋值变量*=表达式
*%=*取模后赋值变量%=表达式
*+=*加后赋值变量+=表达式
*-=*减后赋值变量-=表达式
*<<=*左移后赋值变量<<=表达式
*>>=*右移后赋值变量>>=表达式
*&=*按位与后赋值变量&=表达式
*^=*按位异或后赋值变量^=表达式
*|=*按位或后赋值变量|=表达式
15*,*逗号运算符表达式,表达式,…左到右

*说明:*

*同一优先级的运算符,运算次序由结合方向所决定。*
*简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符*

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

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

相关文章

CSS3 之属性

文章目录calcborderbox-shadowbackground-image垂直渐变水平渐变左上角渐变渐变方向写法组合background-clipbackground-attachmentword-wrap:break-word&#xff1a;允许长单词换行到下一行;word-wrap:word-break&#xff1a;text-shadow3、字体white-space 设置如何处理元素内…

Java设计模式中建造者模式是啥/建造者模式实现细节是什么/工厂模式,抽象工厂与建造者模式之间区别是啥

继续整理记录这段时间来的收获&#xff0c;详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用&#xff01; 4.6 建造者模式 4.6.1 概述 分离部件构造(由Builder来创建)和装配(Director组装)实现构建与装配解耦用户只需指定复杂对象类型就可得到最终对象&#xff0c;不需…

医药行业应用APS生产排产软件的必要性

高级计划与排程APS生产排产软件(advanced planning and scheduling) 是一个立足于整个企业生产活动的计算机系统。利用APS生产排产软件的管理手段和信息&#xff0c;企业可优化其从制定生产产量到管理最终产品的整个生产流程中的各个环节。利用实时、准确的数据&#xff0c;APS…

umi4 多环境配置改变

umi3 多环境我们可以根据脚本配置环境变量&#xff0c;然后配置不同的umirc 或者config 文件&#xff0c;从而达到配置多环境的效果。 问题描述 umi4 发布了&#xff0c;还是按照umi3 的配置了多环境&#xff0c; package.json 配置 了不同环境运行和编译脚本&#xff1a; co…

Netty进阶——粘包与半包(固定长度方式解决粘包问题)

目录一、固定长度方式解决粘包问题&#xff08;代码示例&#xff09;1.1、固定长度方式解决粘包问题的服务端代码示例1.2、固定长度方式解决粘包问题的客户端代码示例1.3、分别启动服务端&#xff0c;客户端&#xff0c;查看服务端结果输出一、固定长度方式解决粘包问题&#x…

一零四六、Spark性能调优

本文分为四个部分&#xff0c;基本涵盖了所有Spark优化的点&#xff0c;面试和实际工作中必备。 《Spark性能优化&#xff1a;开发调优篇》《Spark性能优化&#xff1a;资源调优篇》《Spark性能优化&#xff1a;数据倾斜调优篇》《Spark性能优化&#xff1a;shuffle调优篇》Spa…

如何在C++ 中调用 Python

在一些场景下&#xff0c;C 通过调用脚本语言实现一些功能会比用C实现更加的方便。 这里要介绍的是pybind11&#xff0c;pybind11 借鉴了“前辈”Boost.Python&#xff0c;能够在 C 和 Python 之间自由转换&#xff0c;任意翻译两者的语言要素&#xff0c;比如把 C 的 vector …

0-1背包 完全背包 (模板)

目录 【模板】01背包_牛客题霸_牛客网 描述 输入描述&#xff1a; 输出描述&#xff1a; 【模板】完全背包_牛客题霸_牛客网 描述 输入描述&#xff1a; 输出描述&#xff1a; 【模板】01背包_牛客题霸_牛客网 描述 你有一个背包&#xff0c;最多能容纳的体积…

使用语义分割架构的文档扫描仪 DeepLabV3

0 介绍 地址:https://learnopencv.com/deep-learning-based-document-segmentation-using-semantic-segmentation-deeplabv3-on-custom-dataset/ 文档扫描是一个背景分割问题,可以使用多种方法解决。 它是计算机视觉广泛使用的应用程序之一。 在本文中,我们将文档扫描视为语…

从动态的角度分析DDR的时序结构

从整体上了解了DDR的特性和静态图&#xff0c;包括原理、管脚图等。那么本章就要从动态的角度来分析时序结构&#xff0c;包括read/write的整个过程到数据返回发生了什么。一&#xff0c;DRAM基本组成对于DRAM&#xff0c;其主要由行和列组成&#xff0c;每一个bit中都是由类似…

84、【栈与队列】leetcode ——1047. 删除字符串中的所有相邻重复项:栈+双指针解法(C++版本)

题目描述 原题链接&#xff1a;1047. 删除字符串中的所有相邻重复项 解题思路 一、栈顶匹配重复元素 本题需要删除重复且相邻元素&#xff0c;存入不重复元素。根据相邻特点&#xff0c;可采用栈进行实现。 当栈顶元素和遍历的字符串中的字符相同时&#xff0c;则将其弹栈。…

spring内置验证码kaptcha,baomidou使用详解

引入pom <dependency><groupId>com.baomidou</groupId><artifactId>kaptcha-spring-boot-starter</artifactId><version>1.1.0</version></dependency>application.yml 配置 kaptcha:height: 50width: 200content:length: 5s…

【Linux从入门到放弃】Linux编辑器——vim的使用

&#x1f9d1;‍&#x1f4bb;作者&#xff1a; 情话0.0 &#x1f4dd;专栏&#xff1a;《Linux从入门到放弃》 &#x1f466;个人简介&#xff1a;一名双非编程菜鸟&#xff0c;在这里分享自己的编程学习笔记&#xff0c;欢迎大家的指正与点赞&#xff0c;谢谢&#xff01; L…

TPM知识点集锦

1. 实体类型&#xff08;Entity Types&#xff09; &#xff08;1&#xff09;永久实体&#xff08;Permanent Entities&#xff09; 层级&#xff08;Hierarchies&#xff09;字典攻击锁定机制&#xff08;the dictionary attack lockout mechanism&#xff09;平台配置寄存…

Python安装torch(含torch和torchvision对应版本)

torch 、torchvision和python的对应版本如下&#xff1a; torch torchvision pythonmaster / nightlymaster / nightly>3.61.7.1 0.8.2>3.61.7.0 0.8.1>3.61.7.00.8.0>3.61.6.00.7.0>3.61.5.10.6.1>3.51.5.00.6.0>3.51.4.00.5.0 2.7, >3.5, <3.81…

HTC红外发射器基站红灯,死机,恢复出厂固件操作步骤

固件路径&#xff1a;C:\Program Files (x86)\Steam\steamapps\common\SteamVR\tools\lighthouse\firmware\lighthouse_tx\archive\htc_2.0 原厂244固件 找到以下两个文件 lighthouse_tx_htc_2_0-calibration-rescue-244.binlighthouse_tx_htc_2_0-244-2016-03-12.bin 1.在…

Python采集二手房源数据信息 基础版, 多线程版

前言 大家早好、午好、晚好吖 ❤ ~ 环境使用: Python 3.8 Pycharm 模块使用: requests >>> pip install requests 数据请求模块 parsel >>> pip install parsel 数据解析模块 re csv 内置模块 安装python第三方模块: win R 输入 cmd 点击确定, 输入…

基础算法(一)——快速排序

快速排序 介绍 快排是一种复杂度O(nlog(n)nlog(n)nlog(n))的排序算法&#xff0c;在极端情况下会退化为O(n2{n}^2n2)&#xff0c;但是它是一种原地算法&#xff0c;即不需要占据额外空间 原理是先在数列中取一个数x&#xff0c;这个数一般随机选取或是取中间值&#xff0c;然…

四、k8s实战入门

本章节将介绍如何在kubernetes集群中部署一个nginx服务&#xff0c;并且能够对其进行访问。 1 namespace Namespace是kubernetes系统中的一种非常重要资源&#xff0c;它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。 默认情况下&#xff0c;kubernetes集群…

VuePress搭建文档网站遇到的一些坑点,中文路径,图片显示失败,打包白屏

VuePress搭建文档网站遇到的一些坑点 前言 本篇记录用VuePress搭建文档网站时碰到的一些坑点和解决方案 ★提高阅读体验★ &#x1f449; ♠一级标题 &#x1f448; &#x1f449; ♥二级标题 &#x1f448; &#x1f449; ♥ 三级标题 &#x1f448; &#x1f449; ♥…