1. 使用"简短的" 和正常的 打印语句来编写一个程序

    package net.mindview.util;
    
    public class Print {
    /**
    * 不带有回车
    * @param s
    */
    public static void print(Object s){
    System.out.print(s);
    } /**
    * 带有回车
    * @param s
    */
    public static void println(Object s){
    System.out.println(s);
    }
    }
    package net.mindview.operators;
    
    import java.util.Date;
    import static net.mindview.util.Print.*;
    public class HelloData { public static void main(String[] args) {
    print("hello, it is");
    print(new Date());
    System.out.println("正常的方式打印");
    }
    }
  2. 创建一个包含了float域的类, 并用这个类来展示别名机制. (这里懒得写了, 就是把demo中的int换成float就可以了)
    package net.mindview.operators;
    
    class Tank{
    int level;
    } public class Assignment {
    public static void main(String[] args) {
    Tank t1 = new Tank();
    Tank t2 = new Tank();
    t1.level = ;
    t2.level = ;
    System.out.println("t1.level:" + t1.level + ", t2.level:" + t2.level);
    t2 = t1;
    System.out.println("t1.level:" + t1.level + ", t2.level:" + t2.level);
    t1.level = ;
    System.out.println("t1.level:" + t1.level + ", t2.level:" + t2.level);
    } }
  3. 创建一个包含一个float域的类, 并用这个类来展示方法调用时的别名机制(将char改为float即可)
    package net.mindview.operators;
    
    class Letter{
    char c;
    } public class PassObject {
    static void f(Letter y){
    y.c = 'z';
    }
    public static void main(String[] args) {
    Letter x = new Letter();
    x.c = 'a';
    System.out.println("1: x.c="+x.c);
    //传递的时x所指向的引用
    f(x);
    System.out.println("1: x.c="+x.c);
    }
    }
  4. 编写一个计算速度的程序, 压缩使用的距离和时间都是常量.(略)
  5. 创建一个名为Dog的类, 他包含两个String与:name和says。 在main()方法中,创建两个Dog对象, 一个名为spot(它的叫声为ruff!),另一个名为scruffy(它的叫声为Wurf!).然后显示他们的名字和叫声。
    package net.mindview.operators;
    
    class Dog{
    public String name;
    public String says; @Override
    public String toString() {
    return "名字:"+this.name + ",语言:"+this.says;
    }
    }
    public class DogTest { public static void main(String[] args) {
    // TODO Auto-generated method stub
    Dog d1 = new Dog();
    Dog d2 = new Dog();
    d1.name = "spot";
    d1.says = "Ruff!";
    d2.name = "scruffy";
    d2.says = "Wurf!"; System.out.println(d1);
    System.out.println(d2);
    }
    }
  6. 在练习5的基础上,创建一个新的Dog对象, 并对其赋值为spot对象。测试==和equals()方法来比较所有引用的结果。
    package net.mindview.operators;
    
    class Dog{
    public String name;
    public String says; @Override
    public String toString() {
    return "名字:"+this.name + ",语言:"+this.says;
    }
    }
    public class DogTest { public static void main(String[] args) {
    // TODO Auto-generated method stub
    Dog d1 = new Dog();
    Dog d2 = new Dog();
    d1.name = "spot";
    d1.says = "Ruff!";
    d2.name = "scruffy";
    d2.says = "Wurf!"; System.out.println(d1);
    System.out.println(d2); Dog d3 = new Dog();
    d3.name = "spot";
    System.out.println(d1.name == d3.name);
    System.out.println(d1.name.equals(d3.name));
    }
    }

    输出结果:

    名字:spot,语言:Ruff!
    名字:scruffy,语言:Wurf!
    true
    true

    这个结果需要特别说明一下, String是特殊的引用类型, 当他被直接赋值时,就是把这个值对应的引用位置赋值给String变量了, 所以, 两次结果都是true。 如果你用new String()赋值, 结果就不同了.

  7. 编写一个程序, 模拟扔硬币的结果
    package net.mindview.operators;
    
    import java.util.Random;
    import static net.mindview.util.Print.*;
    public class ThrowCron { public static void main(String[] args) {
    Random num = new Random();
    int a = num.nextInt();
    switch (a % ){
    case :
    println("正面"); break;
    case :
    println("反面");break;
    }
    } }
  8. fadsfas
  9. fasfda
  10. fasdf
  11. fasdfa
  12. fasdf
  13. fasd
  14. fdasf
  15. fadsf

