今日分享开始啦,请大家多多指教~
今天给大家分享一下 JAVA 内容, Java基础是学习JavaEE、大数据、Android开发的基石!学习Java从基础开始,细节决定成败!
1.0 Java的简单介绍
举例: Spring –Rest(Spring MVC)核心代码:
举例:Spark Spark Streaming
java 基础知识图解
Java 基础 课程概述
Java 基础课程体系
1.1 软件开发 介绍
- 软件开发
软件,即一系列按照特定顺序组织的计算机数据和指令的集合。有系统软件和应用软件之分。
- 人机交互方式
图形化界面(Graphical User Interface GUI)这种方式简单直观,使用者易于接受,容易上手操作。
命令行方式(Command Line Interface CLI)需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。
常用的 DOS命令
- dir 列出当前目录下的文件以及文件夹
- md 创建目录
- rd 删除目录
- cd 进入指定目录
- cd .. : 退回到上一级目录
- cd 退回到根目录
- del 删除文件
- exit : 退出 dos 命令行
- 补充: echo javase>1.doc
常用快捷键
- ←←→→:移动光标
- ↑↑↓↓:调阅历史操作命令
- Delete和Backspace:删除字符
1.2 计算机编程语言 介绍
1. 什么是计算机语言
- **语言:**是人与人之间用于沟通的一种方式。例如:中国人与中国人用普通话沟通。而 中国人要和英国人交流,就要学习英语。
- **计算机语言:**人与计算机交流的方式。
如果人要与计算机交流,那么就要学习计算机语言。
计算机语言有很多种。如: C ,C++ C++,Java ,PHP Kotlin python Scala 等。
- **第一代语言:机器语言。**指令以二进制代码形式存在。
- **第二代语言:汇编语言。**使用 助记符 表示一条机器指令。
第三代语言:高级语言
- C、 Pascal 、 Fortran 面向过程的语言
- C++ 面向过程 面向对象
- Java跨平台的纯面向对象的语言
- .NET跨语言的平台
- Python、 Scala …
2.为什么选Java
理由一:如Google的Android系统结构
- java开发效率更高(面向对象)
- python开发周期短,但运行时间长,两者取其利处
- 社区大,人员多
理由二:从java语言的市场需求来看
1.3 Java语言概述
1.基本概念
- 是SUN( S tanford U niversity N etwork ,斯坦福大学网络公司 )1995年推出的一门高级 编程语言 。
- 是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序可以在 Web浏览器 中运行。这些Java程序被称为Java小程序( applet )。applet 使用现代的图形用户界面与 Web 用户进行交互。 applet 内嵌在 HTML 代码中。
- 随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
- 后台开发:Java、PHP、Python、Go、Node.js
2.Java技术体系平台
3.Java在各领域的应用
从Java的应用领域来分,Java语言的应用方向主要表现在以下几个方面:
企业级应用:主要指复杂的大企业的软件系统、各种类型的网站。 Java 的安全机制以及它的跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、 电信 、交通、电子商务等。
Android 平台应用Android 应用程序使用Java 语言编写。 Android 开发水平的高低很大程度上取决于 Java 语言核心能力是否扎实。
大数据平台开发 :各类框架有 Hadoop spark storm flink 等,就这类技术生态圈来讲,还有各种中间件如 flume kafka sqoop 等等 ,这些框架以及工具大多数是用 Java 编写而成,但提供诸如 Java scala Python R 等各种语言 API 供编程。
移动领域应用:主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括手机、 PDA、机顶盒、汽车 通信设备 等。
4.主要特性
- Java语言是 易学 的 。 Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员 很容易学习和使用 Java 。
- Java语言是强制面向对象的。 Java 语言提供类、接口和继承等原语,为了简单起见, 只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制 (关键字为implements )。
- Java语言是分布式的 。 Java 语言支持 Internet 应用的开发,在基本的 Java 应用编 程接口中有一个网络应用编程接口( java net ),它提供了用于网络应用编程的类 库,包括 URL 、 URLConnection 、 Socket 、 ServerSocket 等。 Java 的 RMI (远程方法激活)机制也是开发分布式应用的重要手段。
- Java语言是健壮的。 Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序 健壮性的重要保证。对指针的丢弃是 Java 的明智选择。
- Java语言是安全的。 Java 通常被用在网络环境中,为此, Java 提供了一个安全机 制以防恶意代码的攻击。如:安全防范机制(类 ClassLoader ),如分配不同的名字空间以防替代本地的同名类、字节代码检查。
- Java语言是体系结构中立的。 Java 程序(后缀为 java 的文件)在 Java 平台上被 编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台 的任何系统中运行。
- Java语言是解释型的。如前所述, Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统的 解释器 中运行。
- Java是性能略高的。与那些解释型的高级 脚本语言 相比, Java 的性能还是较优的。
- Java语言是原生支持多线程的。 在 Java 语言中, 线程 是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。
1.4 运行机制及运行过程
1.Java语言的特点
特点一:面向对象
- 两个基本概念:类、对象
- 三大特性:封装、继承、 多态
特点二:健壮性
- 吸收了 C/C++ 语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与 释放等),提供了一个相对安全的 内存管理 和访问机制
特点三:跨平台性
- 跨平台性:通过 Java 语言编写的应用程序在不同的系统平台上都可以运行。 Write once , Run Anywhere
- 原理:只要在需要运行 java 应用程序的操作系统上,先安装一个 Java 虚拟机 (JVM Java Virtual Machine) 即可。由 JVM 来负责 Java 程序在该系统中的运行。
因为有了 JVM ,同一个 Java 程序在三个不同的操作系统中都可以执行。这样就实现了 Java 程序的跨平台性。
2.Java 两种核心机制
- Java 虚拟机 (Java Virtal Machine)
- 垃圾收集机制 (Garbage Collection)
核心机制垃圾回收
- 不再使用的内存空间应回收垃圾回收。
- 在 C/C++ 等语言中,由程序员负责回收无用内存。
- Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空 间的分配情况。并在 JVM 空闲时,检查并释放那些可被释放的存储空间。
- 垃圾回收在 Java 程序运行过程中自动进行,程序员无法精确控制和干预。
- Java 程序还会出现 内存泄漏 和内存溢出问题吗?Yes!
1.5 Java的环境搭建
下载 jdk
安装 JDK
配置环境变量
path:windows 系统执行命令时要搜寻的路径。
验证是否成功: javac java
选择合适的文本编辑器或 IDE 开发
1.明确什么是 JDK, JRE
- 简单而言,使用 JDK 的开发工具完成的 java 程序,交给 JRE 去运行。
2.JDK 、 JRE 、 JVM关系(重点)
安装 JDK
- 安装,下一步即可。
- 建议:安装路径不要有中文或者空格等特殊符号。
- 如果操作系统是 64 位的,软件尽量选择支持 64 位的(除非软件本身不区分 。
- 当提示安装 JRE 时,正常在 JDK 安装时已经装过了,但是为了后续使用 Eclipse 等开发 工具不报错,建议也根据提示安装 JRE 。
3.配置环境变量 path
- 在 dos 命令行中敲入 javac ,出现错误提示
- **错误原因:**当前执行的程序在当前目录下如果不存在, windows 系统会在系统中已有的一个名为 pat h 的环境变量指定的目录中查找。如果仍未找到,会出现以上的错误提示。所以进入到 jdk 安装路径 bin 目录下,执行 javac ,会看到 javac 参数提示信息。为了能在所有文件执行成功,需要配置环节变量。
- 额外:查看JDK版本
每次执行 java 的工具都要进入到 bin 目录下,是非常麻烦的。可不可以在任何目录下都可以执行 java 的工具呢?
根据 windows 系统在查找可执行程序的原理,可以将 java 工具所在路径定义到 path 环境变量中,让系统帮我们去找运行执行的程序。
配置方法:
- 我的电脑属性高级系统设置环境变量
- 编辑 path 环境变量,在变量值开始处加上 java 工具所在目录,后面用 ““; 和其他值分隔 开即可。
- 打开 DOS 命令行,任意目录下敲入 javac 。如果出现 javac 的参数信息,配置成功。
4.配置完 path 环境变量以后的验证
5.配置问题汇总解决
- 允许配置多个JDK版本,但是用的时候就一个
- 如果java或javac不能同时完成,则把JAVA_HOME放在最前面
- 如果用户变量不好使就直接放在环境变量
1.6 开发体验 HelloWorld
步骤:
\1.将 Java 代码编写到扩展名为 .java 的文件中。
\2.通过 javac 命令对该 java 文件进行 编译 。
\3.通过 java 命令对生成的 class 文件 进行 运行 。
步骤一:编写
- 选择最简单的编辑器:记事本。
- 敲入代码 class Test{ } 将文件保存成 Test.java ,这个 文件是存放 java 代码的文件,称为 源文件 。
步骤二:编译
- 有了 java 源文件,通过编译器将其编译成 JVM 可以识别的字节码文件。
- 在该源文件目录下,通过 javac 编译工具对 Test.java 文件进行编译。
- 如果程序没有错误,没有任何提示,但在当前目录下会出现一个 Test.class 文 件,该文件称为 字节码 文件,也是可以执行的 java 的程序。
步骤三:运行
- 有了可执行的 java 程序 Test.class 字节码文件
- 通过运行工具 java.exe 对字节码文件进行执行。
- 出现提示:缺少一个名称为 main 的方法。
因为一个程序的执行需要一个起始点或者入口,所以在 Test 类中的加入 public static void main(String[] args
对修改后的 Test.java 源文件需要重新编译,生成新的 class 文件后,再进行执行。
发现没有编译失败,但也没有任何效果,因为并没有告诉 JVM 要帮我们做什么事情,也就是 没有可以具体执行的语句。
想要和 JVM 来个互动,只要在 main 方法中加入一句System.out.println (“Hello因为程序进行改动,所以再重新编译,运行即可。
1.7 常见问题及解决方法
- 源文件名不存在或者写错
- 当前路径错误
- 后缀名隐藏问题
- 类文件名写错,尤其文件名与类名不一致时,要小心
- 类文件不在当前路径下,或者不在 classpath 指定路径下
- 声明为 public 的类应与文件名一致,否知编译失败
- 编译失败,注意错误出现的行数,再到源代码中指定位置改错
1.8 注释
1.注释的必要性
用于注解说明解释程序的文字就是注释。
Java 中的注释类型:
- 单行注释, 格式: //注释文字
- 多 行注释, 格式: :/* 注释文字 */
文档注释提高了代码的阅读性;调试程序的重要方法。
注释是一个程序员必须要具有的良好编程习惯。
将自己的思想通过注释先整理出来,再用代码去体现
注:
- 对于单行和多行注释,被注释的文字,不会被 JVM java 虚拟机)解释执行。
- 多行注释里面不允许有多行注释嵌套。
2.文档注释(Java 特有)
- 格式:
@ author 指定 java 程序的作者
@ version 指定源文件的版本
- 注释内容可以被 JDK 提供的工具 javadoc 所解析,生成一套以 网页文件 形式体现的该程序的说明文档。
- 操作方式
小结第一个程序
- Java 源文件以“ java ”为扩展名。源文件的基本组成部分是类 class 如本例中的Hello World 类。
- Java 应用程序的执行入口是 main() 方法。它有固定的书写格式public static void main(String[] args )
- Java语言严格区分大小写。但window没有区分
- Java方法由一条条语句构成,每个语句以“;”结束。
- 大括号 都是成对出现的,缺一不可。
- 一个源文件中最多只能有一个 public 类。其它类的个数不限,如果源文件包含一个public 类,则文件名必须按该类名命名。
对第一个java程序进行总结
1.java程序编写-编译-运行的过程
编写:我们将编写的java代码保存在以“.java”结尾的源文件中I
编译:使用javac.exe命令编译我们的java源文件。格式:javac
运行:使用java。exe命令解释运行我们的字节码文件。格式:java类名
2.在一个java源文件中可以声明多个class。
但是,只能最多有一个类声明为public的。
而且要求声明为public的类的类名必须与源文件名相同。
3.程序的入口是main()方法。格式是固定的。
4.输出语句:
System.out.print1n():先输出数据,然后换行
System.out.print():只输出数据
5.Java方法由一条条语句构成,每个语句以“;”结束。
6.编译的过程:编译以后,会生成一个或多个字节码文件。字节码文件的文件名与java源文件的类名相同
1.9 API文档
API (Application Programming Interface, 应用程序编程接口)是Java提供的基本编程接口。
Java语言提供了大量的基础类,因此Oracle也为这些基础类提供了相应的 API 文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。
1.下载 API
2.学Java怎么看API(详细图解)+查看Java源码(IDEA)
1.10 良好的编程风格
1.正确的注释和注释风格
使用文档注释来注释整个类或整个方法。
如果注释方法中的某一个步骤,使用单行或多行注释。
2.正确的缩进和空白
使用一次 tab 操作,实现缩进
运算符两边习惯性各加一个空格。比如: 2 + 4 * 5 。
3.块的风格
Java API 源代码选择了行尾风格
1.11 常用的 Java 开发工具
文本编辑工具:
- 记事本
- UltraEdit
- EditPlus
- TextPad
- NotePad
1.JDK,JRE,JVM三者之间的关系,以及JDK、JRE包含的主要结构有哪些
JDK = JRE + Java的开发工具(javac.exe,java.exe,javadoc.exe)
JRD = JVM + Java核心类库
2.为什么要配置path****环境变量?如何配置?
希望在任何路径下都能正常运行
建立JAVA_HOME变量,JAVA_HOME=bin的上层目录
path=%JAVA_HOME%/bin
3.常用的几个命令行操作都有哪些?(至少4个)
cd 前往目录
cd… 返回上级目录
cd/ 返回根目录
dir 显示目录
md 创建目录 makedirectory
rd 删除目录 rmdir
del 删除文件
exit 退出
4.创建如下的类,使得运行的时候可以输出:
创建java文件:ChairMan.java
5.编译和运行上述代码的指令
编译:javac ChairMan.java
运行:java ChairMan
小结
学习编程最容易犯的错就是语法错误。 Java 要求你必须按照语法规则编写代码。如果你的程序违反了语法规则,例如:忘记了 分号 、大括号、 引号 ,或者拼错了单词, java 编译器都会报语法错误。尝试着去看懂编译器会报告的错误信息。
今日份分享已结束,请大家多多包涵和指点!