《Java语言程序设计(基础篇)》读书笔记(一)

来源:互联网 发布:sql获取表的所有列名 编辑:程序博客网 时间:2024/06/05 23:39

《Java语言程序设计(基础篇)》读书笔记(一)
作者:wangzz
原文地址:http://blog.csdn.net/wzzvictory/article/details/12453865
转载请注明出处
如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!

从2012年毕业,4月份入职到现在,已经参加工作一年半了。这段时间一直从事IOS平台应用开发,虽然自知还有很多东西没学,但也不想在IOS上面投入自己全部的精力。一个好的程序员不应该只掌握一门语言,存在即合理,目前成千上万种编程语言的存在也同样有它们的价值,多年来没有被淘汰就说明它们是有各自的用武之处,是有各自的优点的。对于只会Objective-C,具有浅薄的C语言基础(C仅限在大学里学过,没有实用经验)的我来说,急于学习一门新的面向对象语言,希望能在学习过程中,接受新思想的熏陶,能让自己的编程观念有所改变。目前把新语言确定为另一个移动操作系统Android的主要开发语言:Java。

前期从网上搜罗Java教程书籍的时候,《Java语言程序设计》这本书(共有基础版和进阶版两本)的呼声很高,就买来了,从9月20号左右到十一假期结束这半个月的时间,快速的把《Java语言程序设计(基础版)》看完了。这本书其实并不适合我,正如其名,它实在基础了,适合那种没有任何编程基础的人学习,故我看的也非常快。

下面把自己从这本书里学到的东西列出来,以备复习之用:

第一章 计算机、程序和Java概述

1、Java的特点

Sun公司声称,Java是简单的(simple)、面向对象的(object oriented)、分布式的(distributed)、解释性的(interpreted)、健壮的(robust)、安全的(secure)、结构中立的(architecture neutral)、可移植的(portable)、高性能的(high performance)、多线程的(multithreaded)和动态的(dynamic)

2、Java版本

有三个版本:

Java标准版(Java Standard Edition,Java SE)

用于开发客户端独立的应用程序或者applet

Java企业版(Java Enterprise Edition,Java EE)

用于开发服务器端的应用程序

Java微型版(Java Micro Edition,Java ME)

用于开发移动设备的应用程序
3、Java文件

后缀名是.java,而且文件名必须和公用类名完全相同

Java文件编译完成后会生成.class字节码文件。Java字节码是类似于机器指令的低级语言,是结构中立的,可以在任何带Java虚拟机(JVM)的平台上运行。执行Java程序就是执行字节码,执行的过程是先将字节码中的一步翻译成目标机器语言代码,翻译完一步立即执行这一步。

4、import关键字

表示导入类的头文件,有两种类型:

①明确导入,比如:

import android.os.Bundle;
②通配符导入,比如:

import android.os.*;
注意:这两种导入方式在性能上是没有什么差别的,因为除非要在程序中使用某个类,否则关于被导入包中的这些类的信息在编译时或运行时是不被读入的。导入语句只是告诉编译器到什么地方能找到这些类。

第二章 基本程序设计

1、简单的Java程序

每个Java类只要包含main方法:

public static void main(String[] args) {}

都可以成为可运行的Java类,这是和Objective-C中的类不同的地方

当然每个Java程序中只能有一个可运行的Java类。
2、加号(+)

Java中的加号有两个作用:

①做加法运算符

②做字符串的连接符,比如:

System.out.println("number = "+numberValue);

如果被连接操作数非字符串,则会先被转换成字符串,再与另一个字符串相连。

3、printf,println,print区别

printf可以格式化输出

println和print都是单纯的文本输出,区别是前者输出后会自动换行


第三章 选择

第四章 循环

第五章 方法

上述三章都是基础内容,各种语言都差不多的部分


第六章 一维数组

第七章 多维数组

这两章有几点要说明的:

1、数组创建

创建方式如下:

elementType[] arrayRefVar = new elementType[arraySize];
或者

elementType arrayRefVar[] = new elementType[arraySize];
第一种是Java风格,也是作者推荐的,第二种是C风格的,两种写法功能一样。

也可以创建匿名数组

new elementType[] {value0,value1,...,valuek};

2、数组初始化

方式一:

elementType[] arrayRefVar = {value0,value1,...,valuek};
方式二:

elementType[] arrayRefVar = new elementType[k];arrayRefVar[0] = elementTypeValue1;arrayRefVar[1] = elementTypeValue2;...arrayRefVar[k-1] = elementTypeValuek;

3、for-each循环

Java支持一个简单的for循环,称之为for-each循环或增强型for循环,语法为:

for(elementType element: arrayRefVar) {    //Process the element}
这种方式可以遍历arrayRefVar数组中包含的所有elementType类型的元素,当然前提是arrayRefVar中保存的都是elementType类型的元素。

4、从方法中返回数组

语法如下:

public static elementType[] foo {  //do something}

5、可变长参数列表

可以把类型相同但个数可变的参数传递给方法,方法中的声明方式如下:

typeName...parameterName(类型名...参数名)
实例如下:

public static void foo(double ... numbers) {  //use numbers as array}

说明:

①一个方法中只能制定一个可变长参数,并且该参数必须是最后一个参数,任何常规参数都必须在它之前。

Java将可变长度参数当成数组对待,可以将一个数组或可变长参数传递给可变长参数。当用可变的参数个数调用方法时,Java会创建一个数组并把参数传递给它。

未完待续...