java编程思想第四版第三章要点习题的更多相关文章

  1. java编程思想第四版第三章要点总结

    1. 静态导入 使用import static方式导入一个类的所有方法. 例如: import static net.mindview.util.Print.*; 首先定义了一个Print类,里面有静 ...

  2. java编程思想第四版第十三章字符串 习题

    fas 第二题 package net.mindview.strings; import java.util.ArrayList; import java.util.List; /** * 无限循环 ...

  3. java编程思想第四版第十一章习题

    第一题 package net.mindview.holding.test1; import java.util.ArrayList; import java.util.List; /** * 沙鼠 ...

  4. Java编程思想第四版*第七章*个人练习

    欢迎加群:239063848 成团的笔记:该组仅用于技术共享和交流,问题和答案公布 潘基聊天.禁止广告.禁止招聘-- 练习1:(2)创建一个简单的类.第二个类中,将一个引用定义为第一个类的对象.运用惰 ...

  5. java编程思想第四版第六章习题

    (略) (略) 创建两个包:debug和debugoff,他们都包含一个相同的类,该类有一个debug()方法,第一个版本显示发送给控制台的String参数,而第二版本什么也不做,使用静态import ...

  6. java编程思想第四版第十三章字符串 总结

    1. String和StringBulider的使用 通过书中介绍, 我们得知如下结论: 当使用+连接符将字符串进行拼接的时候, 编译器会进行自动优化为使用StringBuilder连接字符串. 当在 ...

  7. java编程思想第四版第七章总结

    1. 实现类的复用通常有两种方式 组合:在新的类中产生现有类的对象 继承:按照现有类的类型来创造新类 2. 一个特殊的方法toString() 在非基本类型的对象中, 都有toString()方法 当 ...

  8. java编程思想第四版第六章总结

    1. 代码重构 为什么f要代码重构 第一次代码不一定是完美的, 总会发现更优雅的写法. 代码重构需要考虑的问题 类库的修改不会破坏客户端程序员的代码. 源程序方便扩展和优化 2. 包 创建一个独一无二 ...

  9. java编程思想第四版第五章习题

    创建一个类, 它包含一个未初始化的String引用.验证该引用被Java初始化成了null package net.mindview.initialization; public class Test ...

随机推荐

  1. python犯傻之题目解答思路比较与反思

    1.题目: 企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%: 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%: 20万 ...

  2. 渗透测试中Linux下反弹shell的认识

    最近老是觉得自己白天工作累,晚上理应休息 堕落了几天才发觉自己真垃圾,加紧向前吧. 0x00 前言 在平时渗透还是工作中经常会遇到shell反弹的情况,网上一搜反弹shell都是一大堆,但是真正遇到反 ...

  3. POJ 1753 Flip Game(状态压缩+BFS)

    题目网址:http://poj.org/problem?id=1753 题目: Flip Game Description Flip game is played on a rectangular 4 ...

  4. ESP8266开发之旅 基础篇④ ESP8266与EEPROM

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  5. python的GIL锁

    进程:系统运行的一个程序,是系统分配资源的基本单位. 线程:是进程中执行运算的最小单位,是处理机调度的基本单位. 处理机:是计算机中存储程序和数据,并按照程序规定的步骤执行指令的部件.包括中央处理器. ...

  6. python的多线程和多进程(一)

    在进入主题之前,我们先学习一下并发和并行的概念: --并发:在操作系统中,并发是指一个时间段中有几个程序都处于启动到运行完毕之间,且这几个程序都是在同一个处理机上运行.但任一时刻点上只有一个程序在处理 ...

  7. 如何让OKR实践变得更简单一些

    什么是OKR 近几年OKR的概念在国内开始流行起来了,之前公司也有人想实施OKR,但现在看来之前的OKR实施者只是在哪儿看了一下OKR的资料,本着跟老板邀功的想法比较功利的在推进,所以基本没有效果,今 ...

  8. SpringCloud之Eureka服务注册与发现(一)

    一 Eureka的基本架构 Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现(请对比Zookeeper). Eureka 采用了 C-S 的设计架构 ...

  9. Maven optional关键字透彻图解

    写在前面 本来想写一篇「如何自定义Spring Boot Starter」,但是为了更好理解 Starter 的一些设计理念和其中的关键点,所以提前将一些细节内容单独提取出来讲解说明 在 Maven ...

  10. 【C#多线程】1.Thread类的使用及注意要点

    Thread随便讲讲 因为在C#中,Thread类在我们的新业务上并不常用了(因为创建一个新线程要比直接从线程池拿线程更加耗费资源),并且在.NET4.0后新增了Task类即Async与await关键 ...