`
凌紫冥
  • 浏览: 24532 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java编程思想第四版——第七天

    博客分类:
  • Java
 
阅读更多
2012-03-28
70-76/913

昨天找一好心的网友弄到一本java编程思想第四版的文字版,但是奇怪的是为什么和扫描版的差别那么大呢?搞不懂,章节都不同。又对比了下第三版,和第三版也不同,那这个又是哪一版呢?奇怪。看来还是先用扫描版的吧。

第3章 操作符
在最底层,Java中德数据是通过使用操作符来操作的。
Java建立在C++基础之上,做了一些改进和简化。

3.1 更简单的打印语句
静态导入(static import)java SE5中新增。
使用java最常见的问题之一:CLASSPATH环境变量,使用类库,在计算机的CLASSPATH环境变量中添加代码目录树的根目录。

3.2 使用java操作符
操作符接受一个或多个参数,生成一个新值。参数的形式与普通的方法调用不同,但效果是相同的。
操作符作用于操作数,生成一个新值。
副作用:操作符改变操作数自身的值。与没有副作用的操作符生成的值,没有什么区别。
几乎所有的操作符都只能操作“基本类型”。例外:“=”、“==”、“!=”,这些操作符能操作所有的对象。除此之外,String类支持“+”和“+=”。

3.3 优先级
表达式中存在多个操作符,优先级决定了各部分的计算顺序。Java对计算顺序做了特别的规定,最简单的规则就是先乘除后加减。最好用括号明确规定计算顺序。
编译器观察到一个String后面紧跟一个“+”,而这个“+”的后面又紧跟一个非String类型的元素时,就会尝试将这个非String类型的元素转换为String。

3.4 赋值
赋值使用操作符“=”,意思是“取右边的值(右值),把它复制给左边(左值)”。右值可以是任何常数、变量或者表达式(只要它能生成一个值就行)。但左值必须是一个明确的、已命名的变量。也就是说,必须有一个物理空间可以存储等号右边的值。
不能把任何东西赋给一个常数,常数不能作为左值。
基本数据类型赋值:基本类型存储了实际的数值,并非指向一个对象的引用,为其赋值时,直接将一个地方的内容复制到了另一个地方。
为对象赋值,对一个对象进行操作,真正操作的是对对象的引用,所以将一个对象赋值给另一个对象,实际是将引用从一个地方复制到另一个地方。例:对对象使用c=d,那么c和d都指向原本只有d指向的那个对象。
别名现象,java操作对象的一种基本方式。避免别名现象,直接操作对象内的域。但是这样容易导致混乱,并且违背了良好的面向对象程序设计的原则。应该留意,为对象赋值可能会产生意想不到的结果。

3.4.1 方法调用中的别名问题
将一个对象传递给方法时,也会产生别名问题。

3.5 算术操作符
Java的基本算术操作符与其他大多数程序设计语言是相同的。加号(+)、减号(-)、除号(/)、乘号(*)、取模操作符(%,从整数除法中产生余数),整数除法会直接去掉结果的小数位,而不是四舍五入的圆整结果。
Java使用一种来自C和C++的简化符号同时进行运算与赋值操作:x加4,将结果赋回给x,x+=4。

Random类,如果创建过程中没有传递任何参数,那么java就会将当前时间作为随机数生成器的种子,并由此在程序每一次执行时都产生不同的输出。通过在创建Random对象时提供种子(用于随机数生成器的初始化值,随机数生成器对于特定的种子值总是产生相同的随机数序列),就可以在每一次执行程序时都生成相同的随机数。通过Random类的对象,程序可生成许多不同类型的随机数字,调用方法:nextInt()、nextFloat()、nextLong()、nextDouble(),传递给nextInt()的参数设置了所产生的随机数的上限,下限为0。

3.5.1 一元加、减操作符
一元加、减和二元加、减使用相同的符号,根据表达式的书写形式,编译器会自动判断出使用的是哪一种。一元减号用于转变数据的符号,而一元加号只是为了与一元减号相对应,但是它唯一的作用仅仅时将较小类型的操作数提升为int。
分享到:
评论

相关推荐

    Thinking In Java 4

    《T h i n k i n g I n J a v a》中文版 第四版 同人类任何语言一样,Java 为我们提供了一种表达思想的方式。如操作得当,同其他方式相比,随着问题变 得愈大和愈复杂,这种表达方式的方便性和灵活性会显露无遗。 不...

    leetcode下载--:——

    第四版》 《剑指 Offer 第二版》的最优解,在牛客网在线编程中出现的题目都已 AC。 对题目做了一个分类,并对每种题型的解题思路做了总结。 面向对象 :woman_and_man_holding_hands: 整理自《Head First 设计模式》 ...

    javascript 使用手册

     第四,两种语言所采取的变量是不一样的。Java采用强类型变量检查,即所有变量在编译之前必须作声明。JavaScript中变量声明,采用其弱类型。即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。  第五...

    asp.net知识库

    体验.net2.0的优雅(四):Provider、策略、控制反转和依赖注入 泛型最佳实践 asp.net 2.0下嵌套masterpage页的可视化编辑 C# 2.0与泛型 动态调用对象的属性和方法——性能和灵活性兼备的方法 泛型技巧系列:用泛型...

    Android程序设计基础

     阅读本书唯一的前提条件,是具备对Java编程或类似面向对象语言(比如说C#)的基本理解,不需要拥有为移动设备开发软件的经验。实际上,如果你确实有这方面的经验,反倒应该忘记它们。Android是如此与众不同,因此...

    代码之美(中文完整版).pdf

    5.8 版本 6:第四次优化:缓存(Caching) 5.9 从故事中学到的 第6章 集成测试框架:脆弱之美 6.1. 三个类搞定一个验收测试框架 6.2. 框架设计的挑战 6.3. 开放式框架 6.4. 一个HTML解析器可以简单到什么程度? 6.5. ...

    C#微软培训资料

    第七章 表 达 式 .58 7.1 操 作 符 .58 7.2 算术操作符和算术表达式.59 7.3 赋值操作符和赋值表达式.64 7.4 关系操作符和关系表达式.65 <<page 2>> page begin==================== 7.5 逻辑操作符和...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    第四章 系统设计 4.1开发框架技术介绍 对于框架技术,我们采用Struts+ajax的整合! Struts是应用比较广泛的一种表现层框架 1、 Struts是一个为开发基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用...

    基于J2EE框架的个人博客系统项目毕业设计论...

    第四章 系统设计 4.1开发框架技术介绍 对于框架技术,我们采用Struts+ajax的整合! Struts是应用比较广泛的一种表现层框架 1、 Struts是一个为开发基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用...

    2009.6.19—30举办3S研讨会暨Google Earth与Google Map等仿真建模与共享及ARCGIS与遥感高级程序员培训班

    第四单元:国际最优秀GIS最新技术应用---ARCGIS9.2/9.3系列专题 1、介绍目标前国际上最优秀的GIS软件ARCCIS9体系结构及全面了解ARCCIS9.0桌面系统的体系结构和功能介绍,介绍ESRI的ARC-CATALOG,ARCTOOLBOX通用GIS...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    第四章 页面自适应机制设计 23 4.1页面兼容策略 23 4.2 页面自适应策略 24 4.2.1设备自适应 24 4.2.2.浏览器自适应 25 4.3 模块实现 25 4.3.1根据适口属性设计响应式布局: 26 4.3.2同分辨率范围内的流式布局设计 26...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 常见的数据模型 1. 层次结构模型: 层次结构模型实质上是一种有根结点的定向有序树,IMS...

Global site tag (gtag.js) - Google Analytics