很多人在编程的过程中有很多的疑问,比如说等于号,等于号谁都知道是由赋值的作用,那也仅仅对于变量而已,那对于对象呢?

好了,废话不多说。下面是小编的总结。


一、对变量而言

等于号具有赋值的作用,比如说a=3,就是把3赋值于a。这个是很简单的,大家都经常赋值,除了判断要双等于号外,但单等于号在初始化对象的时候进行赋值。

二、对引用对象而言

等于号具有传引用(隐式指针)的作用,这个也不难理解,比如说指针:a=b,对象a的指针指向对象b的地址,这时候a就引用了b的地址,起到了传地址的作用。


三、关于单等于号、双等于号和三等于号的作用

单等于号作用如上所述。下面从双等于号说起

1.双等于号

举一个例子,如if(a==b)就执行某某某语句,我们都知道实际上a==b不是所谓的变量对象值的比较,在java中一般两个变量的值的比较是a.equals(b)[其中a、b是两个变量对象值,任取]。所以实际上a==b是两个变量对象的栈地址的比较,这就涉及了栈、常量池和堆的概念,如果不懂请看博主的关于这三者的解释或者上网从java底层开始看。同时,双等于号是不严格等于。

不严格等于例子:

"1"== true;由于类型不同,会进行一个数据类型转换true转换为"1""1"== 1在把"1"转换为1在比较1 == 1所以true是等于1的

所以可以看出双等于的不严格性,三等于号就解决了这个问题。

2.三等于号

三等于号就是用来进行严格判断的,无论js还是java中都是如此,如下例的直观前端例子:

var c = "3"
var b =  3
c == b true
c === b false

其中c是字符串,b是数值,而因为var类型是js里一个变量类型,也是唯一的变量类型,这就是js为什么是弱类型语言的原因,因为java还有8个基本数据类型呢!(骄傲(‾◡◝))~哔~~~跳过

因为就是数值在转换过程中不严谨,双等于号成立,如果还要进行更加严格的判断,连一点差错都没有,那就是得是三等于号啦,所以就是这个严格的符号运用在一系列稳定的程序设计中。


java编程细节总结(一):等于号的作用相关推荐

  1. java中三个等号_Java细节:单等于号、双等于号、三等于号的作用及双等于号和equls的区别...

    我们在编程时总是会用到=或==,但是等于号都有什么作用呢?下面我们来看一下 (注:下文会提及一点常量池.堆栈,由于本人了解还不是透彻,暂不做解释,日后会做总结,可先点击字面查看理解) 一.单等于号的作 ...

  2. Java细节:单等于号、双等于号、三等于号(js中才有)的作用及双等于号和equals(源码)的区别

    我们在编程时总是会用到=或==,但是等于号都有什么作用呢?下面我们来看一下 (注:下文会提及一点常量池.堆栈,由于本人了解还不是透彻,暂不做解释,日后会做总结,可先点击字面查看理解) 一.单等于号的作 ...

  3. java原生的编译软件_原生态Java 程序员容易忽视的编程细节

    Java是Java程序设计语言和Java平台的总称,要想学好一门语言,打好基础最关键的,学习一种新的编程语言比学习新的口头语言要容易得多.然而,在这两种学习过程中,都要付出额外的努力去学习不带口音地说 ...

  4. 非洲瓜哇JAVA布的特点_java语言的基本特性以及编程细节

    前言 java语言的学习是一个体系,所以如果想要对java的编程有一个很精通的一个掌握,它离不开很多基础的知识点,比如JVM的原理.java多线程并发编程.数据结构等等.所以我这里对我学习的java的 ...

  5. Java编程中忽略这些细节,Bug肯定找上你

    摘要:在Java语言的日常编程中,也存在着容易被忽略的细节,这些细节可能会导致程序出现各种Bug. 本文分享自华为云社区<Java编程中容易忽略的细节总结丨[奔跑吧!JAVA]>,作者:j ...

  6. java 1 2 等于_java 判断语句中一个等于号和两个等于号的区别是什么?

    展开全部 一个等于号 是赋值操作的意e5a48de588b63231313335323631343130323136353331333365633864思 比如 int i = 5 就是把i的值赋为5 ...

  7. Java中getneighbor,桩号转经纬度的实现[Java编程]

    赞助商链接 本文"桩号转经纬度的实现[Java编程]"是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体 ...

  8. Java中等于号,传值和传址区别

    1.Java等号的两种作用 java的等于号在进行数据之间赋值时就是传值:在引用对象之间,等于号作用就是传地址. 比如自建类 ListNode xList=ListNode(0); ListNode ...

  9. Partially Labeled Dirichlet Allocation(PLDA)算法的理解与编程细节(Java)

    本文作者:合肥工业大学 电子商务研究所 钱洋 email:1563178220@qq.com . 内容可能有不到之处,欢迎交流. 未经本人允许禁止转载. 文章目录 论文来源 模型 公式推理 编程细节 ...

最新文章

  1. [转载]Linux从程序到进程
  2. python语音播报-用Python写一个语音播放软件
  3. C++中前置操作符和后置操作符的重载
  4. 根据 *_train_test.prototxt文件生成 *_deploy.prototxt文件
  5. php调用不存在的方法,php如何调用不存在的方法
  6. jaxb注解使用_使用JAXB时
  7. 垃圾回收算法以及垃圾回收器_什么是垃圾回收?
  8. leetcode421. 数组中两个数的最大异或值(贪心算法)
  9. linux命令kill百科,Linux 命令 kill
  10. 看看你爱的他今天是什么‘颜色‘ -- Python爬取微博评论制作专属偶像词云
  11. 【数据结构和算法】广度优先BFS遍历图(树的层序遍历的拓展)
  12. 苹果macfcpx视频剪辑软件:Final Cut Pro X
  13. 9.企业应用架构模式 --- 领域逻辑模式
  14. 1.9 Important Themes(一些重要的概念)
  15. 微型计算机的硬件原理图,电脑硬件基础图解
  16. 易优cms设置完伪静态之后,产品板块出现404
  17. 迷惘一代、沉默一代、X世代、Z世代……美国的几代人
  18. linux系统安装佳能打印机驱动,如何在Debian和Debian系统上安装(Canon)打印机
  19. True Liars (POJ - 1417)带权并查集+dp路径
  20. Android项目小结——硬解码(MediaCodec实现[MP4]转YUV420各种格式)

热门文章

  1. NOIP(CSP)初赛知识总结
  2. 电脑dhcp服务器修改,更改电脑dhcp服务器地址
  3. Charles抓包(数据)
  4. ffmpeg裁剪视频画面
  5. 职业选手cfg文件怎么用_游戏id不会取?看看职业选手怎么取id吧!都是满满的干货...
  6. 英语语法:词法之动词不定式
  7. 世界上这五类人永远不可能成为编程界牛人
  8. 爬虫 | 王者荣耀高清壁纸-多线程
  9. 设备远程监管可以做到什么?
  10. 『 云原生·Docker』虚拟机与容器