目录
一、计算机编程语言的发展史
第一代语言 : 机器语言
程序员直接编写二进制,一串二进制代码,例如:10010100010010001000…
计算机是由电流驱动的,电流只能表示两种状态:正、负。
而正可以对应1,负可以对应0.
10010010101010…这些二进制码正好和自然世界中的十进制存在转换关系。
所以很巧妙的是:计算机可以模拟现实世界当中的事物。
机器语言时期非常具有代表性的就是:打孔机。
缺点:
纸带不容易保存
另外打孔的时候是人为操作的,孔有可能打错了。孔打错了纸带就作废了。
第二代语言 : 低级语言
非常具有代表性的:汇编语言。
汇编语言比机器语言更接近人类自然语言。
但是汇编语言还是需要专业人士进行开发,一般人拿到汇编语言也读不懂。
第三代语言 : 高级语言
高级语言完全接近人类自然语言,具有代表性的:
C语言:面向过程的
C++语言:一半面向过程,一半面向对象
Java语言:完全面向对象(java语言底层实际上是C++实现的。)
Python语言:面向对象
…
二 、 Java语言的概述及三大版本
Java语言简介
Java 编程语言是 Sun Microsystems 公司的 James Gosling 在 1990 年创建的,于 1995 年公布于世(一般说 Java 诞生于 1995 年)。Java 是一门面向对象的编程语言,不仅吸收了 C++语言的各种优点,还摒弃了 C++里难以理解的多继承、指针等概念,因此 Java 语言具有功能强大和简单易用两个特征。Java 语言作为面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
JDK简介
Java开发工具箱,做Java开发必须安装的,这是最根本的一个环境。)
JDK不是集成开发环境。
JDK这个开发工具箱中是Java最核心的库。
Java三大版本
JavaSE : Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。即Java标准版,Java学习的基础,包含基础语法和基础库,主要做一般的 Java应用,比如应用软件/ QQ 之类的通信软件等等。
JavaEE : 这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。即Java企业版,主要做企业应用,比如公司网站,企业解决方案等。
JavaME :这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。即Java 微型版,主要面向嵌入式等设备应用的开发,比如手机游戏等
三 、 Java语言的特性
- 简单性
在Java语言当中真正操作内存的是:JVM(Java虚拟机)
所有的java程序都是运行在Java虚拟机当中的。
而Java虚拟机执行过程中再去操作内存。
对于C或者C++来说程序员都是可以直接通过指针操作内存的。
C或者C++更灵活,可以直接程序员操作内存,但是要求程序员技术精湛。
Java语言屏蔽了指针概念,程序员不能直接操作指针,或者说程序员
- 面向对象
面向对象更容易让人理解,人类通常是以对象的方式认知世界的。
采用面向对象的方式可以让复杂问题简单化。
- 健壮性
主要是因为Java中有一种机制:
自动垃圾回收机制(GC机制)。
java语言是健壮的,相对于C语言来说,C语言没有Java健壮。
Java不容易导致内存的泄漏。
C++或者C语言使用不当时很容易导致内存泄漏。
JVM负责调度GC机制。程序员不需要干涉。
- 多线程
>完美支持多线程并发
- ** 可移植性**
可以在windows , mac os ,linux 等不同操作系统上跨平台使用
三、常用的windows DOS命令
- 打开命令行窗口
win + r 打开运行窗口 ,在文本框中输入cmd后回车
- 什么是DOS命令
在最初的windows计算机中没有图形界面的,只有DOS命令窗口。也就是说通过执行DOS命令窗口可以完全完成文件的新建、编辑、保存、删除等一系列操作。
- 创建目录
mkdir Java
创建名为Java目录
- 默认路径
C盘Users目录下的管理员目录
- 在命令行窗口中复制内容
win7 : 在任意位置点击右键–>右键–>选中要复制的内容–>点击右键
win10 : 左键选中,单击右键
- 切换盘符
盘名加冒号 如 D:
- 切换目录
cd 后跟目录名
cd … 回到上级路径
cd / 回到根路径
- 清屏操作
输入cls后回车
- 查看目录
dir + 目录名
- 退出命令行窗口
输入exit后按回车
- 删除文件
del + 文件名(带后缀)
- 查看IP地址
ipconfig
ipconfig /all 详细
- 查看两台计算机之间能否正常通信
ping + IP地址
ping + 域名
域名底层最终还是会被解析成IP地址的形式。
四、常用的文本编辑快捷键
- 复制
ctrl + c
- 粘贴
ctrl + v
- 剪切
ctrl + x
- 保存
ctril + s
- 撤销
ctrl + z
- 重做
ctrl + y
- 回到行首
home键
- 回到行尾
end键
- 光标在行尾时选中一行
shift + home键
- 光标在行首时选中一行
shift + end键
- 回到文件头
ctrl + home
- 回到文件尾
ctrl + end
- 全选
ctrl + a
- 查找
ctrl + f
- 选中一个单词
鼠标双击
- 选中一行
鼠标连续点击3次
- 不用鼠标选中一个单词
ctrl + shift + ←/→
- windows快捷键
win + r打开运行窗口
win + d显示桌面
win + l锁屏
alt + tab切换应用
五、JDK、JRE、JVM三者的定义及关系
-
定义
JDK : Java开发工具箱
JRE : Java运行环境
JVM :Java虚拟机 -
关系
JDK包括JRE,JRE包括JVM。
JVM是不能独立安装的。
JRE和JDK都是可以独立安装的。
有单独的JDK安装包。
也有单独的JRE安装包。
没有单独的JVM安装包。
安装JDK的时候:JRE就自动安装了,同时JRE内部的JVM也就自动安装了。
安装JRE的时候:JVM也就自动安装了。
六、对Java的加载与执行过程的理解
- Java程序经历如下两个阶段
1 . 编译阶段
将Java源代码生成对应的字节码文件,JVM可对字节码文件(.class文件)进行识别
2 . 运行阶段
JVM对字节码文件进行装载,然后对其进行解释,即在命令行窗口显示对应代码
- Java程序从开发到运行经历了什么?
编译期:(可以在windows上)
第一步:在硬盘的某个位置(随意),新建一个xxx.java文件
第二步:使用记事本或者其它文本编辑器例如EditPlus打开xxx.java文件
第三步:在xxx.java文件中编写“符合java语法规则的”源代码。
第四步:保存(一定要将xxx.java文件保存一下)
第五步:使用编译器(javac【JDK安装后自带】)对xxx.java文件进行编译。
第六步:如果xxx.java文件中编写的源代码是符合语法规则的,编译会通过,
如果xxx.java文件中编写的源代码违背了语法规则,那么编译器会报错,编译器
报错之后class文件是不会生成的,只有编译通过了才会生成class字节码文件。
并且一个java源文件是可以生成多个class文件的。(编译实质上是检查语法)
运行期(JRE在起作用):(可以在windows上,也可以在其他的OS上。)
第七步:如果是在Linux上运行,需要将windows上生成的class文件拷贝过去不需要拷贝源代码,真正运行的是字节码。(但是源代码也不要删除,有用)
第八步:使用JDK自带的一个命令/工具:java(负责运行的命令/工具)执行字节码
第九步:往下的步骤就全部交给JVM了,就不需要程序员干涉了。JVM会将字节码文件装载进去,然后JVM对字节码进行解释(解释器负责将字节码解释为1010101010…等的二进制)
第十步:JVM会将生成的二进制码交给OS操作系统,操作系统会执行二进制码和硬件进行交互。
七、配置环境变量
配置path环境变量
path环境变量的作用
path环境变量的作用就是给windows操作系统指路的。
告诉windows操作系统去哪里找这个命令文件。
path环境变量中有很多很多的路径,路径和路径之间用半角分号分隔。
path=A;B;C;D…
path是环境变量的名字。
A;B;C;D…是环境变量path的值
因此如果要使用javac 和 java命令,需要将Java bin 包配置到path环境变量,这样就不用写命令前的路径名,而直接使用这两个命令
步骤
桌面计算机上右键–>属性–>高级系统设置–>环境变量
C:\Program Files\Java\jdk-13.0.2\bin配置到path当中。
环境变量的分类
包括系统变量和用户变量
1 . 系统变量 : 范围比较大,系统变量会让计算机所有用户都起作用。
2 . 用户变量: 范围比较小,这个变量只是作用于当前用户。
配置JAVA_HOME环境变量
暂时用不到,不会影响Java程序运行,后续补充
配置classpath环境变量
- 说明
默认情况下,类加载器去硬盘上找“字节码”文件的时候,默认情况下类加载器(classloader)会从当前路径下找。
如果配置了classpath环境变量,类加载器会从指定目录下寻找并加载class文件。
classpath环境变量是给“类加载器”指路的。classpath环境变量不属于windows操作系统classpath环境变量隶属于java。
- 步骤
classpath环境变量在windows系统中没有,需要新建
计算机–>右键–>属性–>高级系统设置–>环境变量–>新建…
然后令classpath=A路径;B路径;C路径…(此时与path环境比变量配置相同)
classpath是一个变量名
A路径;B路径;C路径…是变量值
八、注释
- 注释的作用
注释是对代码的解释和说明,其目的是让程序员能够更加快速的理解代码。它是编写程序
时,写程序的人给一个语句、程序段等的解释或提示,能提高程序代码的可读性。且注释在编译的时候不会生成到 class 字节码文件当中,它只在 java 源文件中保留。
- 注释的三种方式
①// 单行注释
②
/*
*第一行注释信息
第二行注释信息
/ 多行注释
③ javadoc 注释
/
*这里的信息是 javadoc 注释
*@author 作者名字
*@version 版本号
*@since 自从哪个版本号开始就存在了
*/
对于 javadoc 注释来说,这里的注释会被 JDK bin 目录下的 javadoc.exe 命令解
析并生成帮助文档
九、JDK常用基本组件
JDK 常用的基本组件包括:javac(编译器)、java(运行 java 程序)、javadoc(提取 java
程序的注释信息并生成帮助文档)、jar(打 jar 包)、jdb(查错工具)、javap(反编译器)、
jconsole(系统调试和内存监控工具)等。