Thinking in java 第2章 一切都是对象 习题

这篇博客主要围绕Thinking in Java第二章的习题展开,涵盖了对象的默认初始化、简单的 HelloWorld 程序、数据域的赋值与打印、static 域的特性、自动包装与类型转换、以及命令行参数的使用等知识点。通过一系列编程练习,深入理解Java中对象的创建和使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Thinking in java 第2章 一切都是对象

学习目录


习题

练习1:创建一个类,它包含一个int域和一个char域,它们都没有被初始化,将它们的值打印出来,以验证Java执行了默认初始化。 

public class E2_1 {
    public int i;
    public char c;
}

public class Main {
    public static void main(String[] args) {
        E2_1 e = new E2_1();
        System.out.println(e.i);
        System.out.println(e.c);
    }
}


/*
0

*/

练习2:参照本章的HelloDate.java这个例子,创建一个“Hello,World”程序,该程序只要输出这句话即可。

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

/*
Hello, World
*/

练习3:找出含有ATypeName的代码段,将其改为完整的程序

public class E2_3 {
    private int age;
    private String name;

    public E2_3() {
    }

    public E2_3(int age, String name) {
        this.age = age;
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return  "age=" + age +
                ", name='" + name;
    }
}

public class Main {
    public static void main(String[] args) {
        E2_3 e = new E2_3();
        e.setAge(18);
        e.setName("ssss");
        System.out.println(e);
    }
}

/*
age=18, name='ssss
*/

练习4:将DataOnly代码段改写成一个程序。

略。同3

练习5:修改前一个联系,将DataOnly中的数据改写成mian()方法中赋值并打印出来。

略。同3

练习6:编写一个程序,让它含有本章所定义的storage()方法的代码段,并调用之。 

public class E2_6 {
    public static void main(String[] args) {
        System.out.println(storage("abc"));
    }

    public static int storage(String s) {
        return s.length()*2;
    }
}

/*
6
*/

练习7:将Incrementtable的代码改写成一个完整的可运行程序。 

public class E2_7 {
    static int cnt = 0;
    static void Increment() {
        cnt++;
    }
}

public class Main {
    public static void main(String[] args) {
        System.out.println(E2_7.cnt);
        E2_7.Increment();
        System.out.println(E2_7.cnt);
    }
}

/*
0
1
*/

练习8:编写一个程序,展示无论你创建了某个特定类的多少个对象,这个类中的某个特定的static域只有一个对象。

public class Main {
    public static void main(String[] args) {
        E2_7 e1 = new E2_7();
        E2_7 e2 = new E2_7();
        System.out.println(e1.cnt);
        System.out.println(e2.cnt);
        e1.Increment();
        System.out.println(e1.cnt);
        System.out.println(e2.cnt);
    }
}

/*
0
0
1
1
*/

练习9:编写一个程序,展示自动包装功能对所有的基本类型和包装器类型都起作用。 

略。即类似int和Integer可以自动装箱&拆箱。

练习10:编写一个程序,打印出从命令行获取的三个参数。为此,要确定命令行数组中String的下标。

import java.util.Scanner;

public class E2_10 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        String b = sc.next();
        double c = sc.nextDouble();
        System.out.println(b + a + c);
    }
}

>10 aaaa 2.1
aaaa102.1

练习11:将AllTheColorsOfTheRainbow这个示例改写成一个程序。

略。同3

练习12-练习16 javadoc相关

略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值