文章目录
一、软件开发介绍
软件:按照特定的规则组织起来的“数据和指令的集合”
1.1、常见操作系统
Windows、Linux、Unix、Mac
1.2、人机交互方式
- 图形化界面(GUI)
- 命令行方式(CLI)
常用DOS命令:
dir:列出当前目录下的文件以及文件夹
md:创建目录
rd:删除目录
cd:进入指定目录
cd…:退回到上一级目录
cd\:退回到根目录
del:删除文件
exit:退出dos命令行补充:echo javase>1.doc 创建文件
1.3、计算机编程语言
- 第一代语言
机器语言:二进制代码- 第二代语言
汇编语言:助记符- 第三代语言:高级语言
面向过程:
面向对象:
二、Java语言概述
Java之父 —— James Gosling (高斯林)
2.1、Java简史
SUN(Stanford University Network)于1995年推出
1991年,一开始是瞄准家电领域(名字Oak),但是竞标反而失败了
1994年,开发组发现Java很适合互联网(Java小程序 applet)
随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言【从一开始嵌套在前端HTML中,到后来慢慢转向后端】
1996年,JDK1.0
2004年,JDK1.5,里程碑版本(JDK5.0)
2014年,JDK8.0(后台开发:Java、PHP、Python、Go、Node.js)
2.2、Java技术体系平台
JavaSE
JavaEE
JavaME
Java是纯粹的面向对象,舍弃了指针、运算符重载、多重继承,增加了垃圾回收机制
2.3、Java语言的特点
面向对象
- 基本概念:类、对象
- 三大特征:封装、继承、多态
健壮性:
跨平台:
- JVM(Java Virtual Machine)
Java两大核心机制
JVM(Java虚拟机):相当于一个虚拟操作系统,具有指令集、并使用不同的存储区域,负责执行指令,管理数据、内存、寄存器
GC(垃圾回收):JVM空闲时,会自动检测并释放那些可被释放的存储空间
{这并不意味着 Java程序就不会出现“内存泄露”、“内存溢出”}
三、Java语言的环境搭建
3.1、JDK
- JDK = JRE + 开发工具集(例如javac编译工具等)
- JRE = JVM + JavaSE标准类库(Java的核心类库)
3.2、JDK安装注意事项
3.2.1、JDK文件目录
- bin目录:常用开发工具(javac编译,java解释运行,javadoc生成以网页形式存在的文档)
- db目录:Java实现的数据库
- include目录:用C语言编写的头文件(Java要调用C语言的指令的时候,要用到)
- jre目录:Java运行时环境
- lib目录:相关.jar包(后面会用到tools.jar,dt.jar)
- src.zip文件:Java的开源代码、常见类库
3.2.2、配置环境变量
- 为什么要配置环境变量?—— Java程序的运行,需要使用javac、java命令,但是要想在cmd命令行调用这两个命令,只能在对应的jdk的bin文件目录下调用(或者写全整个路径);要想在任何路径下都能使用这些命令,就要配置环境变量
- 怎么配置?—— 配置的是path环境变量
【path环境变量,是windows系统执行命令的时候要搜寻的路径】
【在cmd命令行执行指令的时候,系统首先会在当前目录下搜索是否有该指令、没有的话,会搜索path系统变量中的路径(从前往后顺序找)】
3.2.3、常见问题
- JDK安装到最后,会弹窗提示再安装一个独立的JRE【后期eclipse的使用,有时需要使用单独JRE,因此这里要装一下】
- 环境变量的配置:
使用 JAVA_HOME = jdk目录
path中配置 %JAVA_HOME%\bin
【后期Tomcat是去找JAVA_HOME的,因此要这么配】
四、第一个Java程序:HelloWorld
- 源代码
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
-
编译+运行
-
运行结果
【执行完编译命令 javac 以后,会生成字节码文件,字节码文件对应 HelloWorld.java 中的类(数量对应类的数量、文件名 *.class 对应类名)】
【执行解释运行命令 java,实际上是解释运行的 *.class 文件 —— 必须是包含 main() 方法的那个 .class 文件】 -
常见bug
1)、Java是严格区分大小写的:
① 编译的时候,是在 windows 层面下执行 javac 命令,因此 helloworld.java 写成小写也不会报错(因为windows不区分大小写);
② 运行的时候,是在 Java 层面下,去找 *.class 这个类,因此严格区分大小写(写成小写会找不到这个类)
注释(Comment):对代码进行解释说明(不参与编译)
- 单行注释:
① 对所写的程序进行解释说明,增强可读性(方便自己、方便别人);
② 帮助我们调试所写代码(程序有bug,注释掉某行后运行正常了,说明bug在这) - 多行注释:同上
【单行注释、多行注释,注释了的内容,不参与编译,(即字节码文件 *.class 中没有注释信息)】
【注意:多行注释不可以嵌套使用】 - 文档注释:(Java特有,可通过 javadoc 命令生成 html 版的注释文档)
【点击 index.html 可以进入文档首页】
/**
* 文档注释:
* @author Clannad191
* @version 1.0
* 这是我的第一个 Java 程序!
*/
public class HelloWorld{
/*
* 多行注释:
* 如下的 main() 方法是程序的入口
* 【main方法的格式是固定的】
*/
/**
* 文档注释:
* [main description]
* @param args [description]
* 如下的方法是 main(),作用:程序的入口
*/
public static void main(String[] args){
// 单行注释:如下语句表示输出到控制台
System.out.println("Hello, World!");
}
}
class Person{
}
class Animal{
}
注意:一个源文件中可以有多个类,但是只有一个类可以声明为public的
【而且这个类是有要求的:必须是和“源文件名”同名的那个类,(例如 HelloJava.java 文件中,只有 class HelloJava 类可以声明为 public 的)】
五、学习建议
新手项目
Project1(家庭收支记账软件)— 讲完第二章《流程控制》
Project2(客户信息管理软件)— 讲完第四章《面向对象(上)》
Project3(开发团队人员调度软件)— 讲完第七章《异常处理》
附加项目1(银行业务管理软件)— 讲完第七章《异常处理》【迭代开发、分8个阶段】
附加项目2(单机考试管理软件)— 讲完第十一章《I/O流》【可以跳过、直接在Web阶段,看看Web里如何使用I/O流,怎么进行网络中的传输,更加切合开发的实际场景】
学生管理系统 — 讲完《面向对象》
笔记
目的不是要把笔记做好,保留这个笔记,重要的是梳理的过程
不要整理的太详细,学习任务紧,不可取;
也不要一点不记,记录概要的、电子版的;