Java編程思想 練習題(一)


一、 創建一個類,它包含一個int域和一個char域,它們都沒有被初始化,將它們的值打印出來,以驗證Java執行了默認初始化。 

private static char c;
private static int i; public static void main(String[] args){ System.out.println(String.valueOf(c)); System.out.println(String.valueOf(i)); }

返回值:

 

0

二、參照本章的HelloDate.java這個例子,創建一個“Hello,World”程序,該程序只要輸出這句話即可。

書中HelloDate源碼:

import java.util.*;

public class HelloDate { public static void main(String[] args){ System.out.println("Hello, it's:"); System.out.println(new Date()); } }

修改后HelloWorld源碼:

public class HelloWorld {
    public static void main(String[] args){ System.out.println("Hello, World"); } }

返回值:Hello, World

三、找出含有ATypeName的代碼段,將其改為完整的程序。

public class ATypeName {
    /* Class body goes here */
    private String id; private String name; public ATypeName() { } public ATypeName(String id, String name) { this.id = id; this.name = name; } @Override public String toString() { return "ATypeName{" + "id='" + id + '\'' + ", name='" + name + '\'' + '}'; } } public class Main{ public static void main(String[] args){ ATypeName a = new ATypeName(1,"張三"); System.out.println(a.toString()); } }

返回:ATypeName{id='1', name='張三'}

四、將DataOnly代碼段改寫成一個程序。略。

五、修改前一個聯系,將DataOnly中的數據改寫成mian()方法中賦值並打印出來。參照(三)

六、編寫一個程序,讓它含有本章所定義的storage()方法的代碼段,並調用之。 

public class HelloWorld {
    public static void main(String[] args) { System.out.println(storage("HelloWorld")); } private static int storage(String s) { return s.length() * 2; } }

返回:20

七、將Incrementtable的代碼改寫成一個完整的可運行程序。 

public class StaticTest {
    static int i = 47; } public class Incrementtable { static void increment(){ StaticTest.i++; } } public class HelloWorld { public static void main(String[] args){ System.out.println("before StaticTest.i:" + StaticTest.i); Incrementtable.increment(); System.out.println("after StaticTest.i:" + StaticTest.i); } }

返回:

before StaticTest.i:47
after StaticTest.i:48

八、編寫一個程序,展示無論你創建了某個特定類的多少個對象,這個類中的某個特定的static域只有一個對象。

public class StaticTest {
    static String s = new String("HelloWorld"); } public class HelloWorld { public static void main(String[] args) { StaticTest st1 = new StaticTest(); StaticTest st2 = new StaticTest(); StaticTest st3 = new StaticTest(); StaticTest st4 = new StaticTest(); System.out.println("st1.s == st2.s : "+(st1.s == st2.s)); System.out.println("st1.s == st3.s : "+(st1.s == st3.s)); System.out.println("st1.s == st4.s : "+(st1.s == st4.s)); } }

返回:

st1.s == st2.s : true
st1.s == st3.s : true
st1.s == st4.s : true

九、編寫一個程序,展示自動包裝功能對所有的基本類型和包裝器類型都起作用。 

public class HelloWorld {
    public static void main(String[] args) { int i1 = 127; Integer ii1 = i1; int i2 = ii1; int i3 = 128; Integer ii2 = i3; int i4 = ii2; } }

 十、編寫一個程序,打印出從命令行獲取的三個參數。為此,要確定命令行數組中String的下標。

public class HelloWorld {
    public static void main(String[] args) { Scanner s = new Scanner(System.in); String s1 = s.next(); String s2 = s.next(); String s3 = s.next(); System.out.println(s1); System.out.println(s2); System.out.println(s3); } }

輸入:

hello
world
!

返回:

hello
world
!

 十一、將AllTheColorsOfTheRainbow這個示例改寫成一個程序。

public class AllTheColorsOfTheRainbow {
    int anIntegerRepresentingColors; void changeTheHueOfTheColor(int newValue){ this.anIntegerRepresentingColors = newValue; } } public class HelloWorld { public static void main(String[] args) { AllTheColorsOfTheRainbow a = new AllTheColorsOfTheRainbow(); a.changeTheHueOfTheColor(2); System.out.println(a.anIntegerRepresentingColors); } }

返回:2

十二、找出HelloDate.java的第二版本,也就是那個簡單注釋文檔的示例。對該文檔執行javadoc,然后通過Web瀏覽器觀看運行結果。

//:HelloDate.java

import java.util.Date;

/**
 * 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 { /** * Entrv Doint 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: (55% match) Hello, it's: Wed Oct 05 14:39:36 MDT 2005 *///:~

頁面:

 

 十三、通過javadoc運行Documentation1.java、Documentation2.java、Documentation3.java,然后通過Web瀏覽器驗證所產生的文檔。

懶得弄了,盜圖~

 十四、在前一個練習的文檔中加入各項的HTML列表

 十五、使用練習2的程序,加入注釋文檔。用javadoc提取此注釋文檔,並產生一個HTML文件,然后通過Web瀏覽器查看結果。

//: HelloWorld.java
/**
 * HelloWorld class
 * @version 1.0
 * @see String
 * @author jojo
 */
public class HelloWorld {
    /**
     * HelloWorld method
     * @param args
     */
    public static void main(String[] args){ System.out.println("Hello, World"); } } //:~

頁面:

 

十六、找到第5章中的Overloading.java示例,並為它加入javadoc文檔。然后用javadoc提取此注釋文檔,並產生一個HTML文件,最后,通過Web瀏覽器查看結果。

//: Overloading.java

/**
 * Tree class
 * @author jojo
 * @version 1.0
 */
class Tree {
    /**
     * height
     */
    int height; /** * Planting a seedling */ Tree() { System.out.println("Planting a seedling"); } /** * Creating new Tree that is 0 feet tall * @param i */ Tree(int i) { System.out.println("Creating new Tree that is " + i + " feet tall"); height = i; } /** * Tree is 0 feet tall */ void info() { System.out.println("Tree is " + height + " feet tall"); } /** * s : Tree is 0 feet tall * @param s */ void info(String s) { System.out.println(s + ": Tree is " + height + " feet tall"); } } /** * Overloading */ public class Overloading { public static void main(String[] args) { for(int i = 0; i < 5; i++) { Tree t = new Tree(i); t.info(); t.info("overloaded method"); } // Overloaded constructor: new Tree(); } } //:~

頁面1:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM