01人机交互
图形化界面的故事
PC机上的第一个图形界面------ Xerox Alto (该系统并未商用,主要用于研究和大学),其于1973年被施乐公司 Xerox Palo Alto Research Center (PARC) 所设计,从此,开启了计算机图形界面的新纪元,80年代以来,操作系统的界面设计经历了众多变迁,OS/2, Macintosh, Windows, Linux, Symbian OS ,各种操作系统将 GUI 设计带进新的时代。
02什么是CMD
CMD:在windows中,利用命令行的方式操作计算机。
可以打开文件、打开文件夹、创建文件夹等等。
03打开CMD
第一步:Win+R

第二步:输入cmd

第三步:按下回车键/点击确定

04常见的CMD命令
1.盘符名称+冒号
说明:盘符切换
举例:E:回车,表示切换到E盘
注意:冒号要用英文输入

2.dir
说明:查看当前路径下的内容
注意:dir可以将隐藏的内容展示出来,请勿随意操作

3.cd 目录
说明:进入单级目录
举例:cd itheima

4.cd ..
说明:回退到上一级目录

5.cd 目录1\目录2
说明:进入多级目录
举例:cd itheima\JavaSE

6.cd \
说明:回退到盘符目录


注意:上面两个是隐藏文件

7.cls
说明:清屏

8.exit
说明:退出命令提示符窗口
注意:右上角的 X 是图形化界面的操作, exit 是命令的关闭
05练习:用CMD打开QQ并配置环境变量
需求:利用CMD命令打开自己电脑上的QQ


**注意:**如果不知道QQ的文件位置,可以右键桌面上的QQ图标,然后再打开属性,就可以查看文件所在位置

思考:如何简便打开QQ
思路:只要把QQ的路径记录在电脑的环境变量
第一步:打开我的电脑,右键空白处,点击属性/直接用鼠标右键我的电脑,点击属性

第二步:点击高级系统设置,找到高级,再点击环境变量。

第三步:找到系统变量中的path,点击编辑,再点击新建,把QQ的完整路径粘贴进去,再点击上移,把QQ的路径移动到最上面,最后再点击确定

环境变量小结
为什么要配置环境变量?
我们想要在任意的目录下都可以打开指定的软件。就可以把软件的路径配置到环境变量中。
Java入门
Java是什么
Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。
后来 Sun 公司被 Oracle (甲骨文)公司收购,Java 也随之成为 Oracle 公司的产品。
Java分为三个体系:
- JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
- JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
- JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。
2005 年 6 月,JavaOne 大会召开,SUN 公司公开 Java SE 6。此时,Java 的各种版本已经更名,以取消其中的数字 "2":J2EE 更名为 Java EE,J2SE 更名为Java SE,J2ME 更名为 Java ME。

