一.java语言概述
java是一种特殊的高级语言,既有解释性语言的特征,也有编译型语言的特征,但并非二者之一
-
编译型(compile):专门的编译器,将某种高级语言一次性“编译”成可被该平台硬件执行的机器码。可脱离开发环境独立运行,但编译生成的可执行性程序无法移植到其他平台上运行,若要移植必须将源代码复制,进行修改或者重新编译 效率高
-
解释型:使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行的语言,相当于编译型语言中编译与解释过程合到一起完成 效率低,跨平台容易
-
java:编译步骤不会产生特定平台的机器码,而是与平台无关的字节码(.class文件),该字节码不可执行,必须用Java解释器(JVM)解释执行。字节码不面向任何具体平台,只面向JVM,不同平台上的JVM是不同的,但都有相同的接口 JVM是Java跨平台的关键部分
JVM的理解
就好比有两支不同的笔,但需要把同一个笔帽(字节码程序)扣到两支不同的笔上(不同的平台),只有为这两支笔提供一个转换器,这个转换器向上的接口相同,适应同一个笔帽;向下的接口不同,适应两只不同的笔
开发java准备
-
第一步当然是下载jdk啦jdk8链接及提取码:qkt3官网下载很慢,这个可能会快点,这个版本比较经典,所以上传了jdk8
-
下载完成后进行安装,路径要纯英文,建议单独创建一个文件夹,自己记得住的,我的在C:\Program Files\Java\jdk1.8.0_251
-
配置环境变量:我的电脑右键->属性->高级系统设置->环境变量
-
在系统变量中新建自定义变量JAVA_HOME,变量值为jdk安装路径(纯英文路径的原因)
-
编辑系统变量中的path变量
在所有变量值前加上 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 注意分号,二者之间一定有分号隔开,和后面的变量值之间也要有分号隔开
-
配置完成后,左下角输入cmd打开命令行窗口进行测试自己是否配置正确
进入后输入java点击回车
若配置有误则会显示
**错误:找不到或无法加载主类…**此时需要检查自己的配置步骤
排错完成后会有如下显示,那么配置工作即完成
-
二.理解面向对象
结构化程序设计简介(经典的C语言就是结构化)
-
结构化程序设计主张按功能来分析需求,可概括为:自顶向下,逐步求精,模块化
-
结构化程序设计里最小的程序单元是函数,每个函数负责接受一些输入数据并进行处理再而后输出。整个系统软件由一个个函数组成,作为程序入口的为主函数、
-
三种基本结构:顺序,选择,循环
任何复杂或者简单的算法都可以由顺序结构、选择结构、循环结构组合而成
面向对象程序简介(java 从现实存在的事物(即对象)出发构造软件系统)
-
最小的程序单元是类,类定义=成员变量(状态数据)+方法(行为);在面向过程的程序单位是函数(相当于方法),因此面向对象编程粒度更大,所以更简单易用
-
例如完成”猪八戒吃西瓜“这样一件事
面向程序(函数为中心,函数最大):
吃(猪八戒,西瓜)
面向对象(对象为中心,对象最大):
猪八戒.吃(西瓜)
-
基本特征:封装,继承,多态(具体三者的概念后面学到会有理解),除此之外,抽象也是面向对象的重要部分,抽象即忽略与当前目标无关的以便充分注意与当前有关的方面。但即便如此,抽象也不是其特征之一,因为所有的编程语言都需要抽象。
-
在编程领域,还有一个”基于对象“(例如Javascript)的概念,二者容易混淆,通常来说,”基于对象“也使用了对象,但无法利用现有对象模板产生新对象类型继而产生新对象,即没有"继承"和”多态”的特点。但面向对象方法的三大基本特征缺一不可,因此可以得出:判断一门语言是否面向对象,通常可以使用继承和多态来判断
-
类是对象的抽象,对象是类的实例。