您的位置:首页 > 其它

三、数组初始化

2015-06-03 12:38 267 查看
今天在图书馆借了《疯狂J***A程序员的基本修养》

书的前言说得很好

  Java语言拥有的开发人群越来越大了,大量程序员已经进入或正打算进入Java编程领域。这当然和Java语言本身的优秀不无关系,却也和Java编程入门简单有关。一个毫无编程基础的初学者,只要有点数据库和SQL基础,大概花不到一个月时间就可以学会编写JSP页面,说不定就可以找到一份Java编程的工作了。如果他肯再多下点功夫,学习一下编写Struts Action类、配置Action,编写Spring Bean类、配置Bean,他甚至可能自我感觉很不错了。

  问题是:这种“快餐式”的程序员、“突击式”的程序员真的满足要求吗?如果仅仅满足于这些简单的、重复式开发,他们也许没有太多的问题,但他们可能很少有突破的机会。究其根本原因,很大程度上是因为他们的基本修养不够扎实。对他们而言,与其说Java是一种面向对象的语言,不如说更像一种脚本;他们从源代码层次来看程序运行(甚至只会从Eclipse等集成开发环境中看程序运行),完全无法从底层内存分配的角度来看程序运行;他们天天在用Java类库、用Struts、用Spring,但对这些东西的实现知之甚少–这又如何突破自己、获得更好的提高呢?

  鉴于此种现状,“疯狂软件教育中心”训练过程中除了采用大量的实际项目来驱动教学之外,往往会花时间、精力来培养学员的基本修养。比如讲授Spring框架,如果只关注编写Bean类、配置Bean,一天就足够了。而笔者往往会深入Spring框架的底层实现,带领学生从工厂模式、策略模式、门面模式、代理模式、命令模式的角度来深度分析Spring框架实现,然后进行对比,总结Spring框架的优势到底在哪里?不使用Spring框架是否有替换解决方案?进而感受设计模式对实际开发的帮助。

  上面这些内容,看似“高深”,但其实质依然离不开Java编程的基本功。完全可以这样说:一旦读者真正把基本功打扎实了,将可以看得更高、更透彻。

  在这样的背景下,笔者想将自己多年的一些经验、总结通过本书与大家分享,希望把自己多年积累的经验、心得表达出来;把自己走过的弯路“标”出来,让后来者尽量少走弯路。

  本书内容

  本书第一部分主要介绍Java内存管理相关方面的知识,内存管理既是Java程序员容易忽视的地方,又是Java编程的重点。实际上,许多有一定编程经验的Java开发者,自然而然就会关心垃圾回收、内存管理、性能优化相关内容。无论学习哪种语言,如果能真正从程序运行的底层机制、内存分配细节、内存回收细节把握程序执行过程,这样才能有豁然开朗的感觉,本书第一部分正是旨在帮助大家更好地掌握Java内存管理相关知识。

  本书第三部分所介绍的常见数据结构、排序算法的Java实现,则是笔者一直想介绍的内容–也许你初涉编程时感受不到这些经典算法的用途,因为你可以直接利用别人的实现;但如果你希望突破自己,上升到另外一个高度时,你就不可避免地需要自己开发类库,而不是总使用别人的类库,那这些经典算法的作用就显现出来了。

  本书第二部分和第四部分则主要来自于参加“疯狂软件教育中心”的学生,正如每个动手编程的初学者,他们都曾经遭遇过各种各样的陷阱,笔者总是提醒他们应该将这些陷阱收集起来,以免再次陷进去。本书第二部分收集了Java编程中各种常见的陷阱;第四部分的内容则解决了他们进入实际开发之前的困扰,包括程序开发的基本方法,有效进行程序调试的方法,如何看待、使用IDE工具,软件测试等相关内容。

  本书写给谁看

  如果你想从零开始学习Java编程,本书不适合你。如果你已经学会了Java基本语法,动手编程却感到困难重重,或者你已经是一个Java程序员了,实际开发中却感觉力不从心,本书将非常适合你。本书会帮助你找出自己的技术短板,提升Java编程的基本修养。<

这些基础知识正是贺老师不厌其烦告诉我们的

的确 要创新就得了解原理

于是决定开始研究这本书了

同时 开始试着用用CSDN-markdown编辑器

看起来界面很棒

代码如下

[code]public class ArrayTest3
{
    public static void main(String[] args)
    {
        int[] nums = new int[] { 1, 2, 3, 4, 5 };
        // 体验J***A中不初始化数组
        // 用prices数组指向nums数组
        int[] prices;
        prices = nums;
        for (int i = 0; i < prices.length; i++)
        {
            System.out.print(prices[i] + " ");
        }
        System.out.println();
        // 体验更改prices中的值来更改nums中的值
        prices[2] = 9;
        System.out.println("nums[2]=" + nums[2]);
    }
}


运行结果

1 2 3 4 5

nums[2]=9

学习心得

要记得的是 J***A数组是静态的 一旦初始化完成 数组元素的内存空间分配即结束
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: