楼主: omencathay

[精华] Think in java读书笔记

[复制链接]
论坛徽章:
0
51#
发表于 2003-6-27 10:40 | 只看该作者

看完了第二章

看完了第二章,本章一直在描述
class
static
new
同时对
String  wgf="asdfg";
String  gfw=new String("asdfg"
有了较深的了解
周末看完第三章
感觉楼主的热情锐减,一起加油

使用道具 举报

回复
论坛徽章:
33
2011新春纪念徽章
日期:2011-01-25 15:41:012012新春纪念徽章
日期:2012-02-13 15:11:52ITPUB 11周年纪念徽章
日期:2012-10-10 13:11:14兰博基尼
日期:2013-11-04 12:55:50马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:52
52#
 楼主| 发表于 2003-6-28 13:29 | 只看该作者

Array using

package arrays;
import java.util.*;
/**
* <p>Title:Multidimensional Arrays </p>
* <p>Description: some examples</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Companymencathay </p>
* @author not attributable
* @version 1.0
*/

public class Arrays {
  static  Random rand=new Random();
  static int pRand(int mod){
    return Math.abs(rand.nextInt())%mod+1;
  }
  static void prt(String s){
    System.out.println(s);
  }

  public static void main(String[] args) {
    int[][] a1={
        {1,2,3},{4,5,6}
    };
    for(int i=0;i<a1.length;i++)
      for(int j=0;j<a1.length;j++)
           prt("a1["+i+"]["+j+"]="+a1[j]);
//3-Darray with fixed length;
           int[][][] a2=new int[2][2][4];
           for(int i=0;i<a2.length;i++)
             for(int j=0;j<a2.length;j++)
               for(int k=0;k<a2[j].length;k++)
                 prt("a2["+i+"]["+j+"]["+k+"]="+a2[j][k]);
//3-D array with varied-length vectors
     int[][][] a3=new int[pRand(7)][][];
     for(int i=0;i<a3.length;i++){
       a3 = new int[pRand(5)][];
       for (int j = 0; j < a3.length; j++)
         a3[j] = new int[pRand(5)];
     }
     for(int i=0;i<a2.length;i++)
             for(int j=0;j<a2.length;j++)
               for(int k=0;k<a2[j].length;k++)
                 //prt("a3["+i+"]["+j+"]["+k+"]="+a3[j][k]);
                 prt("a3.length="+a3.length);
//Array of nonprimitive objects

   Integer[][] a4={
       {new Integer(1),new Integer(2)},
       {new Integer(3),new Integer(4)},
       {new Integer(5),new Integer(6)},
   };
   for(int i=0;i<a4.length;i++)
     for(int j=0;j<a4.length;j++)
       prt("a4["+i+"]["+j+"]="+a4[j]);
  }
}

//prt("a3["+i+"]["+j+"]["+k+"]="+a3[j][k]);
在a4的array中,有时候会出现异常,不知道是什么原因,提示错误:
java.lang.ArrayIndexOutOfBoundsException: 3

        at arrays.Arrays.main(Arrays.java:44)
[/COLOR]

使用道具 举报

回复
论坛徽章:
0
53#
发表于 2003-6-30 09:19 | 只看该作者

看完了第三章

对主数据类型的赋值是非常直接的。由于主类型容纳了实际的值,而且并非指向一个对象的句柄,
所以在为其赋值的时候,可将来自一个地方的内容复制到另一个地方。
例如,假设为主类型使用“A=B”,那么B处的内容就复制到A。
若接着又修改了A,那么B根本不会受这种修改的影响。
作为一名程序员,这应成为自己的常识。
但在为对象“赋值”的时候,情况却发生了变化。对一个对象进行操作时,
我们真正操作的是它的句柄。所以倘若“从一个对象到另一个对象”赋值,
实际就是将句柄从一个地方复制到另一个地方。这意味着假若为对象使用“C=D”,
那么C和D最终都会指向最初只有D才指向的那个对象

n1.i = n2.i;
这样便可保留两个独立的对象,而不是将n1和n2绑定到相同的对象


(++A或--A),会先执行运算,再生成值。
而对于后递增和后递减(如A++或A--),会先生成值,再执行运算

==, equals( )有点好玩

剩下的运算符和结构语法就简单了
ok 完成计划


今明两天看完第四章

使用道具 举报

回复
论坛徽章:
0
54#
发表于 2003-6-30 16:24 | 只看该作者

the 4nd chapter

import java.util.*;

class Tree {
  int height;
  Tree() {
    System.out.println("Planting a seedling";
    height = 0;
  }
  Tree(int i) {
    System.out.println("Creating new Tree that is "
      + i + " feet tall";
    height = i;
  }
  void info() {
    System.out.println("Tree is " + height + " feet tall";
  }
  void info(String s) {
    System.out.println(s + ": Tree is "
      + height + " feet tall";
  }
}

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";
    }
    new Tree();   
  }
}

使用道具 举报

回复
论坛徽章:
0
55#
发表于 2003-7-1 21:01 | 只看该作者
偶早已看完,当然是English 3rd Edition,这种学习方法对提高英语水平也有帮助

使用道具 举报

回复
论坛徽章:
0
56#
发表于 2003-7-2 09:10 | 只看该作者
偶刚开始看中文版,难以理解,后来就看英文版,感觉爽多了
第四章基本看完,主要是constractor及cleanup

static
破坏器”(Destructor)
finalize()

System.gc()方法(强制执行垃圾收集器)

不过由于没有实践,只停留在理论,觉得java层次比其他工具清楚的多

使用道具 举报

回复
论坛徽章:
33
2011新春纪念徽章
日期:2011-01-25 15:41:012012新春纪念徽章
日期:2012-02-13 15:11:52ITPUB 11周年纪念徽章
日期:2012-10-10 13:11:14兰博基尼
日期:2013-11-04 12:55:50马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:52
57#
 楼主| 发表于 2003-7-2 10:40 | 只看该作者
由于时间关系,粗略的看到了第7章(多型还是多态)

主要是类或者方法继承的upcasting和downcasting的区别和使用,省么时候该向上转型,什么时候该向下转型的问题

btw:希望更多的人能加入进来,互相鼓励,互相带动

使用道具 举报

回复
论坛徽章:
0
58#
发表于 2003-7-2 17:32 | 只看该作者

由于money的关系,偶要VB+access了

找了一个比较大的项目,要求用VB+access
只好停了java,
以后一定做java的专业人士

使用道具 举报

回复
论坛徽章:
17
管理团队2006纪念徽章
日期:2006-04-16 22:44:45马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36
59#
发表于 2003-7-5 02:18 | 只看该作者

Re: 由于money的关系,偶要VB+access了

最初由 crazyIT 发布
[B]找了一个比较大的项目,要求用VB+access
只好停了java,
以后一定做java的专业人士 [/B]


比较大的项目?用VB+Access?没弄错吧?
VB还可以理解,Access是不是就有些力不从心了?

使用道具 举报

回复
论坛徽章:
33
2011新春纪念徽章
日期:2011-01-25 15:41:012012新春纪念徽章
日期:2012-02-13 15:11:52ITPUB 11周年纪念徽章
日期:2012-10-10 13:11:14兰博基尼
日期:2013-11-04 12:55:50马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:52
60#
 楼主| 发表于 2003-7-5 16:21 | 只看该作者
有两方面的问题将数组与其他集合类型区分开来:效率和类型。对于Java来说,为保存和访问一系列对象(实际是对象的句柄)数组,最有效的方法莫过于数组。数组实际代表一个简单的线性序列,它使得元素的访问速度非常快,但我们却要为这种速度付出代价:创建一个数组对象时,它的大小是固定的,而且不可在那个数组对象的“存在时间”内发生改变。可创建特定大小的一个数组,然后假如用光了存储空间,就再创建一个新数组,将所有句柄从旧数组移到新数组。这属于“矢量”(Vector)类的行为。然而,由于为这种大小的灵活性要付出较大的代价,所以我们认为矢量的效率并没有数组高。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表