Java语言程序设计
第一章 计算机、程序和Java概述
1.1 引言
程序设计(又称编程)就是创建软件,软件也称为程序
1.2 什么是计算机
计算机包括硬件和软件两部分,软件发出的指令控制硬件,使得硬件完成特定的任务
#####硬件组件
#####中央处理器(CPU):
由控制单元(协调其他组件工作)和算数/逻辑单元组成(数值运算与逻辑运算)
CPU从内存中获取指令并执行
计算机通过内部时钟以固定速度发射电子脉冲,控制和同步各操作的步调,CPU速度的计量单位是赫兹(Hz),1Hz相当于1个脉冲,1GHz=1,000MHz=1,000,000,000Hz
内存(RAM):
计算机的内存由一个有序的字节序列组成,用于储存程序和程序需要的数据
内存可以按照任意顺序读取字节,所有内存也叫随机访问存储器RAM(Random-Access Memory)
一个程序和他的数据在被CPU执行前必须被储存到内存当中
计算机是一系列的电路开关,开1闭0,1和0被称为比特(二进制)
1字节(byte)= 8比特(bit)
ASCII中,C的二进制表示是1个字节:01000011
1KB = 1000 byte
1MB = 1,000,000 byte
1GB = 1,000,000,000 byte
CPU和RAM都是建立在一个数百万晶体管的硅半导体芯片上,内存芯片更简单、低速、便宜
储存设备:
RAM是一种易失的数据保存形式,断电时内存数据会丢失;
可以将程序和数据储存在储存设备上,需要时再移至内存,因为从内存读取比从储存设备上读取的速度要快很多
磁盘驱动器:
圆形磁性盘片组装起来即硬盘,每台计算机至少有一个硬盘驱动器
光盘驱动器:
CD-R(只读),CD-RW(读写),DVD-R,DVD-RW,DVD比CD储存的信息更多
USB闪存驱动器:
俗称U盘(Flash drive),可以插入通用串行总线(Universal Serial Bus)接口
输入和输出设备
可以让用户和计算机之间进行通信,输入设备有键盘和鼠标,输出设备有显示器和打印机
通信设备
计算机可以通过通信设备进行联网,如使用无线适配器连接无线网络
1.3 编程语言
机器语言(Machine Language)
二进制代码
汇编语言(Assembly Language)
使用短的描述性单词(助记符)来代替机器语言,例如add,sub
需要通过汇编器(Assembler)将汇编语言转为机器代码
高级语言
现在的繁多的编程语言,用高级语言编写的程序称为源程序(Source program)或源代码(source code)
通过编译器将整个源代码文件翻译为机器代码文件并执行
通过解释器将源代码中的一句翻译为机器语言并执行
1.4 操作系统
关系图
用户<->应用程序<->操作系统<->硬件
控制和监视系统的活动
识别输入设备和输出设备的操作
跟踪储存设备中文件和文件夹的动态
不同程序和用户使用计算机时不会被打扰
安全处理与授权
分配和调配系统资源
负责确定一个程序需要使用哪些计算机资源,如硬件组件,并进行资源分配与调配
调度操作
多道程序设计
允许多个程序通过共享CPU同时运行,比如web浏览器下载文件时可以同时使用word
多线程
允许单个程序同时执行多个任务,例如word等字处理程序可以一边编写一边保存
多处理
多个CPU同时执行一个任务,类似于多名外科医生共同执行一场手术
1.5 小知识
Java 是一种多用途的编程语言,可用于开发移动设备(如安卓软件)、台式计算机以及服务器端的软件
可以在web浏览器中运行的java程序被称为java小程序(applet),内嵌在html中,可以提供图形用户界面的交互互动
1.6 专业术语
Java语言规范(Java language specification)
Java语言的语法和语义http://docs.oracle.com/javase/specs
应用程序接口(Application Program Interface)
也称为库http://download.java.net/jdk8/docs/api/
JDK(Java Development Kit)和JRE(Java Runtime Environment)
简单地说,JRE就是运行Java字节码的虚拟机(JVM)。但是,如果只有Java源码,要编译成Java字节码,就需要JDK,因为JDK除了包含JRE,还提供了编译器、调试器等开发工具。
IDE(Integrated Development Environment)
把编辑、编译、链接、调试都集成在一个图形用户界面
1.7 简单的Java程序
控制台 - console
行号 - line number
保留字/关键字 - reserved word/keyword,如class,public,static,void
(行/块)注释 - (line/block) comment
(类/方法)块 - (class/method) block
1.8 JVM、编译器、解释器的关系
1.9 程序设计风格和文档
JDK的javadoc命令可以提取一个HTML文件
每个内层的组成部分或语句应该比外层缩进两格。 二元操作符的两边应该各加一个空格
块的写法有两种常用方式:次行(next line) 风格和行尾(end of line)风格
1.10 程序设计错误
语法/编译错误
编写错误,例如关键字拼写错误
运行时错误
引起程序非正常中断的错误,例如输入错误:程序期待用户输入字符串,但是用户输入了数值
逻辑错误
程序没有按照预期的方式执行,例如java的整数相除只返回结果的整数部分,不显示小数部分