Java - Thinking in Java 第2章 练习

原创 2015年07月06日 23:14:14

Thinking in Java

1

//: object/HelloDate.java
/**
 * Default initialize class.
 * @author C.L.Wang
 * @author Caroline Wendy
 * @version 1.0
 */
public class Main extends ShowProperties {
    /**
     * Entrv point to class & application.
     * @param args array of string arguments
     * @throws java.lang.Exception No exceptions thrown
     */
    public static void main(String[] args) {
        DefaultInit di = new DefaultInit();
        System.out.println("default int = " + di.i + ", default char = " + di.c);
    }
    /**
     * Output:
     * default int = 0, default char =
     *///:~
}

2

//: object/HelloDate.java
/**
 * Say Hello World
 * @author C.L.Wang
 * @author Caroline Wendy
 * @version 1.0
 */
public class Main extends ShowProperties {
    /**
     * Entrv point to class & application.
     * @param args array of string arguments
     * @throws java.lang.Exception No exceptions thrown
     */
    public static void main(String[] args) {
        System.out.println("Hello, World");
    }
    /**
     * Output:
     * Hello, World
     *///:~
}

3

public class ATNTest {
   public static void main(String[] args) {
      class ATypeName {
         int i;
         double d;
         boolean b;
         void show() {
            System.out.println(i);
            System.out.println(d);
            System.out.println(b);
         }
      }
      ATypeName a = new ATypeName();
      a.i = 3;
      a.d = 2.7;
      a.b = false;
      a.show();
   }
}

4&5

//: object/DataOnlyTest.java
// TIJ4 Chapter Object Exercise 4 page 90
// Turn the DataOnly code fragments into a program that compiles and runs

class DataOnly {
  int i;
  double d;
  boolean b;
  void show() {
      System.out.println(i);
      System.out.println(d);
      System.out.println(b);
  }
}

public class DataOnlyTest {
  public static void main(String[] args) {
      DataOnly data = new DataOnly();
      data.i = 47;
      data.d = 1.1;
      data.b = false;
      data.show();
  }
}
/**
* Output:
* 47
* 1.1
* false
*///:~

6

//: StorageTest.java
/**
 * 存储字节数
 * Created by wangchenlong on 15/7/6.
 */
public class StorageTest {
    /**
     * 字符串的字节数
     * @param s 字符串
     * @return 字节数
     */
    public static int storage(String s) {
        return s.length()*2;
    }

    public static void main(String[] args) {
        String s = "Caroline";
        System.out.println(s + "字节数占用: " + storage(s));
    }
    /**
     * Output:
     * Caroline字节数占用: 16
     *///:~
}

7

//: IncrementableTest.java
/**
 * 静态变量测试
 * Created by wangchenlong on 15/7/6.
 */
class StaticTest {
    static int i = 47;
}

class Incrementable {
    static void increment() {
        StaticTest.i++;
    }
}

public class IncrementableTest {
    public static void main(String[] args) {
        Incrementable.increment();
        System.out.println("数字变为" + StaticTest.i);
    }
}
/**
 * output:
 * 数字变为48
 *///:~

8

//: OneStaticTest.java
/**
 * static变量单实例测试
 * Created by C.L.Wang on 15/7/6.
 */
public class OneStaticTest {
    public static void main(String[] args) {
        StaticTest s1 = new StaticTest();
        StaticTest s2 = new StaticTest();

        //noinspection AccessStaticViaInstance
        System.out.println("s1.i = " + s1.i + ", s2.i = " + s2.i);
        Incrementable.increment();

        //noinspection AccessStaticViaInstance
        System.out.println("after increment: " + "s1.i = " + s1.i + ", s2.i = " + s2.i);
    }
}
/**
 * output:
 * s1.i = 47, s2.i = 47
 * after increment: s1.i = 48, s2.i = 48
 *///:~

9

//: AutoBoxTest.java
/**
 * 基本类型和包装器类型
 * Created by C.L.Wang on 15/7/6.
 */
public class AutoBoxTest {
    public static void main(String[] args) {
        boolean b = false;
        char c = 'x';
        byte t = 8;
        short s = 16;
        int i = 32;
        long l = 64;
        float f = 0.32f;
        double d = 0.64;
        Boolean B = b;
        System.out.println("boolean b = " + b);
        System.out.println("Boolean B = " + B);
        Character C = c;
        System.out.println("char c = " + c);
        System.out.println("Character C = " + C);
        Byte T = t;
        System.out.println("byte t = " + t);
        System.out.println("Byte T = " + T);
        Short S = s;
        System.out.println("short s = " + s);
        System.out.println("Short S = " + S);
        Integer I = i;
        System.out.println("int i = " + i);
        System.out.println("Integer I = " + I);
        Long L = l;
        System.out.println("long l = " + l);
        System.out.println("Long L = " + L);
        Float F = f;
        System.out.println("float f = " + f);
        System.out.println("Float F = " + F);
        Double D = d;
        System.out.println("double d = " + d);
        System.out.println("Double D = " + D);
    }
}
/**
 * Output:
 * ...
 *///:~

10

