2012-03-29
76-80/913
3.6 自动递增和递减
递减:--,意为,减少一个单位。
递增:++,意为,增加一个单位。++a等价于a=a+1
递增和递减操作符不仅改变了变量,并且以变量的值作为生成的结果。
各有两种使用方式:前缀式、后缀式
前缀递增:++i、前缀递减:--i,先执行运算,再生成值。
后缀递增:i++、后缀递减:i—,先生成值,再执行运算。
除那些涉及赋值的操作符以外,唯一具有“副作用”的操作符。它们会改变操作数,而不仅仅是使用自己的值。
“java=C++--”,意味着java去除了C++中一些很困难而又没必要的东西,称为了一种更精简的语言。更精简,并不是说java在其他方面也比C++容易很多。
3.7 关系操作符
关系操作符生成的是一个boolean结果,它们计算的是操作数的值之间的关系。关系是真实的,表达式生成true,关系不真实,生成false。
关系操作符:<、>、<=、>=、==、!=
==、!=适用于所有的基本数据类型,其他比较符不适用于boolean类型,因为boolean值只能为true或false,“大于”和“小于”没有实际意义。
3.7.1 测试对象的等价性
==、!=也适用于所有对象,比较的是对象的引用。对象的内容相同,对象的引用不同,结果是不相等的。
比较两个对象的实际内容是否相等,必须使用所有对象都适用的特殊方法equals(),这个方法不适用于“基本类型”,基本类型直接使用==、!=。
创建自己的类:
class Value{
int i;
}
public class EqualsMethod{
public static void main(String [] args){
Value v1 = new Value();
Value v2 = new Value();
V1.i = v2.i = 100;
System.out.println(v1.equals(v2));
}
}/* Output:
false
*///:~
打印结果是false,这是由于equals的默认行为是比较引用,所以除非在自己的新类中覆盖equals()方法,否则不可能表现出我们希望的行为。
大多数java类库都实现了equals()方法,以便用来比较对象的内容,而非比较对象的引用。
3.8 逻辑操作符
逻辑操作符:与(&&)、或(||)、非(!)
与(&&)、或(||)、非(!)操作只可应用于布尔值。
与C及C++不同的是:不可将一个非布尔值当作布尔值在逻辑表达式中使用。例如:i&&j、i||j、!i。
“//!”这种注释语法使得注释能够被自动移除以方便测试。
在应该使用String值得地方使用了布尔值,布尔值会自动转换成适当的文本形式。
浮点数的比较是非常严格的,即使一个数仅在小数不忍与另一个数存在极微小的差异,仍然认为它们是不相等的,即使一个数只比零大一点点,它仍然是非零值。
3.8.1 短路
使用逻辑操作符时,会遇到一种短路现象。即一旦能够明确无误的确定整个表达式的值,就不再计算表达式余下部分了。因此,整个逻辑表达式靠后的部分有可能不会被运算。
如果所有的逻辑表达式都有一部分不必计算,将获得潜在的性能提升。
每题的练习都完成了。
这样真的好慢,后期不知道能不能速度快点,不过速度慢点也没关系,重要的是基础要打牢了,细节、思想都要随着时间也慢慢侵蚀自己的思维。
76-80/913
3.6 自动递增和递减
递减:--,意为,减少一个单位。
递增:++,意为,增加一个单位。++a等价于a=a+1
递增和递减操作符不仅改变了变量,并且以变量的值作为生成的结果。
各有两种使用方式:前缀式、后缀式
前缀递增:++i、前缀递减:--i,先执行运算,再生成值。
后缀递增:i++、后缀递减:i—,先生成值,再执行运算。
除那些涉及赋值的操作符以外,唯一具有“副作用”的操作符。它们会改变操作数,而不仅仅是使用自己的值。
“java=C++--”,意味着java去除了C++中一些很困难而又没必要的东西,称为了一种更精简的语言。更精简,并不是说java在其他方面也比C++容易很多。
3.7 关系操作符
关系操作符生成的是一个boolean结果,它们计算的是操作数的值之间的关系。关系是真实的,表达式生成true,关系不真实,生成false。
关系操作符:<、>、<=、>=、==、!=
==、!=适用于所有的基本数据类型,其他比较符不适用于boolean类型,因为boolean值只能为true或false,“大于”和“小于”没有实际意义。
3.7.1 测试对象的等价性
==、!=也适用于所有对象,比较的是对象的引用。对象的内容相同,对象的引用不同,结果是不相等的。
比较两个对象的实际内容是否相等,必须使用所有对象都适用的特殊方法equals(),这个方法不适用于“基本类型”,基本类型直接使用==、!=。
创建自己的类:
class Value{
int i;
}
public class EqualsMethod{
public static void main(String [] args){
Value v1 = new Value();
Value v2 = new Value();
V1.i = v2.i = 100;
System.out.println(v1.equals(v2));
}
}/* Output:
false
*///:~
打印结果是false,这是由于equals的默认行为是比较引用,所以除非在自己的新类中覆盖equals()方法,否则不可能表现出我们希望的行为。
大多数java类库都实现了equals()方法,以便用来比较对象的内容,而非比较对象的引用。
3.8 逻辑操作符
逻辑操作符:与(&&)、或(||)、非(!)
与(&&)、或(||)、非(!)操作只可应用于布尔值。
与C及C++不同的是:不可将一个非布尔值当作布尔值在逻辑表达式中使用。例如:i&&j、i||j、!i。
“//!”这种注释语法使得注释能够被自动移除以方便测试。
在应该使用String值得地方使用了布尔值,布尔值会自动转换成适当的文本形式。
浮点数的比较是非常严格的,即使一个数仅在小数不忍与另一个数存在极微小的差异,仍然认为它们是不相等的,即使一个数只比零大一点点,它仍然是非零值。
3.8.1 短路
使用逻辑操作符时,会遇到一种短路现象。即一旦能够明确无误的确定整个表达式的值,就不再计算表达式余下部分了。因此,整个逻辑表达式靠后的部分有可能不会被运算。
如果所有的逻辑表达式都有一部分不必计算,将获得潜在的性能提升。
每题的练习都完成了。
这样真的好慢,后期不知道能不能速度快点,不过速度慢点也没关系,重要的是基础要打牢了,细节、思想都要随着时间也慢慢侵蚀自己的思维。
发表评论
-
Java编程思想第四版——第二十一天
2012-05-04 12:56 5732012-05-04 163-170/913 Java编 ... -
Java编程思想第四版——第二十天
2012-05-03 13:45 6982012-05-03 158-163/913 Java编程思 ... -
Java编程思想第四版——第十九天
2012-05-02 11:08 8092012-05-02 149-158/913 Java编程思 ... -
Java编程思想第四版——第十八天
2012-04-27 13:12 9972012-04-27 142-149/913 Java编 ... -
Java编程思想第四版——第十七天
2012-04-25 11:18 7372012-04-25 138-142/913 Java编程思 ... -
Java编程思想第四版——第十六天
2012-04-24 13:50 7472012-04-24 131-138/913 Java编 ... -
Java编程思想第四版——第十五天
2012-04-23 17:14 7512012-04-23 121-131/913 Java编程思 ... -
Java编程思想第四版——第十四天
2012-04-19 11:28 6202012-04-19 118-121/913 Java编程思 ... -
Java编程思想第四版——第十三天
2012-04-18 12:08 6622012-04-18 108-118/913 Java编 ... -
Java编程思想第四版——第十二天
2012-04-09 10:58 7242012-04-09 102-108/913 Java编 ... -
Java编程思想第四版——第十一天
2012-04-05 12:21 8152012-04-05 Java编程思想第四版——第十一天 ... -
Java编程思想第四版——第十天
2012-03-31 12:03 5572012-03-31 97-102/913 Java编程思想 ... -
Java编程思想第四版——第九天
2012-03-30 14:59 6382012-03-30 80-97/913 Java编程思想第 ... -
Java编程思想第四版——第七天
2012-03-28 12:24 6512012-03-28 70-76/913 昨天找 ... -
Java编程思想第四版——第六天
2012-03-27 13:02 5262012-03-27 66-70/913 最近两 ... -
Java编程思想第四版——第五天
2012-03-23 15:09 9382012-03-23 60-66/913 2.5 方法、参数 ... -
Java编程思想第四版——第四天
2012-03-22 12:41 5872012-03-22 54-60/913 第二章 ... -
Java编程思想第四版——第三天
2012-03-21 12:40 5652012-03-21 47-54/913 1.12 并 ... -
Java编程思想第四版——第二天
2012-03-20 13:54 727今天本来以为进度可以 ... -
Java编程思想第四版——第一天
2012-03-19 15:57 780Java已经丢手一年了 ...
相关推荐
《Thinking in Java》是Bruce Eckel创作的一部Java编程经典著作,英文版的第四版更是深受全球程序员喜爱的参考资料。这本书全面深入地介绍了Java语言,不仅适合初学者,也对有经验的程序员提供了宝贵的洞见。它以...
《Java编程思想》是 Bruce Eckel 的经典著作,第四版更是深受广大Java程序员喜爱。这本书深入浅出地讲解了Java语言的核心概念和技术,包括面向对象编程、类与对象、继承与多态、接口、异常处理、集合框架、泛型、...
第四版在原有的基础上进行了更新,加入了更多现代Java特性,如泛型、枚举、集合框架等。 1. **面向对象编程**:Java是一种纯面向对象的语言,理解类、对象、接口以及它们之间的关系至关重要。类是对象的蓝图,通过...
### Java编程思想第三版核心知识点解析 #### 一、引言 《Java编程思想》作为一本备受推崇的经典著作,自问世以来便深受广大Java开发者喜爱。本书由Bruce Eckel撰写,以其独特的视角和深入浅出的讲解方式,帮助无数...
### 《用Java思考》第四版 —— Bruce Eckel 著 #### 书籍概述 本书为《用Java思考》的第四版,作者是Bruce Eckel,MindView公司的总裁。这本书自出版以来就受到了广大Java程序员的高度评价。本书并非扫描版本,...
第四版作为最新的版本,涵盖了从基础语法到高级特性的全面内容,旨在帮助读者理解并掌握Java编程的精髓。这本书的练习题是检验学习成果、提升编程技能的重要途径。以下是对这些练习题答案的一些关键知识点的解析: ...
- **第四章:树** —— 深入讨论了树的各种类型(如二叉树、平衡树等)及其操作,如遍历、插入和删除。 - **第五章:散列** —— 介绍了散列表的工作原理、散列函数的设计以及处理冲突的方法。 - **第六章:优先队列...
### 《Thinking in Java》——Java编程思想精粹 #### 一、书籍简介与评价 《Thinking in Java》是Java编程领域中的一本经典之作,由资深程序员Bruce Eckel撰写,自出版以来就受到了广大读者的高度评价。本书被誉为...
Java面向对象程序设计是计算机科学中的一个重要领域,它基于面向对象编程思想,使得代码更加模块化、可维护和可重用。张亦辉版的教材是许多初学者和专业人士学习这一主题的参考资料。该压缩包包含了该教材1-10章的...
- **子程序(方法)**:第四章解释了如何定义和使用子程序,以及它们在程序设计中的作用。 - **复合数据类型**:第六章详细阐述了数组、列表等复合数据类型的使用。 2. **面向对象程序设计的基本思想**: - **类...
通过以上五个星期的学习与实践,不仅掌握了Java编程的基础知识,还深入了解了面向对象编程的思想与高级特性,并通过实际项目加深了对技术的理解与运用能力。这样的实习经历对于成为一名合格的Java开发者至关重要。
《Java面向对象程序设计(第2版)》是一本深入探讨Java编程的教材,尤其注重面向对象编程思想的讲解。本书通过丰富的实例代码,帮助读者理解并掌握Java语言的核心概念和面向对象编程的关键要素。在提供的压缩包文件...
- **1996年1月:** 第一个Java开发工具包(JDK)——JDK 1.0发布,开启了Java编程的新纪元。 - **1996年4月:** 主要的操作系统供应商宣布支持Java技术,增强了Java的影响力。 - **1997年2月18日:** JDK 1.1发布,...
在Java编程中,面向对象的程序设计(Object-Oriented Programming,简称OOP)是核心概念之一。这一章通常会深入讲解OOP的四大基本特征:封装、继承、多态和抽象。封装是将数据和操作数据的方法绑定在一起,形成一个...
《数据结构与算法分析(Java版)》是一本由Robert Lafore撰写的书籍,旨在通过Java编程语言来介绍实用的数据结构与算法知识。本书适用于已经具备一定编程基础(如Java或C++)的学习者,通过轻松易懂的方式讲解了如何...