`
it八一八
  • 浏览: 1624 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

JAVA编程思想读书笔记-第三章 操作符-IT八一八原创

阅读更多
如果您喜欢读书笔记的内容,欢迎访问 http://www.it818.cn 进行观看。

1.(p.72 赋值)
基本类型的赋值是开辟一个新的内存存储空间,存放复制的值。
例如:
int a = 1;
int b = a;
a = 3;
代码执行后,a=3,b=1
而对象赋值,没有开辟新的内存空间,而只是对于对象地址的引用。
例如:
StringBuffer a = new StringBuffer("a");
StringBuffer b = a;
b.append("test");
System.out.println("a = "+ a + ",b = "+b);
输出结果为:a = atest,b = atest
代码只修改了b的值,而a的值却也被修改了,其实这是因为b只是a的一个地址引用,实际修改的内存空间是a的存储空间,因此实际上修改b确切的说是修改了a。 b只是a的映射而已。

2.(p74.算术操作符-Random类的种子)
相同的种子每次执行时随机数序列都是相同的。
例如:
Random r = new Random(47);
那么每次程序从新编译并执行时都将以以下输出序列输出随机数:
58
55
93
61
61
29
68
0
22
另外,Random类的下限为0。

3.(p.77 关系操作符 ==)
==适用于所以基本类型,但对对象使用==时,需要注意。
对象间使用==时是对“对象引用地址”的比较,即对内存空间地址的比较。如果对象引用不同,那么结果将返回false。
例如:
Integer i = new Integer(20);
Integer j = new Integer(20);
System.out.println(i==j);
结果为false。
Java中判断对象内容是否相等,需要使用equals()方法。
但需要注意的是,equals()是Object类的方法,默认比较的是对象的引用地址。如果是自创对象需要比较对象内容的话,需要在自创类中重写equals()方法来实现内容的比较。
现在JAVA类库中的大部分类都实现了equals()方法来实现对象内容的比较。

4.(p79 短路)
&& 和 || 操作时,按从左到右的顺序执行被判断的表达式,如果其中一个表达式能够使整个表达式判断终结,那么后面的表达式将不再执行。这样的行为被称为“短路”。
这样做可以提高程序效率。&和|不支持短路。

5.(p81 按位操作符)
System.out.println(1^0^0); //1    异或,有一个值为1整个表达式为1
System.out.println(0^0^0); //0
System.out.println(1&0&0); //0    与,全部为1,结果才为1
System.out.println(0&0&0); //0
System.out.println(1|0|0); //1    或,有一个值为1,整个表达式结果为1
System.out.println(0|0|0); //0
System.out.println(~1);   //非,取反值

6.(p.88 截尾和舍入)
float和double强制转化为int时执行的是截尾操作。即1.3,1.5,1.9都将转化为1.
如果想四舍五入,需要使用java.lang.Math类的round()方法.

7.(p.89 提升)
通常,表达式中出现的最大数据类型决定了表达式最终结果的数据类型。如果将一个float与double相乘,结果就是double;如果一个int和long相乘,结果就是long.
分享到:
评论

相关推荐

    Java编程思想笔记(全)

    ### Java编程思想笔记知识点概述 #### 第 1 章 对象导论 在这一章节中,主要介绍了Java中的基本概念——对象。对象是面向对象编程的核心,它封装了数据和行为。本章首先解释了对象的概念,接着讨论了如何创建对象...

    《Java编程思想》学习笔记1(操作符、控制语句、对象、初始化与清理).doc

    ### Java编程思想学习笔记知识点...以上是《Java编程思想》学习笔记中关于操作符、控制语句、对象、初始化与清理等关键知识点的总结。通过理解这些基础概念和技术细节,可以更好地掌握 Java 编程的核心原理和技术实践。

    Java编程思想第四版_读书笔记分享.pdf

    本文档总结了 Java 编程思想第四版的读书笔记,涵盖了面向对象程序设计、Java 存储结构、基本类型、BigInteger 和 BigDecimal 的使用、Javadoc 的使用、逻辑操作符、直接常量、返回 void 的方法、Break 和 continue ...

    java笔试题算法-Thinking-in-Java:《ThinkingInjava》-Note《Java编程思想》笔记作者:[美]Bruce

    《Java编程思想》笔记 看了两个月,书中有穿插着一些设计模式应用到实际的例子中。这本书不会一味地讲语法,更多的是会讲一些Java的设计思想,比如他不会一开始就教你怎么用泛型,而是先介绍为什么会出现泛型,没有...

    Java基础大全-笔记

    ### Java基础大全-笔记 #### 一、基础知识 ##### 1. JVM、JRE和JDK的区别 - **JVM (Java Virtual Machine)**: Java虚拟机,是Java平台的一个核心部分,它负责解释并执行Java字节码。JVM的设计确保了Java程序能够...

    Thinking In Java的笔记_第一章

    同时,Java也支持用户自定义类型,这是Java编程中最基础也是最重要的活动之一。 #### 三、数据的存储区域 Java中数据的存储位置主要分布在以下五个区域: 1. **寄存器**:位于处理器内部,速度最快,数量有限,一般...

    ACCP8.0JavaOOP第一章学习笔记

    ### ACCP8.0 Java OOP 第一章学习笔记 #### 一、为什么使用面向对象 面向对象编程(Object-Oriented Programming, OOP)是一种重要的编程范式,它基于对象的概念来组织和构建软件。本章节主要介绍了面向对象的基础...

    18天的JAVA笔记

    Java编程语言是软件开发领域的重要工具,尤其在企业级应用中占据着主导地位。这篇“18天的JAVA笔记”涵盖了从基础到进阶的Java学习路径,旨在帮助读者全面理解并掌握Java的核心概念和技术。 首先,让我们关注面向...

    java详细笔记

    Java是一种广泛使用的面向对象的编程...这份笔记详尽地介绍了Java编程语言的各个方面,无论是初学者还是有经验的开发者,都能从中获得宝贵的启示和知识。通过深入学习和实践,可以为实际的软件开发工作打下坚实的基础。

    Java笔记,本人学习java的心血笔记

    ### Java笔记精要 #### 第1章:Java开场白 ##### 1.1 认识Java程序 Java是一种广泛使用的编程语言,具有平台无关性、安全性强、面向对象等特点。Java程序是由一系列类组成,每个类包含数据成员(字段)和方法。 ...

    张龙 java se课程笔记

    【Java SE课程笔记详解】 Java SE(Standard Edition)是Java平台的核心版本,它为开发桌面应用、服务器端...通过深入学习和实践,你可以扎实掌握Java编程基础,为进一步深入学习Java EE或Android开发打下坚实的基础。

    core java培训学习笔记

    通过这样的学习,即使是一个新手也能逐步建立起对Java编程的全面认识,并为后续深入学习Java Web、分布式系统、大数据处理等相关技术打下坚实基础。记住,编程学习不仅仅是理论知识,更重要的是动手实践,不断编写...

    mldn核心语法笔记

    这份笔记主要聚焦于Java面向对象的编程思想,通过两个文档——“面向对象(基础)”和“面向对象(基础 第2天)”,系统地介绍了这一关键主题。 1. 面向对象编程基础 面向对象编程(Object-Oriented Programming, ...

    thinkinjava源码-ThinkingInJava:《Java编程思想4th》学习笔记Notesandsourcecodesaboutt

    本资源包含了这本书第四版的学习笔记和源代码,旨在帮助读者更好地理解和掌握Java编程思想。以下是对这些知识点的详细阐述: 1. **面向对象编程(OOP)**:Java是一种纯面向对象的语言,它强调类、对象、封装、继承...

    java学习笔记JDK6课件之七

    在Java编程语言中,封装是面向对象编程的三大特性之一,它主要体现在类(Class)的设计上。在Java学习笔记JDK6课件的第七章中,讲解了如何通过封装来构建类,以及如何利用类来创建对象并进行操作。 首先,封装的...

    c#学习笔记.txt

    c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] 51099在线学习网 http://www.51099.com 1, 结构(struct) 与 类(class) [attributes] [modifiers] struct ...

    JAVA语言第08讲(0积分)

    总之,这堂JAVA语言第08讲将是一次全面而深入的学习体验,涵盖了面向对象编程的核心概念,对于想要提升Java编程技能的人来说,是一次不可错过的学习机会。通过系统学习,你不仅可以掌握Java的基本语法,还能理解其...

Global site tag (gtag.js) - Google Analytics