//: CommentLineTest.java
/**
 * 命令行参数
 * Created by C.L.Wang on 15/7/6.
 */
public class CommandLineTest {
    public static void main(String[] args) {
        if (args.length != 3) {
            System.out.println("参数不足3个");
            return;
        }

        String result = "";
        for (String s : args) {
            result += s + " ";
        }
        System.out.println("参数: " + result);
    }
}
/**
 * Output:
 * 参数: caroline wendy girl
 *///:~

11

//:AllTheColorsOfTheRainbow
/**
 * 编码风格测试
 * Created by C.L.Wang on 15/7/6.
 */
public class RainbowTest {
    public static void main(String[] args) {
        AllTheColorOfTheRainbow atc = new AllTheColorOfTheRainbow();
        atc.changeTheHusOfTheColor(16);
        System.out.println("theHueOfTheColor = " + atc.theHueOfTheColor);
        System.out.println("anIntegerRepresentingColors = " + atc.changeAnIntegerRepresentingColors(32));
    }

}

class AllTheColorOfTheRainbow {
    int anIntegerRepresentingColors;
    int theHueOfTheColor;
    void changeTheHusOfTheColor(int newHue) {
        theHueOfTheColor = newHue;
    }
    int changeAnIntegerRepresentingColors(int theHueOfTheColor) {
        return anIntegerRepresentingColors = theHueOfTheColor;
    }
}
/**
 * Output:
 * theHueOfTheColor = 16
 * anIntegerRepresentingColors = 32
 *///:~

12&13&14&15

参考: http://blog.csdn.net/caroline_wendy/article/details/46779719


娱乐

版权声明:本文为博主原创文章,未经博主允许不得转载。

读第一遍Thinking in java的笔记

第一章1.Java一切都是对象,但操纵的标识符是对象的一个“引用”。简单的说,引用代表这个对象内存地址。 如:String s;实际上,我们并没有创建一个对象,我们只是创建了一个引用,它不指向任何...
  • u011253016
  • u011253016
  • 2016年07月18日 18:22
  • 1466

Thinking In Java笔记(第六章 访问权限控制)

第六章 访问权限控制简介    Java提供了访问权限修饰词,供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的。访问权限控制的等级,从最大权限到最小权限一次为:public、protect...
  • Jing_Unique_Da
  • Jing_Unique_Da
  • 2015年05月11日 11:41
  • 1490

Thinking in Java(第四版)习题--第六章

练习1 package access; //在某个包中创建一个类,在这个类所处的包的外部创建该类的一个实例。 public class Test1{ public Test1 (){ ...
  • tcitry
  • tcitry
  • 2013年09月30日 14:59
  • 2424

第2章 一切都是对象——Thinking-in-Java

第2章 一切都是对象“尽管以C++为基础,但Java是一种更纯粹的面向对象程序设计语言”。 无论C++还是Java都属于杂合语言。但在Java中,设计者觉得这种杂合并不象在C++里那么重要。杂合语言...
  • oftoo
  • oftoo
  • 2016年03月24日 18:35
  • 208

《 Thinking in Java 》_第2章_一切都是对象_练习题

Java编程思想 (第四版) ——资源网站:www.MindView.net 该版本只限Java SE5/6源代码、本书早期版本、测试框架(用Python写的)、其他 Java 基础知识资料(如...
  • waterydd
  • waterydd
  • 2017年04月19日 10:16
  • 652

Thinking in Java 第四版 第2章到第17章答案

  • 2010年06月06日 15:35
  • 257KB
  • 下载

Java - Thinking in Java 第2章 一切都是对象

Java是”纯粹”的面向对象的语言. 操作的标示符是对象的一个引用, new是创建一个对象.存储位置: 寄存器\堆栈(引用)\堆(new)\常量存储(程序代码内部)\非RAM存储(流对象和持久化对象...
  • u012515223
  • u012515223
  • 2015年07月05日 21:46
  • 1102

thinking in java test4.3练习(1)(2)(3)(4)(5)用三元操作符和按位操作来显示二进制

题目(1):写一个程序,打印从1到100的值。 代码如下: public class Test4_3_1 { public static void main(String[] args...
  • qq_35396447
  • qq_35396447
  • 2016年08月09日 20:47
  • 889

thinking in java test3.4练习(2)(3)别名机制

题目:创建一个包含float域的类,并用这个类来展示别名机制。 别名机制是指多个引用指向同一个对象。 我们知道Java里操作对象一般是通过引用来完成的,而引用的指一般是所指向的对象的内存地址。比如...
  • qq_35396447
  • qq_35396447
  • 2016年08月01日 08:53
  • 205

Thinking in Java - Fourth Edition 章节练习个人解答——第6章

注:本练习题答案系个人阅读后所作解答,非原书所配答案。(由于水平有限,文中出现错误还望谅解与指正)  文中所有源代码皆在Eclipse-jee-indigo-3.7,Java SE 6平台下测试运行。...
  • ydavid13
  • ydavid13
  • 2011年07月21日 16:49
  • 322
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java - Thinking in Java 第2章 练习
举报原因:
原因补充:

(最多只允许输入30个字)