ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java编程思想第四版第三章要点习题

2021-06-04 14:03:02  阅读:116  来源: 互联网

标签:java String level Dog 第四版 println 习题 public name


  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 = 27;
            t2.level = 41;
            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 = 5;
            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(100);
            switch (a % 2){ 
                case 0:
                    println("正面"); break;
                case 1:
                    println("反面");break;
            }
        }
    
    }

     

  8. fadsfas
  9. fasfda
  10. fasdf
  11. fasdfa
  12. fasdf
  13. fasd
  14. fdasf
  15. fadsf

标签:java,String,level,Dog,第四版,println,习题,public,name
来源: https://blog.51cto.com/u_15091061/2856423

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有