考试内容自我思考及解惑

题目3:如有定义 int a = 2;则执行完语句 a+=a-=a*a;后,a的值是()

A、0  B、4  C、8  D、-4

正确答案是 A 0

解惑:这条语句相当于 a+=(a-=(a*a))

但是这句表达式 会被拆分 为 a=a+(a-a*a) 然后赋值计算

疑惑问题:+=会改变a的值,返回一个 数字 而不是一个变量 a

比如 :a+=a 返回一个 4 已经计算完毕 假如我们 把它括弧 再想给它赋值 就会出现错误

这题水太深,深入理解有没有必要,所以就这样吧。

题目14:分析程序

 1 package com.zhuoyue.test;
 2 
 3 public class Test {
 4 
 5     public static void main(String[] args) {
 6         String text = new String("java");
 7         replaceJ(text);
 8         System.out.println(text);
 9     }
10     
11     public static void replaceJ(String s){
12         s = s.replace('j', 'J');
13     }
14 
15 }

text的值到底是什么呢?答案是 java ,这里传递的是 是一个 值 而不是引用地址 String类型比较特殊。

接口可以多继承接口,一个接口或者类不可以继承或实现自己

数组中,length是属性

字符串中,length是方法 length()

集合:size();

写语句要可执行,1;是不对的,但是字符串a.length();,是对的,调用了方法。数组a.length;是错的,没有表达式。

int相除默认是int,必须要进行处理。*1.0作为处理。

posted @ 2013-09-11 17:33  董文博  阅读(151)  评论(0编辑  收藏  举报