第一章:程序设计基础
软件:是一系列按特定顺序组织的计算机数据和指令的集合。它使用计算机语言来编写的。
计算机语言:分低级语言(机器语言、汇编语言)和高级语言。其中机器语言是计算机唯一识别的语言,其本质是
大量开关的组合,其他语言都必须先转换成机器语言才能被计算机执行。汇编语言要经过汇编,其他高级语言要经过编译或解释;而java语言则采用了一种叫JIT的即时编译技术。
程序=数据结构+算法
程序设计的过程包括四大部:分析(解决问题的本质)、设计(确定数据结构和算法)、编码和调试。
算法:一个算法,就是一个有穷规则的集合,其中规定了一个解决某一特定类型的问题的运算序列。计算机
数值运算算法和非数值运算算法。
算法的基本特征:有穷性、确定性、有效性、0或多个输入、1或多个输出。
算法的表示:流程图等。
流程图:起止框(有且仅有一个用来表示程序的开始和结束)、输入/输出框(一个入口和一个出口)、处理框
(一个入口和一个出口)、判断框(一个入口和两个出口)、注释框和流程线。
调试程序(程序的错误类型):语法错误、逻辑错误和运行是错误(外部因素所致)。
第二章:Java简介
Java的环境变量:主要是:CLASSPATH,其次有path和JAVA_HOME。
SUN公司:斯坦福大学网络部。
Java的特点:是一种跨平台的面向对象的高级语言。
面向对象、可移植、分布式、健壮、安全、解释性、多线程、垃圾回收和相对简单。
可移植:通过JVM屏蔽底层平台的差异,不同的平台采用不同的JVM即可,做到一次编写,到处运行;
软件开发工具包即JDK(包含编译器和虚拟机)、运行时环境即JRE(只有虚拟机)、产品文档即API文档。(p18-图2、2)
简单来说,一个java程序由许多类(class)组成,而类又由方法组成,方法则由语句构成。
Java程序的编译和执行:
源程序(*.java)---(编译器)---字节码(*.class)---(通过CLASSPATH指引到JVM上执行,即进入运行时环境)
---类装载器---字节码校验器(安全性)---解释器(JIT技术)---操作系统平台
第三章:关键字、数据类型和变量
标识符:对大小写敏感;不得使用java的关键字;可以由字母、数字、下划线和美元符号组成,其中数字不能作为开头,采用驼峰命名法,类名首写字母大写,常量名全大写,无最大长度限制,做到见名知意。
数据类型:包括基本类型和引用类型
基本类型:整型、浮点型、字符型和布尔型。
整型:字节型(一个字节,-128---127)、短整型(2个字节)、整型(4字节)和长整型(8个字节)。默认为
整型。
浮点型:单精度浮点和双精度浮点。默认为双精度浮点型。分别占4和8个字节。
布尔型:只有true,false两个值。为逻辑型。
字符型:用于表示字符型数据,字符其实一种整型数据(如:a对应ASCII码的97,而A则为65)。
变量:数据类型 变量名;
数据类型间的转换:低位类型进入高位类型会自动转换为高位类型;否则会报错。
强制转换: 数据类型 变量 = (数据类型)值;如 int i = (int)1.01。这样可能损失精度。
常量:采用关键字final,必须在设定常量是就赋值,其值是不可改变的。
第四章:运算符
四则运算符:+、-、*、/和%;其中/要注意和利用整型除法;单目运算符:++和--;位运算(二进制数字上的运算)
(:&,|,^(异与)和~(非);位移运算符 (二进制数字运算):<<,>>和>>>;关系运算符:==,<=,>=和!=;逻辑运算符:&&,||和!;三目运算符(相当与一个简单的if语句):(布尔表达式)?(真语句):(假语句)。
运算符的优先级别:
简单说为:算术运算符>关系运算符>逻辑运算符>赋值运算符。
短路运算:在布尔表达式中。
第五章:选择结构程序设计
if:if(布尔式1){1真语句}else if(布尔式2){1假2真语句}……;
switch:switch(整型表达式){
注意利用去掉break后的贯穿作用。
第六章:循环结构程序设计
while:whiel(布尔条件){循环体},先验循环
do-while:do{循环体}while(布尔条件);
for:for(初始化语句;循环条件;迭代语句){},先验循环
作用域:就像是在方法体中定义的变量只能在其自身的方法块中作出反应。
break用于跳出循环,continue则是跳出本次的循环进入下一次循环。
标签:p65;
第七章:选择和循环混合程序设计
p73打印棱形。
第八章:方法
分而治之的思想
返回类型 方法名(形式参数){方法体
调用方法:先调用方法所在的类,在将形式参量传递给方法。
package:打包;
import:调用类等;
含有package的类的编译:java . -d 文件名;所有java语言的类名和文件名的名字要一模一样。
递归的方法:汉诺塔程序。
java类库:javaAPI文档。