突然发现自己Java基础的底子不到位,复习!
所记知识会发布在****与博客网站jirath.cn
《Java基础复习》—常识与入门
一、Java语言的知识体系图
分为三部分
- 编程语言核心结构:变量、基本语法、分支、循环、数组
- Java面向对象的核心逻辑:OOP(面向对象编程)、封装、继承、多态、接口。。。。。。
- JavaSE高级应用程序:异常、集合、线程、IO、反射、网络
二、常识与概述
计算机能直接识别的是机器指令,机器指令的封装是汇编语言,汇编语言再向上是高级语言如C,C++,Java
因为机器的差异性,汇编语言要想编译为适应不同的机器的指令,就需要中间件——操作系统。
应用程序=算法+数据结构
常用的DOS命令
3.Java语言版本迭代概述
1991年 Green项目,开发语言最初命名为Oak (橡树)
1994年,开发组意识到Oak 非常适合于互联网
1996年,发布JDK 1.0,约8.3万个网页应用Java技术来制作
1997年,发布JDK 1.1,JavaOne会议召开,创当时全球同类会议规模之最
1998年,发布JDK 1.2,同年发布企业平台J2EE
1999年,Java分成J2SE、J2EE和J2ME,JSP/Servlet技术诞生
2004年,发布里程碑式版本:JDK 1.5,为突出此版本的重要性,更名为JDK 5.0
2005年,J2SE -> JavaSE,J2EE -> JavaEE,J2ME -> JavaME
2009年,Oracle公司收购SUN,交易价格74亿美元
2011年,发布JDK 7.0
2014年,发布JDK 8.0,是继JDK 5.0以来变化最大的版本
2017年,发布JDK 9.0,最大限度实现模块化
2018年3月,发布JDK 10.0,版本号也称为18.3
2018年9月,发布JDK 11.0,版本号也称为18.9
4.Java语言应用的领域:
Java Web开发:后台开发
大数据开发:
Android应用程序开发:客户端开发
5.Java语言的特点
面向对象性:
两个要素:类、对象
三个特征:封装、继承、多态
健壮性:① 去除了C语言中的指针 ②自动的垃圾回收机制 -->仍然会出现内存溢出、内存泄漏
跨平台型:write once,run anywhere:一次编译,到处运行
功劳归功于:JVM
类似计算机的架构,java不是运直接运行在机器的,而是在JVM(Java虚拟机)中运行,解决了跨平台的难题
二、开发环境的搭建(重点)
1.1 JDK、JRE、JVM的关系
1.2 JDK的下载、安装
下载:官网,github
安装:安装包(不自动配置环境变量):JDK 、JRE
注意问题:安装软件的路径中不能包含中文、空格。
这也是本人在日常中的习惯,涉及到专业性的软件,尽量使用英文命名,所以有道词典是个好东西
1.3 path环境变量的配置
1.3.1 为什么配置path环境变量?
path环境变量:windows操作系统执行命令时所要搜寻的路径
为什么要配置path:希望java的开发工具(javac.exe,java.exe)在任何的文件路径下都可以执行成功。
1.3.2 如何配置?
安装完成后,右键单击我的电脑,进入属性->系统->高级系统设置->环境变量
新建环境变量JAVA_HOME,变量值是jdk的地址
新建环境变量CLASSPATH,值为相对地址\lib
或是编辑文本值
在PATH变量下添加项目
三、第一个Java程序
1.运行Hello,World
1.1编写文件
新建一个 .java文件(.java文件实际上是Java的源代码文件,是程序员编写的,未经过编译的文件)
class Hello{
public static void main(String[] args){
System.out.println("Hello,World!");
}
}
1.2编译文件
java的程序需要先编译为字节码文件,再交给虚拟机运行
学过计算机组成或者你百度过的话,我们的代码最后都变成了机器语言,机器可以直接运行机器语言
字节码文件正如机器语言,将字节码文件交给Java虚拟机,由JVM来运行字节码文件(类加载机制)
打开我们的命令行,然后切换到刚刚编写源代码的文件夹
在此目录中,使用命令:javac 源代码文件的名字
结果:目录中出现了同名.class文件
1.3运行Java程序
使用命令 java 文件的名字(不加扩展名)
2.总结第一个程序
-
java程序编写-编译-运行的过程
编写:我们将编写的java代码保存在以".java"结尾的源文件中
编译:使用javac.exe命令编译我们的java源文件。格式:javac 源文件名.java
运行:使用java.exe命令解释运行我们的字节码文件。 格式:java 类名 - **在一个java源文件中可以声明多个class。**但是,只能最多有一个类声明为public的。
而且要求声明为public的类的类名必须与源文件名相同。 - 程序的入口是main()方法。格式是固定的。
-
输出语句:
System.out.println():先输出数据,然后换行
System.out.print():只输出数据 - 每一行执行语句都以";"结束。
- 编译的过程:编译以后,会生成一个或多个字节码文件。字节码文件的文件名与java源文件中的类名相同。