返回列表 发帖
40# wxyisme


这是第三题的答案:
public class Exercise3 {
        public static void main(String[] args) {
                int i = 1;
                int j = 1;
                while (i < 10) {
                        j = 1;
                        while (j < 10) {
                                System.out.print(i * j + "\t");
                                j++;
                        }
                        System.out.println();
                        i++;
                }
        }
}

j=1是指while循环第一行的。。。这些习题我至少都是跑过才发出去的。运行结果如下:

1        2        3        4        5        6        7        8        9       
2        4        6        8        10        12        14        16        18       
3        6        9        12        15        18        21        24        27       
4        8        12        16        20        24        28        32        36       
5        10        15        20        25        30        35        40        45       
6        12        18        24        30        36        42        48        54       
7        14        21        28        35        42        49        56        63       
8        16        24        32        40        48        56        64        72       
9        18        27        36        45        54        63        72        81       


如果你收到的光盘中的源代码或者运行结果与此不同,请将源代码和运行结果贴出来。不要说这么多没信心的话。。。

TOP

另外:
public void raiseSpeed(byte p_speed){
            if (p_speed < 0){
                    System.out.println("p_speed的值小于0,raiseSpeed()方法将结束");
                    return;
            }int currentSpeed = speed + p_speed;
   ...
cardseri 发表于 2011-11-10 22:13



这个问题涉及到直接数字的默认类型。在Java中,如果直接数值是整数,比如1,3,-7这种,都是被认为是int类型的,所以传递1为参数调用的是int为参数的方法。
如果是浮点数,比如1.2,3.5,-7.9这种都是被默认认为是double类型的数值。

如果需要改变它们的类型,则需要使用基本类型的类型转换。这个书中有介绍。

TOP

请问:非默认包的类是不是无法使用import引入默认包里的类?
我在网上找了一下有说"无package语句的类就无法被其他类所引用"
不知是不是这样?
cardseri 发表于 2011-11-18 16:30

默认包中的类也是可以使用的,但是真正的项目中不建议使用默认包。默认包中的类不需要使用package来import。但是要保证classpath正确设置了。

TOP

学到第九章中使用==判断两个引用是否指向同一对象这里有点疑问
int value = 1;
String str1 = "ABC" + 1;
String str2 = "ABC" + 1;
String str3 = "ABC" + value;
String str4 = "ABC" + value;
boolean iseq ...
cardseri 发表于 2011-11-19 17:58

这个就涉及到Java虚拟机对字符串的处理了,"ABC" + 1,这个1是个literal的值,不会改变,所以Java虚拟机中编译的时候,会做一些优化,让str1和str2指向同一个string对象。因为Java中的string对象是immutable的,所以这样是没问题的。
而"ABC"+value,这个value是个变量,随时可能变化,所以Java编译器不去做优化,而在运行时,JVM会创建俩string对象。

TOP

返回列表