Java主要特性
Java 语言是简单的
Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java 丢弃了 C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。
*
Java 语言是面向对象的
Java 语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。Java 语言全面支持动态绑定,而 C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
*
Java语言是分布式的
Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。
*
Java 语言是健壮的
Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。
*
Java语言是安全的
Java通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。
*
Java 语言是体系结构中立的
Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
*
Java 语言是可移植的
这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。
*
Java 语言是解释型的
如前所述,Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
*
Java 是高性能的
与那些解释型的高级脚本语言相比,Java 的确是高性能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C++。
*
Java 语言是多线程的
在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable) 的构造子类将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。
*
Java 语言是动态的
Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
Java发展历史
- 1995 年 5 月 23 日,Java 语言诞生
- 1996 年 1 月,第一个 JDK-JDK1.0 诞生
- 1996 年 4 月,10 个最主要的操作系统供应商申明将在其产品中嵌入 JAVA 技术
- 1996 年 9 月,约 8.3 万个网页应用了 JAVA 技术来制作
- 1997 年 2 月 18 日,JDK1.1 发布
- 1997 年 4 月 2 日,JavaOne 会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
- 1997 年 9 月,JavaDeveloperConnection 社区成员超过十万
- 1998 年 2 月,JDK1.1 被下载超过 2,000,000次
- 1998 年 12 月 8 日,JAVA2 企业平台 J2EE 发布
- 1999 年 6月,SUN 公司发布 Java 的三个版本:标准版(JavaSE, 以前是 J2SE)、企业版(JavaEE 以前是 J2EE)和微型版(JavaME,以前是 J2ME)
- 2000 年 5 月 8 日,JDK1.3 发布
- 2000 年 5 月 29 日,JDK1.4 发布
- 2001 年 6 月 5 日,NOKIA 宣布,到 2003 年将出售 1 亿部支持 Java 的手机
- 2001 年 9 月 24 日,J2EE1.3 发布
- 2002 年 2 月 26 日,J2SE1.4 发布,自此 Java 的计算能力有了大幅提升
- 2004 年 9 月 30 日 18:00PM,J2SE1.5 发布,成为 Java 语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5 更名为 Java SE 5.0
- 2005 年 6 月,JavaOne 大会召开,SUN 公司公开 Java SE 6。此时,Java 的各种版本已经更名,以取消其中的数字 "2":J2EE 更名为 Java EE,J2SE 更名为 Java SE,J2ME 更名为 Java ME
- 2006 年 12 月,SUN 公司发布 JRE6.0
- 2009 年 04 月 20 日,甲骨文 74 亿美元收购 Sun,取得 Java 的版权。
- 2010 年 11 月,由于甲骨文对于 Java 社区的不友善,因此 Apache 扬言将退出 JCP。
- 2011 年 7 月 28 日,甲骨文发布 Java7.0 的正式版。
- 2014 年 3 月 18 日,Oracle 公司发表 Java SE 8。
- 2017 年 9 月 21 日,Oracle 公司发表 Java SE 9
- 2018 年 3 月 21 日,Oracle 公司发表 Java SE 10
- 2018 年 9 月 25 日,Java SE 11 发布
- 2019 年 3 月 20 日,Java SE 12 发布
Java程序初体验
下载JDK
通过官方网站获取:https://www.oracle.com/cn/java/
注意:针对不同操作系统,下载对应的安装包

安装JDK
第一步:点击产品(product),在软件和硬件中点击Java,再点击下载Java


第二步:选择合适的版本,选择中间的x64 Installer(最简洁)

建议1:安装路径中不要包含中文和空格(软件对中文的支持不够完美)
建议2:所有的开发工具都放在同一个目录中
JDK的安装目录
1.bin:该路径下存放了各种工具命令。其中比较重要的有:javac和java
2.conf:该路径下存放了相关配置文件
3.include:该路径下存放了一些平台特定的头文件
4.jmods:该路径下存放了各种模块
5.legal该路径下存放了各模块的授权文档
6.lib:该路径下存放了工具的一些补充JAR包

第一个程序HelloWorld
HelloWorld案例的编写
第一步:用记事本编写程序
右键空白处,新建一个文本文文档,命名为HelloWorld.java跳出重命名提示后,点击是(Y)


**注:**String args[] 与 String[] args 都可以执行,但推荐使用 String[] args,这样可以避免歧义和误读。
注意:如果文件后缀名隐藏,可以在我的电脑中点击查看,再点击显示,勾选文件扩展名

第二步:编译文件

第三步:运行程序


案例常见问题
BUG的由来
在1945年,美国科学家Grace Hopper(格蕾丝·霍波)参与了"马克二型"(Mark II)计算机的构建和调试工作。这台计算机使用了大量的继电器作为电子机械装置。一天,马克二型计算机突然停止工作,技术人员经过长时间的排查,发现问题出在第70号继电器上。Grace Hopper亲自检查了这个继电器,发现一只飞蛾被卡在其中,导致电路中断。
她将这只飞蛾取出并贴在了她的"事件记录本"中,旁边注明"第一个发现虫子的实例"。由于这次事件,Grace Hopper开始用"bug"这个词来描述计算机系统中出现的错误或故障。这个词汇逐渐在计算机科学和工程领域中被广泛接受和使用,成为描述计算机程序或系统中隐藏的错误、缺陷或问题的通用术语。
BUG的解决
1.具备识别BUG的能力(多看)
2.具备分析BUG的能力(多思考,多查阅资料)
3.具备解决BUG的能力(多尝试,多总结)