|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
C++编译的是本地码,优点是启动快,而且可以精确控制资源因此可以开发很高效的程序.缺点是编程麻烦,而且容易留下安全隐患.跨平台靠源代码在各个平台间分别编译(一处编写到处编译)
干系运算符天生的是一个“布尔”(Boolean)了局。它们评价的是运算对象值之间的干系。若干系是实在的,干系表达式会天生true(真);若干系不实在,则天生false(假)。干系运算符包含小于(<)、年夜于(>)、小于或即是(<=)、年夜于或即是(>=)、即是(==)和不即是(!=)。即是和不即是合用于一切内建的数据范例,但其他对照不合用于boolean范例。
1.反省对象是不是相称
干系运算符==和!=也合用于一切对象,但它们的寄义一般会使初涉Java范畴的人找不到北。上面是一个例子:
- //:Equivalence.java
- publicclassEquivalence{
- publicstaticvoidmain(String[]args){
- Integern1=newInteger(47);
- Integern2=newInteger(47);
- System.out.println(n1==n2);
- System.out.println(n1!=n2);
- }
- }///:~
复制代码
个中,表达式System.out.println(n1==n2)可打印出外部的布尔对照了局。常人城市以为输入了局一定先是true,再是false,由于两个Integer对象都是不异的。但只管对象的内容不异,句柄倒是分歧的,而==和!=对照的恰好就是对象句柄。以是输入了局实践上先是false,再是true。这天然会使第一次打仗的人感应惊异。
若想对照两个对象的实践内容是不是不异,又该怎样操纵呢?此时,必需利用一切对象都合用的特别办法equals()。但这个办法不合用于“主范例”,那些范例间接利用==和!=便可。上面举例申明怎样利用:
- //:EqualsMethod.java
- publicclassEqualsMethod{
- publicstaticvoidmain(String[]args){
- Integern1=newInteger(47);
- Integern2=newInteger(47);
- System.out.println(n1.equals(n2));
- }
- }///:~
复制代码
正如我们估计的那样,此时失掉的了局是true。但事变并未到此停止!假定您创立了本人的类,就象上面如许:
- //:EqualsMethod2.java
- classValue{
- inti;
- }
- publicclassEqualsMethod2{
- publicstaticvoidmain(String[]args){
- Valuev1=newValue();
- Valuev2=newValue();
- v1.i=v2.i=100;
- System.out.println(v1.equals(v2));
- }
- }///:~
复制代码
此时的了局又变回了false!这是因为equals()的默许举动是对照句柄。以是除非在本人的新类中改动了equals(),不然不成能体现出我们但愿的举动。不幸的是,要到第7章才会进修怎样改动举动。但要注重equals()的这类举动体例同时也许可以制止一些“劫难”性的事务。
年夜多半Java类库都完成了equals(),以是它实践对照的是对象的内容,而非它们的句柄。
前些天,在CSDN上看到了一个消息,说是net网页编程网页编程AJAX成功在Linux上运行,这一点对我触动很大,而且引发了我许多感叹,所以想写出来分享一下。 |
|