操作符用于接受一个或多个参数,并生成一个新的值。加号和一元的正号(+)、减号和一元的负号(一)、乘号(*)、除号(/)以及赋值号(=)的用法和大多数编程语言都类似。

操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的值,这被称为“副作用’。那些能改变其操作数的操作符,最普遍的用途就是用来产生副作用;但要记住,使用此类操作符生成的值,与使用没有副作用的操作符生成的值,没有什么区别。几乎是所有的操作符都只能操作“基本类型”。,但“=”、“==“和”!=“能操作所有对象。String支持”+“和”+=“。

优先级

一个表达式存在多个操作符的时候,计算时就是按照操作符的优先级,先乘除后加减。最简便的方法就是利用括号()控制操作符的顺序。

而String类型的可以用+来连接每个String。

赋值

普通赋值:赋值使用操作符“=”,把右边的值复制给左边,左值必须是明确的变量。比如: a=8;

对象赋值:在为对象‘赋值”的时候,我们真正操作的是对对象的引用。倘若“将一个对象赋值给另一个对象”,实阮是将“引用”从一个地方复制到另一个地方。这意味着假若对对象使用C=B,那么C和B都指向原本只有B指向的那个对象。下面这个例子将向大家阐示这一点。

class Breakyizhan {
int Y;
} public static void main(String[] args){
Breakyizhan c1=new Breakyizhan();
Breakyizhan c2=new Breakyizhan();
c1.Y =2;
c2.Y = 80;
System.out.println("1: c1.Y: "+c1.Y + ", c2.Y:"+c2.Y);
//对象c1和c2都指向了c2的对象;要记得c1和c2只是一个引用;
c1=c2;
System.out.println("2: c1.Y: "+c1.Y + ", c2.Y:"+c2.Y);
//对象c1的引用被覆盖之后,就是丢失了,也就是c1之前所指的对象被“垃圾回收”了,c1现在和c2一样指的是同一个对象
c1.Y = 33;
System.out.println("3: c1.Y: "+c1.Y + ", c2.Y:"+c2.Y); }

结果是:

1: c1.Y: 2 , c2.Y:80
2: c1.Y: 80 , c2.Y:80
3. c1.Y: 33 , c2.Y:33

这种Java操作对象的方法叫做“别名现象”,为了避免这个现象,可以这么写: c1.Y=c2.Y;

更多内容请访问:Java的全部操作符解析|Break易站

Java的常用操作符的更多相关文章

  1. Kotlin——高级篇(五):集合之常用操作符汇总

    在上一篇文章Kotlin--高级篇(四):集合(Array.List.Set.Map)基础中讲解到了数组Array<T>.集合(List.Set.Map)的定义与初始化.但是由于篇幅的原因 ...

  2. Java的常用对象①②

    Java的常用对象① Java的常用对象有很多,这里只对lang包中常用的Object,Date(Calendar,DateFormat,Math),System,Runtime进行介绍.㈠Objec ...

  3. Java中常用的查找算法——顺序查找和二分查找

    Java中常用的查找算法——顺序查找和二分查找 神话丿小王子的博客 一.顺序查找: a) 原理:顺序查找就是按顺序从头到尾依次往下查找,找到数据,则提前结束查找,找不到便一直查找下去,直到数据最后一位 ...

  4. java中常用的工具类(三)

    继续分享java中常用的一些工具类.前两篇的文章中有人评论使用Apache 的lang包和IO包,或者Google的Guava库.后续的我会加上的!谢谢支持IT江湖 一.连接数据库的综合类       ...

  5. java中常用的工具类(二)

    下面继续分享java中常用的一些工具类,希望给大家带来帮助! 1.FtpUtil           Java   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  6. java中常用的工具类(一)

    我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...

  7. java项目常用 BaseDao BaseService

    java项目常用 BaseDao BaseService IBaseDao 1 package com.glht.sim.dao; 2 3  import java.util.List; 4 5 6 ...

  8. Java中常用的运算符

    运算符是一种“功能”符号,用以通知 Java 进行相关的运算,Java 语言中常用的运算符可分为如下几种: 算数运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符. 一.算数运算符 Java 中常 ...

  9. Java最常用的变量定义汇总

    Java最常用的数据类型有基本数据类型,字符串对象,数组,基本数据类型又分为:数值型(包括整形和浮点型),字符型,布尔型,下面用一个简单的程序把这些数据类型汇总一下 public class Java ...

随机推荐

  1. ARM开发(1) 基于STM32的LED跑马灯

    一 跑马灯原理:  1.1 本实验实现2个led的跑马灯效果,即2个led交替闪烁.  1.2 实验思路:根据电路图原理,给led相关引脚赋予高低电平,实现电路的导通,使led灯发光.  1.3 开发 ...

  2. NLP —— 图模型(零):EM算法简述及简单示例(三硬币模型)

    最近接触了pLSA模型,该模型需要使用期望最大化(Expectation Maximization)算法求解. 本文简述了以下内容: 为什么需要EM算法 EM算法的推导与流程 EM算法的收敛性定理 使 ...

  3. (转)Sublime Text2 快捷键汇总

    场景:最近在编写项目中越发的感觉到一个得心应手的编辑器是多么的重要,而sublime,无疑是让我用着最舒服,最有感觉的编辑器了! 1 快捷键总结 一个好的编辑器,能大大提高编程的效率.如果能熟知软件的 ...

  4. vue.js中使用Axios

    Axios为vue2.0官方推荐HTTP请求工具,之前的是vue-resource 在使用的过程中总结了两种使用方式: 1.和vue-resource使用类似 引入:import axios from ...

  5. tomato dualwan /root目录的特殊用途

    测试发现tomato dualwan /root目录下存储的文件重启后会自动清掉.利用这个特性可以把测试生成的临时文件丢到这里. root下本应该存在的.vimrc 文件 采用如下方法生成: 在/op ...

  6. [补档][Lydsy2017年4月月赛]抵制克苏恩

    [Lydsy2017年4月月赛]抵制克苏恩 题目 小Q同学现在沉迷炉石传说不能自拔.他发现一张名为克苏恩的牌很不公平. 如果你不玩炉石传说,不必担心,小Q同学会告诉你所有相关的细节.炉石传说是这样的一 ...

  7. Backpropagation 算法的推导与直观图解

    摘要 本文是对 Andrew Ng 在 Coursera 上的机器学习课程中 Backpropagation Algorithm 一小节的延伸.文章分三个部分:第一部分给出一个简单的神经网络模型和 B ...

  8. Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. For example, given n = 3, a solution set is: "((()))", "(()())", "(())()", "()(())", "()()()"

    思路:采用递归的思想,当左括号数大于右括号数时可以加左或者右括号,否则只能加左括号,当左括号数达到n时,剩下全部.不过,每一个方法的调用都会产生一个栈帧,每执行一个方法就会出现压栈操作,所以采用递归的 ...

  9. git for windows+TortoiseGit客户端的使用二

    通常都是使用git协议方式来连接服务器,然后使用https方式的连接方法,是如何设置的: 先登录github服务器,获取远程服务器仓库: 在本地创建一个存放仓库的目录,然后使用tortoiseGit客 ...

  10. 今天聊一聊nuxt.js(上)

    背景 近期在做内部系统的重构,从一线业务彻底的重构,经过充分的考虑我们准备把这个项目打造成前台业务的试验站,比如ssr和一些其他的前沿技术的探索,积累充分的经验后待合适的契机应用到C端的项目中. 既然 ...