1. Java编程基础
1.1.1. 基本概念
Ø 什么是软件?
软件是一系列按照特定顺序组织的计算机数据和指令的集合。
系统软件: 系统软件为计算机使用提供最基本的功能。
例如: DOS, Windows, Linux, Unix, Mac OS, Android, iOS
应用软件: 基于操作系统,针对特定应用领域,根据用户和需求提供不同的功能。
例如: Word, Excel, PPT, QQ, FeiQ, 凌波, Editplus, Eclipse
Ø 什么是计算机语言?
人机交流的工具,由数字、字符和语法规范组成的的计算机指令。
软件就是由若干计算机语言所组成的。
Ø 计算机语言分类
机器语言:
可以被机器直接运行,用二进制代码(0、1)指令表达的计算机语言,它们有一定的位数,并分成若干段,各段的编码表示不同的含义。
汇编语言:
除了机器语言是最低级的语言。
汇编语言是使用一些特殊的符号来代替机器语言的二进制码,计算机不能直接运行,需要用一种软件将汇编语言翻译成机器语言。
高级语言:
使用普通自然语言进行编写源代码,通过编译器将源代码翻译成计算机直接识别的机器语言,之后再由计算机执行。
例如:JAVA、C、C++
1.1.2. JAVA的由来
·1900年,由James Gosling负责开发的一个分布式代码系统(Oak),最初目的是为家用电子类消费产品(电视机、冰箱)进行编程控制。
·1993年,SUN公司目标转向互联网。SUN公司也是最早研究互联网的一批公司。SUN(Stanford University Network)。
·1994年将Oak更名为Java。Java即为爪哇,盛产咖啡。标准读音['dʒa:və]——“扎哇”。
·1995年正式发布。
1.1.3. JAVA语言发展史
·Java Development Kit
1.0.2
1.1.1 \1.1.6 \1.1.7 \1.1.8
1.2.1 :(在1.2.1后,不再叫JDK,改称Java2 SDK)
·Java 2 SDK
1.2.2
1.3.0 \ 1.3.1 (Oracle中多用1.3)
1.4.0 \ 1.4.1 \1.4.2(历史上最稳定的一个版本,稳定期长达3年,银行系统多用此版本和1.3版)
1.5.0(5.0) 从1.5开始更名5.0,发音上,更名为 JAVAEE JAVASE JAVAME
1.6.0(6.0)
以后工作开发,5.0、6.0居多
1.7.0(7.0)目前版本
ØJava平台版本
1999年6月份,SUN公司又将语言重新划分为3个版本
·JavaSE(Java Platform Standard Edition)
Java平台标准版,包含那些构成Java语言核心的类,可以理解为学习Java的基础
·JavaEE(Java Platform Enterprise Edition)
Java平台企业版,包含JavaSE,并且还包含用于开发企业级应用的类。
准确的说JavaEE是一套用于企业开发的技术规范,包含很多组件,13种核心技术,如:XML、JSP、Servlet、 JDBC、Java Mail等
·JavaME(Java Platform Micro Edition)
Java平台微型版,包含JavaSE的一部分,另外提供一些用于小型设备上的类,例如:手机、机顶盒、汽车导航仪。
作为Oak的原始分支,目前已衰弱。
Ø JAVA语言主要特点(优势)
特点是区别于其他同期语言而言的,后期出现的语言必然会具备前期一些语言的特点。
JAVA语言的最大两个特点:开源、跨平台
1.1.4. JAVA的跨平台工作原理——JVM原理(重点)
在JVM出现之前,即使是同一款软件,程序员要针对不同系统重新开发,这样做浪费了大量的人力物力。
JVM的出现使Java程序无需针对各种操作系统进行针对性的研发,只需开发一次,即可以在所有操作系统平台下运行。
原理图如下:
Ø 对比C语言,JVM虚拟机工作原理
1.1. DOS命令
1.1.1. 常用DOS命令
跳转到指定盘符: 盘符: 例:C: D: E:
跳转到指定目录: cd 目录名 例:cd Itcast\day01 cd Tencent\QQ\Bin
显示当前目录下文件: dir
宽屏显示当前目录下文件:dir/w
跳转到上级目录: cd..
跳转到根目录: cd \
清屏: cls
1.1.2. 扩展DOS命令
创建制定名称目录: md 中文名称也可以
删除制定名称目录: rd 目录名
删除文件: del 文件名
退出DOS控制台: exit
重点DOS命令:help 例:help rd
1.1.3. 一些使用DOS命令的技巧
·DOS窗口下,欲复制命令行,右键——标记——左键划出复制区域——右键,就复制成功了。
·通配符 *例如:cd pro* 等同于 cd program,前提是当前目录下不存在同名,如果存在,需要多打几个字母。
·F2重命名快捷键,可用于复杂文件名 复制。
Ø 思考:DOS指令存放在计算机的那里?
DOS命令是系统自带的——内部指令
开始——运行——notepad(记事本)或者mspaint(画图板)都属于外部指令。
下面即将讲到的javac指令也是外部指令。
1.1.4. Java开发环境搭建
JDK与JRE
JDK(Java Development Kit)
定义:Java开发工具,包含开发Java程序的所有组件,包含JRE
换言之,JDK=JRE+开发工具
JRE(Java Runtime Environment)
Java运行环境;如果要运行Java程序,就需要安装JRE
JRE=JVM+核心类库
JVM(Java Virtual Machine)
Java虚拟机,就像一个外国翻译,你到日本去,请一个会日文的JVM,到美国去,请一个会英语的JVM
重点理解:JVM原理
Java将自己的程序运行在SUN公司开发的“小系统”——JVM中。
JVM分系统(WindowsJVM、MacJVM)
意义:使JAVA程序不再依赖于操作系统,从而具有了“跨平台性”!
注:以后我们开发的程序是针对JVM做的。
常用组件:
src.zip Java是一门开源的语言,其源代码都在这个压缩包中
rt.jar Java的基础核心类库,我们编写Java程序时使用的class都在这个jar包中。(删除后将极大影响使用)
javac.exe 启动编译器,将.java源代码编译为可以被JVM识别的字节码.class字文件。格式:javac 文件名.java
java.exe 启动虚拟机,运行Java程序。格式:java 类名
jar.exe 将class文件打成jar包的工具
javadoc.exe 生成帮助文档的工具
Ø 下载地址
http://www.oracle.com/index.html(2009年SUN(Stanford University Network)公司被Oracle公司收购之后该地址跳转到Oracle网站)
1.1.5. 安装小技巧:
安装完JDK后,可以不必选择安装JRE(因为JDK包含JRE)。
JRE之惑?想获取最新版方式:下载新的JDK或者选择安装JRE。
JDK在安装之后是绿色版的,也就意味着,我们以后使用可以不用安装,直接拷贝就可以了!
在U盘里放一份JDK是很专业的做法!
1.1.6. PATH环境变量作用
·使path环境变量下配置的所有目录内的操作系统可识别的可执行文件,在操作系统的任意目录内均可运行。配置完成之后可以在命令行输入javac测试,如果显式帮助信息则是配置成功。
·特别注意:path环境变量配置具有先后位置关系。
例如:当你配置了两个不同版本的bin目录到path路径中,运行javac时,系统会优先调用保存路径靠前的bin目录下的javac.exe程序。
1.1.7. “参照型”配置(重点)
格式:%JAVA_HOME%\bin;
环境变量——系统变量——新建:
变量名为:JAVA_HOME 变量值为:你安装的JDK所在目录下bin文件夹的父目录地址。
1.1.8. 疑问?
有同学会有疑问,
问题一:为什么不在JAVA_HOME变量值中加入\bin
答:据我们的讲师BOSS李说,JAVA_HOME是一个后期将会用到的变量名,如果你加入了\bin,可以,但是就不能命名为JAVA_HOME了。
问题二:细心的同学会发现在“系统变量”一栏的上面有“用户变量”,那他们之间是什么关系?
答:系统变量优先级大于用户变量,以系统变量优先。
问题三:有同学说,我电脑里有好几个JRE,运行编译器调用的是哪个javac?
答:用哪个,就把JAVA_HOME变量值(bin父目录文件路径)配置成哪个。
1.1.9. 小知识点:
· / 右上到左下,正斜杠 。就是计算机里的除号 /
· \ 左上到右下,反斜杠 。DOS下的路径符。例: C:\program files\java\jre1.7\bin
在DOS窗口下, \ / 都可以做路径分隔符使用,BOOS李说后面的IO里会谈到。
·每次配置完PATH,记得重启DOS,以使配置生效。
·特别注意一点,path环境变量配置不支持“中文命名的文件夹”,这点以后在Oracle中也一样,所以以后命名要尽量使用英文!
·编译器版本查看方式:javac –version
·虚拟机版本查看方式:java –version,且虚拟机版本不能低于编译器版本。
Ø 临时环境变量配置(掌握配置U盘bin目录我觉着即可)
模拟场景:同事二人公用一台PC,甲用JDK5.0,乙用JDK7.0,如何解决问题?
解决方案:设置临时环境变量。
以U盘盘符H为例:
DOS窗口——输入: set path=H:\jdk\bin
输入path,查看当前path路径,发现只有刚才配置的path=H:\jdk\bin信息。
改良做法:将目标文件追加到当前已有的path中
格式:set path=%path%;H:\jdk\bin(%path%放在前后都一样)
1.1.10. CLASSPATH配置(3年之内用不到,仅作为了解)
·作用:使classpath环境变量下配置的目录内的.class字节码文件可以再任何目录下运行,功效等同于path
·系统环境变量配置
计算机(右键)→属性→高级系统设置→高级→环境变量→ 系统变量→新建
变量名:classpath
变量值:填写自己要设置的随处运行的class参照目录
1.2. 第一个Java程序——Hello World
Ø 编写源代码
新建文本文档,扩展名改为.java,在文件中写入代码。
1.2.1. Java程序编写执行流程
1.编写java源代码程序,扩展名.java
2.使用javac命令对源代码进行编译,生成字节码文件
javac 源文件名.java
3.使用java命令对class字节码文件进行解释运行,执行时不要添加.class扩展名
java Demo
在第三步中,如果.java源文件中有多个类的话,编译时会被全部编译出来,生成多个.class文件
1.2.2. Hello World中 常遇到的问题
·扩展名隐藏导致的编译失败
·Strint、System、class大小写或者拼写错误
·类名格式错误 class 123
·类、main方法后大括号不匹配导致的错误。错误提示:进行语法分析时已到达文件结尾
·新手最容易犯的中文全角符号错误 “” 、 ;
·如果将JDK装载在C盘下,部分系统会出现“系统盘符无法操作”的提示
·static public 可以 ; public void static 就不可以!