zoukankan      html  css  js  c++  java
  • 读书笔记--《java语言程序设计--基础篇》

    一、概述:
        这是读的第一本英文原版的专业书籍,总的来说,因为自己也有一些基础,读起来并不是非常的费劲。
    前半部分主要是介绍java的相关语法,正好借着这样的机会巩固了一下自己的码代码的能力,基本上把书中
    的代码都打了一遍,前面的部分主要是用的notepad++来写的,notepad++ 也有代码提示功能,用起来还是挺
    不错的,但是用cmd 来编译,连接,javac 然后java 执行,似乎很容易出现编码格式方面的问题。后半部分
    主要是利用Myeclipse来写的,也尝试了一下 intelliJ idea ,但是由于用Eclipse比较习惯的原因,不太
    适应它的快捷键,写起来不是很爽,于是作罢。
        中间还尝试过将java程序打包起来,让它能在未安装jre的机器上运行,中间试了Jbuilder,exe4j,
    install4j,exe4j使用步骤还算简单,(但实际上很多选项我都忽略了),它能将java程序打包成exe
    文件,但仍需要jre的支持。其他的使用起来就更加的复杂了。后来想了想,在win环境下的exe 程序,还算
    拿c#,c++之类的写好了。实际上基本语法的差别并不是非常的大。
    二、思考(总的来看):
        1、java环境配置的问题,jdk是开发者使用的开发工具,其中主要包括了jre,说明文档,一些示例代码,
    以及源代码。其中非常重要的是jdk根目录下的bin目录中,可以直接将其添加到path目录中,它里面包含了
    java.exe,javac.exe,等文件。至于jre呢,是java runtime environment, 是执行java程序必须的环境,它
    包含了jvm,即java虚拟机,负责java字节码的解释。
        2、封装(encapsulation),继承(inheritance),多态(polymorphism),首先,封装主要说的是写类
    时注意做到一个高内聚,即如同一个黑箱,仅仅对外公开必要的方法与变量,而对仅仅用于内部的方法,变量
    使用private关键字。继承,即是最大的体现了一个代码的复用性,通过extends关键字,或者implement接口,
    实现代码的复用。(这一个可以参看chapter15,是继承的一个非常好的例子)非常好的利用了java继承时构造
    函数的调用关系。多态,主要是通过类的向上转型来体现。
    三、代码说明
        将书中的代码基本上打了一遍,下面就这些做一个介绍,方便自己的复用。
        chapter2:
            Time.java :实现功能,将系统的 totalMilliseconds 化为北京时间,由于8小时时差,要进行一个
            加8处理。实际上,java的date 类就实现了这个功能。
            TestScanner.java :利用scannner实现控制台输入。
            ShowInput.java :功能是将用户输入的内容显示在一个dialog上。用了JOptionPane。
            DisplayUnicode.java :以unicode 16bit 编码,即"u6b22u8fceu03b1"。
            ComputeLoan.java: 输入贷款以及返回每月payment.
            ComputeArea.java :
        chapter3:
            ReadFile.java :无法读取文件,代码有错误。。但可以编译通过。 2015.5.25
            Sub.java :出一道减法题,判断答对了没有。
        chapter4:
            MultiplicationTable.java :打99乘法表。
        chapter6:
            CountLettersInArray.java :显示随机字符中,各小写字符出现的次数。字符出现次数统计。
            RandomCharacter.java :随机产生字符。
            BinarySearch.java :二分查找法的数列,必须是要经过排序的.查找数字int型。
            InsertionSort.java :插入法排序。
            LinearSearch.java :线性查找法。
            SelectionSort.java :从小到大排列,使用的选择排序的方法.
            TestSystemArray.java :Arrays.sort(a);利用这个现成的方法进行排序。
        chapter7:
            Circle.java ,
            Course.java(一个模拟课程的类),
            Seeds.java(通过种子获取随机数)
            StackOfIntegers.java :该函数模拟了一个整数stack的功能.
        chapter8:
            CheckPalindrome.java :判断一个数列是不是回文数.
            CountEachLetter.java :实现输出一段字符串中各个字母出现的次数
            ReadData.java :读取文件,利用scanner 来读取,注意把input流close掉
            WriteData.java :利用PrintWriter 输出文件。
        chapter9:
            1、通过此例可以看出构造函数调用的顺序,首先调用父函数的无参的构造函数!
        chapter10:
            GenericSort.java :该类的功能是实现数组的排序。
            TestCalendar.java :该类测试了calendar类的使用
        chapter11:
            Rational.java :有理数的基本运算,分数形式显示,用“/”
        chapter12:
            gui方面的程序。showLayout.java,ImageIcon,panels,swingCommonFeature.等。
        chapter13:
            仍然是gui方面的。label ,messagePane,等。
        chapter14:
            gui方面的,有动态时钟,MovableMessagePanel (可以移动的文本,根据鼠标的运动)
            KeyboardPanel(用上下左右键控制一个字母,注意在main方法中,一定要setFoucus,方可移动)
        chapter15:
            gui方面的程序。MultipleWindowsDemo(统计字母出现的次数,并用图表显示)
            radioButton,checkBox等。
        chapter16:
            applet用于网页的小应用,不过用浏览器试了一下,总是用安全问题,或者报classNotfindError.
        chapter17:
            异常处理。throws,throw, try ...catch...finally..
        chapter18:
            java的输入输出流,binary I/O.
        chapter19:
            recursion.递归的思想。TowersOfHanoi,汉诺塔的例子。

  • 相关阅读:
    C++ Primer Plus章节编程练习(第十章)
    Bezier曲线
    C++静态持续变量
    计算机图形学之三维图形变换
    计算机图形学之二维图形变换
    C++ Primer Plus章节编程练习(第七章)
    C++中的指针与const
    Java 输入输出流
    Java Fx 画圆环
    注册事件及事件处理
  • 原文地址:https://www.cnblogs.com/sduycq/p/4564896.html
Copyright © 2011-2022 走看看