第一讲 Java入门
1.爪哇岛(印尼) Java之父
2. 爪哇产的咖啡 James Gosling
3. 计算机语言 詹姆斯·高斯林
课程大纲 |
课程内容 |
学习效果 |
掌握目标 |
Java入门 |
计算机发展史 |
了解 |
了解各代计算机的特点 |
编程语言发展史 |
了解 |
了解多种编程语言及应用领域 |
|
Java的特点 |
了解 |
了解java语言的应用领域和特点 |
|
Java开发环境 |
掌握 |
熟练掌握Java开发环境的搭建和第一个Java程序的编写、编译和运行 |
|
IDE eclipse配置和使用 |
掌握 |
熟练使用eclipse开发java项目 |
一、计算机发展史
- 第一代计算机
电子管计算机(1946—1958年)
第一台通用的、完全电子的计算机由约翰.莫奇勒和普雷斯波.埃克特发明,这台计算机被称为ENIAC(Electronic Numerical Integrator and Calculator,电子数字集成器和计算器)。它是在1946年完成设计利用了将近18000个集成块,有100英尺长,10米英尺高,重达30吨。
2、第二代计算机
晶体管计算机(1958—1964年)
使用晶体管代替真空管,这既减小了计算机的体积,也节省了开支,从而使得中小型企业也可以负担得起。FORTRAN和COBOL两个种高级计算机程序设计语言的发明使得编程更加容易,这两种语言将编程任务和计算机运算任务离开来。一个土木工程师能够直接编写一个FORTRAN程序来解决问题而不必涉及计算机结构中的具体电子细节。
3、第三代计算机
集成电路计算机(1964—1970年)
集成电路(晶体管、导线以及其他部件做在一块单芯片上)的发明更加减少了计算机的成本和大小,小型计算机出现在市场上。封装的程序,就是通常所说的软件包也已经有售。小型公司可以买到需要的软件包(如会计程序)而不必写自己的程序。一个新的工业——软件工业就此诞生了。
- 第四代计算机
大规模集成电路计算机(1970年至今)
硬件方面,逻辑元件采用大规模和超大规模集成电路(LSI和VLSI)。软件方面出现了数据库管理系统、网络管理系统和面向对象语言等。1971年世界上第一台微处理器在美国硅谷诞生,开创了微型计算机的新时代。应用领域从科学计算、事务管理、过程控制逐步走向家庭。
由于集成技术的发展,半导体芯片的集成度更高,每块芯片可容纳数万乃至数百万个晶体管,并且可以把运算器和控制器都集中在一个芯片上、从而出现了微处理器,并且可以用微处理器和大规模、超大规模集成电路组装成微型计算机,就是我们常说的微电脑或PC机。微型计算机体积小,价格便宜,使用方便,但它的功能和运算速度已经达到甚至超过了过去的大型计算机。另一方面,利用大规模、超大规模集成电路制造的各种逻辑芯片,已经制成了体积并不很大,但运算速度可达一亿甚至几十亿次的巨型计算机。我国继1983年研制成功每秒运算一亿次的银河Ⅰ这型巨型机以后,又于1993年研制成功每秒运算十亿次的银河Ⅱ型通用并行巨型计算机。这一时期还产生了新一代的程序设计语言以及数据库管理系统和网络软件等。
随着物理元器件的变化,不仅计算机主机经历了更新换代,它的外部设备也在不断地变革。比如外存储器,由最初的阴极射线显示管发展到磁芯、磁鼓,以后又发展为通用的磁盘,现又出现了体积更小、容量更大、速度更快的只读光盘(CD—ROM)
二、编程语言发展史
1、打孔机
2、汇编语言
3、高级语言
(1)C语言
C语言是目前世界上流行、使用非常广泛的高级程序设计语言。
主要应用领域:操作系统、嵌入式开发、系统软件、游戏……
(2)C++
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
应用领域:游戏、操作系统、嵌入式开发……
(3)Objective-C
主要应用领域:
IOS操作系统
IOS应用程序
Mac OS操作系统
Mac OS 系统上的应用程序
(4)PHP
主要应用领域:Web应用、企业级应用 主要用于网站的开发
(5)Python
是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
应用领域:系统编程、图形处理、数字处理、文本处理、黑客编程、网络爬虫……
(6)Ruby
Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发。
Ruby是一种动态的,侧重于简单个高效的开源语言,他是一个优雅的语法,能够很自然的阅读和编写,适合于快速开发,一般开发效率是JAVA的5倍。
应用领域:web开发、医学影像处理等。
- Java语言的应用领域
1、安卓应用
安卓系统上的APP都是使用Java语言开发的
2、银行、金融行业应用
3、电商系统
|
|
4、第三方支付平台
5,大数据领域
一些流行的工具是Apache Hadoop,Apache Spark,Apache Storm等等,这些工具中的大多数都是基于Java的,Java概念被广泛用于数据处理。
- Java语言
- Java语言发展史
JDK java开发工具包
SUN-(Stanford University Network斯坦福大学网络公司)
1995年5月23日,Java语言诞生
1996年1月 JDK1.0
1997年2月 JDK1.1
1998年12月 JDK1.2(将Java分成了J2SE,J2EE,J2ME)
2000年5月 J2SE1.3
2002年2月 J2SE1.4
2004年10月 JDK1.5(改名JavaSE5.0,JavaEE,JavaME)
2006年12月JavaSE6.0
2009年04月20日,甲骨文(Oracle)74亿美元收购Sun。
2011年7月 JavaSE7.0
2014年3月 JavaSE8.0(市场主流版本)
- Java体系(三大平台)
J2SE(更名为JavaSE) Standard Edition
是整个Java技术的核心和基础,它是J2ME、J2EE的编程基础。
可以完成一些桌面应用程序的开发。
J2EE(更名为JavaEE) Enterprice Edition
Java技术中应用最广泛的部分,J2EE提供了企业应用开发相关的完整解决方案。
J2ME(更名为JavaME) Mirco Edition
主要用于控制移动设备和信息家电等有限存储的设备。
3、关于Java的大事件
2009年4月20日甲骨文(Oracle)以现金收购Sun微系统公司,交易价格达74亿美元。
4、Java的特点
一种面向对象的语言(号称完全面向对象)
一种平台无关的语言(跨平台)
一种半编译半解释型语言
(1)半编译半解释
Java的源文件不能直接运行,需要经过编译器编译,编译成字节码文件(.class)。
字节码文件也不是cpu可以直接识别的命令,而是需要解释器解释运行
(2)跨平台特性
平台:指的是操作系统(Windows,Linux,Mac)
跨平台:Java程序可以在任意操作系统上运行(一次编写到处运行)
即Java程序可以在不同操作系统上均可以运行。(Java可以运行的程序是.class文件相当于Windows中的.exe文件)
原理:实现跨平台需要依赖Java的虚拟机 JVM (Java Virtual Machine)
注意:Java字节码借助于JVM可以实现跨平台,但是JVM本身不夸平台,需要针对不同的操作系统开发不同版本的JVM。
5、JDK、JRE和JVM
JDK(Java Development Kit):Java开发工具包,包含开发Java程序的所有工具,如javac和java等,JDK里包含JRE。
JRE(Java Runtime Environment):Java运行时环境,如果要运行Java程序,就需要JRE的支持,JRE里包含JVM。
JVM(Java Virtual Machine),Java虚拟机,它是运行所有Java程序的虚拟计算机,好比是街机游戏的模拟器。
总结
JDK:Java开发工具包(JRE+给开发人员用的工具)
JRE:Java运行环境(JVM+核心类库)
JVM:Java虚拟机(实现Java跨平台的方式)
要进行Java开发,首先就需要安装JDK(安装好JDK,JRE和JVM就都有了)。
- Java开发环境搭建
- 下载JDK
下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
2、安装JDK
双击安装JDK即可。
注意事项:
安装路径:尽量不要安装在C盘、安装路径尽量不要有中文、安装路径尽量不要包含各种特殊符号,最好就是纯英文和数字
jre的安装:在安装jdk的过程中,提示安装jre,一般不需要再次安装jre。如 果一定要安装,确保安装的路径不要和jdk的安装路径重复,否则会覆盖文件
验证成功:在jdk的安装路径的bin目录下,启动命令窗口,输入java -version如果能看到版本信息,说明安装成功
安装后目录介绍
3、编写一个Java程序(HelloWorld程序)、并编译运行
(1)编写源文件
1、创建一个文本文档
2、在文档中编写如下代码
public class HelloWorld{ public static void main(String[] args){ System.out.println("helloworld!!!"); } } |
3、修改文件名为 HelloWorld.java
(2)编译运行
1、把这个文件拷贝到jdk的bin目录下
2、打开命令窗口
3、切换到jdk的bin目录
- 在这个目录下执行
javac HelloWorld.java
|
会在这个目录下生产一个字节码文件(.class文件)
- 执行HelloWorld.class这个文件
java HelloWorld |
如果能够输入helloworld!!!则程序运行正确
(3)注意事项
运行时直接写java HelloWorld即可,不需要.class后缀名
如果修改了代码,需要重新编译然后再运行
自己在动手写的时候一定要注意单词拼写、标点符号(全英文状态)
文件后缀名一定要是.java
(4)代码详解(了解)
4、配置环境变量
(1)配置Path
配置Path的原因
没有Path时,JDK中的javac和java等命令,只有进入到JDK的bin目录下才能执行。
配置方式
计算机(右键)—属性 —- 高级系统设置—-环境变量
找到系统变量中的Path,把JDK的bin目录的路径配置到Path中。
(2)配置JAVA_HOME
配置JAVA_HOME的作用
1 简化Path的配置(为了以后JDK路径发生变化时,只需要修改JAVA_HOME,就不需要修改Path了)。
Path的配置就可以修改成 %JAVA_HOME%\bin。
2 指定当前系统的JRE所在位置
例如: 以后会用到的Tomcat就是基于Java语言编写的服务器,在你当前的系统上想运行时,就需要找到JAVA_HOME的配置,从而找到JRE。
配置方式
(3)配置CLASSPATH(了解)
JDK1.5开始,不再需要配置CLASSPATH
配置ClASSPATH的作用
1 在执行 java这个命令时 (例如 java HelloWorld),查找 .class 文件所在的位置
2 当一个.class 文件 引用了JDK中的其他 .class 文件时,查找那些文件所在路径。
配置方式
CLASSPATH配置值
.;F:\dev\java\jdk1.8\lib\tools.jar;F:\dev\java\jdk1.8\lib\dt.jar
- 开发工具
(1)文件编辑工具
记事本、Notepad++、EditPlus … 文本编辑工具
(2)IDE(集成开发环境)
JCreator 简易工具。适合初学者
JBuilder 庞大,缓慢,功能强
NetBeans
IntellJ Idea
eclipse 庞大,免费,功能强 …
- eclipse使用
(1)下载安装
https://www.eclipse.org/downloads/eclipse-packages/
解压即可,不需要安装
(2)基本设置
1、启动和设置工作空间
2、欢迎页面
关闭即可
3、选择模式
Javase阶段,选择java模式
4、设置编码方式
|
|
5设置字体
选择适合自己的字体和字体大小
(3)基本操作
1、创建工程
设置工程名,工程名尽量不使用数字开头。
今后编写的java代码都放在src中
2、创建包
创建包,就理解为创建一个文件夹
3、创建类(java文件)
在包中创建类(在文件夹中创建文件)
指定类名(文件名)
4、编写代码并运行
5、运行结果显示
结果显示在控制台。
- 补充内容(计算机基础知识)
- windows系统常用快捷键和命令
编辑操作
CTRL+C——–复制
CTRL+X——–剪切
CTRL+V——–粘贴
CTRL+A——–全选
CTRL+Z——–撤销
CTRL+S——–保存
基本操作
【Alt】+TAB窗口切换
【Win】+D 显示桌面
【Win】+L 屏幕锁定
【Win】+E 打开“我的电脑”
【Win】+R打开“运行窗口",输入:
calc—>启动计算器
mspaint—>打开画图板(不建议)
notepad—>打开记事本
cmd—>CMD命令提示符
2、常用cmd命令
盘符之间的切换: 盘符: 回车,如进入D盘, D: 回车
进入指定目录 : cd day01
目录回退: cd.. 回到上一级目录
: cd\ 回到盘符根目录
清屏: cls
快捷进入命令行: 地址栏输入cmd回车
此处打开命令窗口:Shift + 鼠标右键
3、操作系统
操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
系统分类:Unix家族和Windows家族。
4、进制转换
(1)进制
一个中国人喜欢听的谣言:
莱布尼兹(数学家)通过在中国的传教士,得到了八卦图,他领悟到只要把八卦中的阴代表0,阳代表1,就可以创立一种新的记数法:二进制。这一神话虽经部分数学史家之批驳,但至今仍广为传播。
阴阳八卦
老子的《道德经》第四十二章:道生一,一生二,二生三,三生万物。
进制介绍
进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位。
十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
二进制:由两个基本数字0,1组成,运算规律是逢二进一.计算机都使用二进制表示数据.
八进制:由0、1、2、3、4、5、6、7组成,运算规律是逢八进一. 10 11 12 13
十进制:由0,1,2、3、4、5、6、7、8、9组成.
十六进制:由0,1,2、3、4、5、6、7、8、9、A、B、C、D、E、F组成.
0 1 10 11 100 101 110 111 1000 转换成10进制 10 0*2^0+1*2^1
(2)二进制数量级转换
二进制数系统中,位简记为b,也称为比特,每个二进制数字0或1就是一个位(bit)。0101010101
计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
位是数据存储的最小单位,其中8 bit 就称为一个字节(Byte),1KB不等于1000B.
(3)进制间的转换操作
1、十进制和二进制之间转换:
十进制—>二进制:
对于整数部分,用被除数反复除以2,除第一次外,每次除以2均取前一次商的整数部分作被除数并依次记下每次的余数。另外,所得到的商的最后一位余数是所求二进制数的最高位。
二进制—>十进制:
进制数第1位的权值是2的0次方,第2位的权值是2的1次方,第2位的权值是2的2次方……公式:
第N位 * 2的N-1次方,结果再相加.
2、十进制和八进制之间转换:
十进制—>八进制:
10进制数转换成8进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成8。
八进制—>十进制:
进制数第1位的权值为8的0次方,第2位权值为8的1次方,第3位权值为8的2次方
八进制和二进制的转换
3、十进制和十六进制之间转换
十进制—>十六进制:
10进制数转换成16进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成16。
十六进制—>十进制:
第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
十六进制和二进制转换
(4)原码、反码和补码
在计算机内,有符号数有3种表示法:原码、反码和补码,所有数据的运算都是采用补码进行的。
正数的原码,反码,补码都相同,负数稍微复杂。
- 原码:
就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
- 反码:
负数的反码是对其原码逐位取反,但符号位除外。
- 补码:
负数的补码是在其反码的末位加1。
- 操作5(101)和-5的二进制。
5:
原码101,反码101,补码101.
-5:
作业
1.对计算机相关科普知识有一定了解
2.了解Java相关的历史、版本、三大平台
3.掌握JDK、JRE、JVM之间的区别和联系
4.理解Java跨平台的原理
5.能够自己搭建Java开发环境(下载/安装/配置/验证)
6.能够完成HelloWorld代码的编写并正常运行
7.理解Java程序的执行流程