Thinking in Java 习题 - 第二章

Thinking in Java 习题 - 第二章

Sep 8, 2013
Java

练习1 #

/*创建一个类,它包含一个int域和一个char域,
他们都没有被初始化,将他们打印出来,
以验证java执行了默认初始化。*/
public class Test{
    int i;
	char c;
	public Test(){
		System.out.println("i="+i);
		System.out.println("c=["+ c + ']');
	}
	public static void main(String[] args){
		new Test();
	}
}/*output:
i=0
c=[ ]
*/

练习2 #

/*创建一个Hello,world程序,该程序只要输出这句话即可。*/
class Test{
	public static void main(String[] args){
		System.out.println("Hello World");
	}
}/*output:
Hello World
*/

练习3 #

/*找出含有ATypeName的代码段,将其改写成完整的程序,
然后编译,运行。
*/
class ATypeName{
	public static void main(String[] args){
		ATypeName a = new ATypeName();
	}
}///:~

练习4 #

/*将DataOnly代码段改写成一个程序,然后编译,运行。*/
class DataOnly{
    int i;
    double d;
    boolean b;
    public static void main (String[] args){
        DataOnly D = new DataOnly();
        D.i=1;
        D.d=1.23;
        D.b=false;
    }
}/*Output:
D.i=1
D.d=1.23
D.b=false
*/

练习5 #

/*修改前一个练习,将DataOnly中的数据在main()方法中赋值并打印出来。*/
class DataOnly{
    int i;
    double d;
    boolean b;
    public static void main (String[] args){
        DataOnly D = new DataOnly();
        D.i=1;
        D.d=1.23;
        D.b=false;
        System.out.println("D.i="+D.i);
        System.out.println("D.d="+D.d);
        System.out.println("D.b="+D.b);
    }
}/*Output:
D.i=1
D.d=1.23
D.b=false
*/

练习6 #

/*编写一个程序,让它含有本章所定义的storage()方法的代码段,并调用之。*/
class Storage{
    static String s="Hello";
    int storage(String s){
        return s.length()*2;
    }
    public static void main(String[] args){
        Storage st = new Storage();
        System.out.println("Storage(s)=" + st.storage(s));
    }
} /*output:
    Storage(s)=10  
*/

练习7 #

/*将Incrementable的代码段改写成一个完整的可运行程序*/
class StaticTest{
    static int i = 0;
}
class Incrementable{
    static void increment(){
        StaticTest.i++;
    }
    public static void main (String args[]){
        Incrementable st = new Incrementable();
        Incrementable.increment();
    }
}

练习8 #

/*编写一个程序,展示无论你创建了某个特定类的多少个对象,
这个类中的某个特定的static域只有一个实例*/
class Test{
    static int i = 21;
    public static void main(String args[]){
        Test t1 = new Test();
        Test t2 = new Test();
        System.out.println("t1.i="+t1.i+";t2.i="+t2.i);
        t1.i++;
        System.out.println("t1.i="+t1.i+";t2.i="+t2.i);
    }
}   /*output:
t1.i=21;t2.i=21
t1.i=22;t2.i=22
*/

练习9 #

/*编写一个程序,展示自动包装功能对所有的基本类型和包装器类型都起作用*/
class AutoBoxTest{
    public static void main (String args[]){
        boolean b = true;
        int i = 21;
        char c ='c';
        long l = 1L;
        double d = 2.1d;
        float f = 2.1f;

        boolean B = b;
        int I = i;
        char C = c;
        long L = l;
        double D = d;
        float F = f;

        System.out.println("boolean="+B);
        System.out.println("int="+I);
        System.out.println("char="+C);
        System.out.println("long="+L);
        System.out.println("double="+D);
        System.out.println("float="+F);
    }
}/*Output:
boolean=true
int=21
char=c
long=1
double=2.1
float=2.1
*/

练习10 #

/*编写一个程序,打印出从命令行获得的三个参数,为此,
* 需要确定命令行数组中String的下表。*/
class Test{
    public static void main(String[] args){
        System.out.println(args[0]);
        System.out.println(args[1]);
        System.out.println(args[2]);
    }
}/*答案是这样写的,编译不过,也不懂,求解!!*/

练习11 #

/*将AllTheColorsOfTheRainbow这个实例改写成一个程序,然后编译,运行*/
class AllTheColorsOfTheRainbow{
    int AnIntegerRepresentingColors;
    void changeTheHueOfTheColor(int newHue){
        AnIntegerRepresentingColors = newHue;
    }
    public static void main (String[] args){
        AllTheColorsOfTheRainbow all = new AllTheColorsOfTheRainbow();
        all.changeTheHueOfTheColor(27);
    }
}

练习12 #

/*找出HelloData.java的第二个版本,也就是那个简单注释文档的示例,对该文件执行javadoc,然后通过web浏览器观看运行结果*/
import java.util.*;
/*The first Thinking in Java example program.
* Displays a string and today's date
* @author Bruce Eckel
* @author www.MindView.net
* @version 4.0
* */
public class HelloDate{
    /*Entry point to class &application.
    * @param args array of string arguments
    * @throws exceptions No exceptions thrown
    * */
    public static void main (String[] args){
        System.out.println("Hello,it's:");
        System.out.println(new Date());
    }
}/*Output:
Hello,it's:
Sun Sep 08 12:11:08 CST 201  
*/

后面的几个练习是关于 javadoc 的,不涉及程序问题。

第二章习题完结。

本文共 1036 字,上次修改于 Mar 22, 2022,以 CC 署名-非商业性使用-禁止演绎 4.0 国际 协议进行许可。