[THINKING IN JAVA]操作符
3 操作符
3.1 static import
可以static import静态方法和变量,这样就可以在不写类名的前提下调用类中的静态方法和变量;
package com.chenlei.study.thinkinginjava; import static java.lang.System.out;
import static java.lang.Integer.parseInt; public class StaticImport {
public static void main(String[] args) {
out.println();
parseInt("123");
}
}
3.2 对象引用和值传递
- 对象a、b,a=b表示将b对象的引用传递给a此时a和b指向同一个对象,修改a和b任意一个引用的成员都是在修改同一个引用的成员;
- 基础类型a、b,a=b表示将b的值赋与a,此时a和b的值相等,却不是指向同一个引用,修改a和b中任何一个变量的值都会导致a!=b。
3.3 运算符
- +、-、*、/、%、+=、-=、*=、/=、%=
- ++、--(注意放在前后的区别:放在前表示先计算后取值返回,放在后表示先取值返回再计算)
- >、<、>=、<=、==、!=(注意对象的==和equals方法:==表示判断引用的对象地址是否相同,equals表示比较两个对象的内容是否相同(泛),还需注意java常量池技术)
- &&、||、!(短路:当一个表达式的值能够在某一次判断中准确得出,剩下的表达式部分将不被执行,比如a||b,如果a为true,那可以判断整个表达式为true,表达式b将不会执行)
- 直接常量:float(f/F)、double(d/D)、long(L/l)、hex(0x)、八进制(0)、浮点数(1.1e-5f)
- 按位操作符:&、|、^、~、&=、|=、^=
- 移位操作:>>、<<、>>>、>>=、<<=、>>>=
- 三元操作符:boolean-exp ? true-value : false-value
- 字符串拼接:+、+=(只要拼接的表达式中有一个是字符串,整个表达式都将返回字符串)
[THINKING IN JAVA]操作符的更多相关文章
- Java操作符
几乎所有运算符都只能操作"主类型"(Primitives).例外是"="."= ="和"! =",它们能操作所有对象.除 ...
- JavaSE复习日记 : Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符
// Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符 /* * 一 Java操作符 * * Java操作符都有哪些? * +, -, *, /, %, ++, -- * ...
- Java操作符真的简单到易如反掌?
之前我写了一篇<吃人的那些Java名词:对象.引用.堆.栈和堆栈>,本以为凭借自己8年的Java编程经验足够把这些“吃人”的Java名词解释清楚了,但有网友不以为然,在文章底部评论说:“老 ...
- Java 操作符
子系统的特点 instanceof 操作符 Animal类是Dog的直接父类,Creature类和Object类是Dog的间接父类,因此 Dog dog=new Dog(); System.out.p ...
- Java操作符,<<、>>等
数学意义:在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方. 计算:3 << 2 3 << 2,则是将数字3左移2位 1. ...
- Java 操作符小记
"在最底层,Java中的数据是通过使用操作符来操作的" (Thinking in Java) 1 算术操作符 Java 中的基本算术操作符和其他大多数程序设计语言是相同的.其中包括 ...
- Java操作符——i++ 和 ++i的区别
问题:前置自增和后置自增的区别 Code-后置自增 public class Test { public static void main(String[] args) { int a = 2; in ...
- 【Stackoverflow好问题】Java += 操作符实质
问题 直到今天,我都一直以为: i += j 等同于 i = i + j; 但如果有: int i = 5; long j = 8; 这时 i = i + j不能编译.但i += j却能够编译.这说明 ...
- [Java编程思想-学习笔记]第3章 操作符
3.1 更简单的打印语句 学习编程语言的通许遇到的第一个程序无非打印"Hello, world"了,然而在Java中要写成 System.out.println("He ...
随机推荐
- c++ 之 编译期多态&运行期多态
编译时多态:程序运行前发生的事件 —— 函数重载.运算符重载 .模板 ——静态绑定 运行时多态:程序运行时发生的事件 —— 虚函数机制——动态绑定 template<typename T> ...
- ubuntu 16.04 搭建无线共享热点(PC 无线直连Android移动终端 调试,监控屏幕)
由于android终端usb接口比较松,公司的无线网络使用人过多比较慢,所以想使用PC端无线直连 调试Android终端 配置无线共享 1 网卡要支持 2 安装 plasma-nm sudo apt- ...
- thymeleaf常用标签
1. th:checked ,th:selected标签<input type="radio" value="M" name="gender&q ...
- Spark External Datasets
Spark能够从任何支持Hadoop的存储源来创建RDD,包括本地的文件系统,HDFS,Cassandra,Hbase,Amazon S3等.Spark支持textFile.SequenceFiles ...
- SqlServer类库(自定义)
1,引用System.Configuration; 2,新建应用程序配置文件 读取SqlDataReader中的数据用where (read.Read()){//DoSomeThings()}
- NSDateFormatter遇到无法转换的问题
NSDateFormatter并不是万能的,并不是给出什么字符串都能转遍为NSDate类型,所转换的格式必须必须和你给出的格式想对应 比如说:NSString *dateStr = @"20 ...
- git stash -u 添加新文件
git 提交 有新文件执行 git stash -u ------ 如果已经执行git stash,会发现有UNtracked这个单词 说明新文件没有添加进去,此时 执行 git stash ...
- Java记事本编译
配置环境: 在“系统变量”栏下执行三项操作:①新建“Java_Home”,设置其值为 JDK所在的绝对路径,如果你的事刚才的默认路径,那值为:C:\Program Files\Java\jdk1.7. ...
- [转]OOAD基本概念
转载地址:http://www.cnblogs.com/zfc2201/archive/2012/12/09/2810532.html 尊重原作者,转载请注明 学习目标: 1.理解与掌握面向对象的概念 ...
- tomcat 更新class文件
在eclipse中写入新代码,debug并没有执行新的代码 原因:部署在tomcat的class文件没有更新,也就是当前的代码没有编译到tomcat的工作目录中 解决方案: project-clean ...