【添砖Java】java的运算符、注释与关键字

news/2024/10/17 6:36:17/

文章目录

    • 运算符
      • 算术运算符
      • 关系运算符
      • 逻辑运算符
      • 位运算符
      • 移位运算符
      • 条件运算符
    • 注释
      • 基本规则
      • 注释规范
    • 关键字

运算符

算术运算符

  1. 基本四则运算符:+(加)、-(减)、*(乘)、/(除)、%(取余);
     int/int的结果还是int,0不能作为除数;
     %不仅可以对int求模取余,也可以对double求模取余。
  2. 增量赋值运算符:+=、-=、*=、/=、%=;
  3. 自增/自减运算符:++、–;
     如果不取自增运算的表达式的返回值,则前置自增和后置自增没有区别;
     如果取表达式的返回值,则前置返回的值是自增之后的值,后置自增是返回自增之前的值。

关系运算符

  关系运算符主要有六个:==、!=、<、>、<=、>=;
  关系运算符的返回值都是boolean类型。

逻辑运算符

  逻辑运算符主要有三个:&&(与)、||(或)、!(非);
  逻辑运算符的操作数和返回值都是boolean。

  1. 逻辑与&&
     两个操作数都为true时,返回true,否则返回false;
  2. 逻辑或||
     两个操作数都为false时,返回false,否则返回true;
  3. 逻辑非!
     操作数为false时,返回true,操作数为true时,返回false。
  4. 短路求值
     &&和||遵守短路求值的规则,&&第一个操作数为false则直接返回false,||第一个操作数为true则直接返回true。
  5. &和|
     &和|的操作数为boolean的时候,也表示逻辑运算,但是不支持短路求值。

位运算符

  位运算符主要有四个:&、|、~、^;
  位操作表示安二进制位运算,计算机中都是使用二进制来表示数据的,按位运算就是在按照二进制位的每一位一次进行计算。

  1. 按位与&:全1为1,有0为0;
  2. 按位或|:全0为0,有1为1;
  3. 按位取反~:把1变为0,0变为1;
     0x前缀的数字为十六进制数字,printf能够格式化输出内容,%x表示按照十六进制输出。
  4. 按位异或^:同0或同1则为0,相异则为1。

移位运算符

  移位运算符有三个:<<、>>、>>>

  1. 左移<<:最左侧的一位不要了,最右侧补0;
  2. 右移>>:最右侧的一位不要了,在左侧补充符号位;
  3. 无符号右移>>>:最右侧的一位不要了,最左侧补0;
      左移1位,相当于原数字2,左移N位,相当于原数字2的N次方;
      右移1位,相当于原数字/2,右移N位,相当于元数字/2的N次方;
      由于计算机计算移位效率高于基本四则运算,当某个代码正好除2的N次方的时候可以用移位运算代替;
      移动负数位或移位位数过大都没有意义。

条件运算符

  条件运算符只有一个:表达式1?表达式2:表达式3;
  当表达式1的值为true时,整个表达式的值为表达式2的值,当表达式1的值为false是,整个表达式的值为表达式3的值。

注释

  注释是为了让代码更加容易被读懂而附加的描述信息,不参与编译运行满是却非常重要。代码不仅仅是写出来给别人看的,更是为了让三个月后的自己看懂自己写的代码。

基本规则

  单行注释://注释内容(使用最多)
  多行注释:/*注释内容*/(不推荐)
  文档注释:/**文档注释*/(常见于方法和类之上的描述方法和类的作用)

注释规范

  内容准确:注释内容要和代码一直、匹配,并在代码修改时及时更新;
  篇幅合理:注释既不应该太精简,也不应该长篇大论;

关键字

  用于定义访问权限修饰符的关键字:private、protected、public
  用于定义类、函数、变量修饰符的关键字:abstract、final、static、synchronized
  用于定义类与类之间关系的关键字:extends、implements
  用于定义建立实例及引用实例,判断实例的关键字:new、this、super、instanceof
  用于异常处理的关键字:try、catch、finally、throw、throws
  用于包的关键字:package、import
  其他修饰符关键字:native、strictfp、transient、volatile、assert


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

相关文章

ChatGPT实战100例 - (05) ChatGPT 结合 Mermaid 的 Gantt 图表示

文章目录 ChatGPT实战100例 - (05) ChatGPT 结合 Mermaid 的 Gantt 图表示一、需求与思路二、辨析概念三、图形展示四、总结1. 为什么不使用PlantUML&#xff1f;2. Gantt图是这样用的么&#xff1f;3. Gantt图的主要使用场景&#xff1f; ChatGPT实战100例 - (05) ChatGPT 结合…

「数据库、数据库连接池、数据源」这些概念你真的理解了吗?

前言 我学习的过程中&#xff0c;对于连接池和数据源分得不是很清楚&#xff0c;而且我发现有的人将数据库等同于数据源&#xff0c;或者将数据源等同于连接池&#xff0c;实际上这些说法并不准确。 在某次工作中&#xff0c;同事 A 说道&#xff0c;这个数据源不行&#xff0…

常见分布式锁4:zookeeper 瞬时znode节点 + watcher监听机制,ChatGPT回复的解决死锁的方案

原文地址在这里 临时节点具备数据自动删除的功能。当client与ZooKeeper连接和session断掉时&#xff0c;相应的临时节点就会被删除。zk有瞬时和持久节点&#xff0c;瞬时节点不可以有子节点。会话结束之后瞬时节点就会消失&#xff0c;基于zk的瞬时有序节点实现分布式锁&#x…

科技云报到:存储开源,风雨飘摇下“披着羊皮的狼”?

科技云报道原创。 这些年开源界的风风雨雨&#xff0c;时不时撼动着人们的内心。 2022年&#xff0c;俄乌冲突导致全球最大的独立开源软件公司SUSE、美国开源软件巨头Redhat、主流开源容器引擎Docker&#xff0c;纷纷宣布停止与俄罗斯的合作。 而全球最大的开源及私有代码项目…

socket 及 字节序转换(嵌入式学习)

socket 及 字节序转换 socket简介Socket为什么需要Socket&#xff1f;socket类型Socket通信模型 字节序主机字节序到网络字节序网络字节序到主机字节序IP地址转换 socket简介 1、1982 - Berkeley Software Distributions 操作系统引入了socket作为本地进程之间通信的接口 2、1…

Linux 服务简单优化

硬件优化 处理器&#xff1a;核心数、主频、制程工艺、线程数、缓存等 核心数&#xff1a;1、2、4、6、8、12、24、32等 主频&#xff1a;2.0GHz、2.3GHz等等 制程工艺&#xff1a;22nm、14nm、10nm等等 线程数&#xff1a;1、2 缓存&#xff1a;L1、L2、L3 建议&#xff1a;尽…

Linux用户的分类与家目录,ls、pwd、cd、mkdir、touch、rmdir、rm指令与选项等

Linux中用户的分类与用户的家目录 在Linux当中&#xff0c;用户的分类只分为两类&#xff0c;一类叫做超级用户root&#xff0c;还有就是其他也就是传说中的普通用户。我们刚刚登进去时&#xff0c;默认所处的目录是***/root或者/home/用户名***&#xff0c;比如说/root, /hom…

知识库管理系统对于企业有哪些作用及优势?

知识库管理系统是一种通过集成多种技术手段&#xff0c;将企业内部知识进行收集、整理、存储、分析和共享的信息管理系统。知识库管理系统可以帮助企业管理和利用企业内部的知识&#xff0c;提高企业的创新能力和竞争力。 知识库管理系统的作用 1、促进企业内部知识的流通和共…