编程概述
编程:编写程序。
程序概述
例如:
在生活中的程序:一件事情进行的步骤、次序。
1.流程、手续...
2.例如:入职手续、工作流程、买火车票 、办银行卡....
3.主体:人在执行这些步骤和次序
计算机中的程序: 是一组计算机能识别和执行的指令,运行于电子计算机上,是一种用于满足人
们某种需求的信息化工具。
1.软件、应用、app...
2.例如:QQ、12306 、美团、京东....
3.主体:计算机在执行这些步骤和次序
计算机中的程序大多数都是基于或来源于生活中的程序的,它们的出现是为了让生活中
的程序变得更方便。
编程语言概述
-
机器语言:二进制(0、1) 0110010101。
-
汇编语言:ADD,编译器(翻译官,有人利用机器语言编写了一个程序)可以将其转换为对应的二进制。
-
高级语言:它依赖于一个更加强大的编译器,这样我们就可以编写一些我们更容易看懂的指令,然后通过这个编译器帮我们转换为对应的二进制。
(1)C语言 :比较难,很全面,性能优异。目前主要应用于:游戏引擎、人工智能模块或核心领域...
(2)Python语言: 比较简单,但是目前应用市场较小。目前主要应用于:爬虫、人工智能领域相关...
(3)C++语言: 相比于C语言没那么难。目前主要应用于:大型桌面程序开发...
(4)C#语言: 它和 Java 有 70 %以上的相像。目前主要应用于:小型桌面程序开发...
编程: 我们通过编程语言来给计算机下达指令,以完成在计算机中实现或超脱生活中程
序的目的。
Java概述
Java语言:不是太困难,也不是太简单,在各方面都有一定的市场地位。
诞生
1995 年,Java 正式诞生。
非正式在 1991 年左右,SUN公司的 James Gosling 博士领导开发的一个 Green Project 中诞生了 Java的前身:Oak
发展
1.1996年:JDK 1.0 出现(Java开发工具包,SUN公司提供的更方便你使用 Java 语言开发的工具包)
2.1998年:Java被分成了三个领域
(1)J2SE(Java SE):Java 2 Platform Standard Edition,标准/核心版本 ,面向桌面应用开发
(2)J2ME(Java ME):Java 2 Platform,Micro Edition,面向手机等移动终端开发
(3)J2EE(Java EE):Java 2 Platform Enterprise Edition,面向企业开发
例如:天猫、京东
Java SE 是必学的,它是 Java 语言的基础,基于它可以再延伸学习其他分支,例如:
Java EE、ME、Android等...
3. 2004年:Java SE 5,增加了很多在今天也非常好用的特性
4.2018年:Oracle近日宣布,他们将Java的发布频率改为每六个月一次
(1)长期支持版本:Java8、Java11、Java17.... 三年一个长期支持版,长期对相应版本进行维护
(2)短期支持版本:Java9、Java10、Java12、Java13、Java14....Java16....半年结束之后,不再更新维护
5.2009年:SUN 公司被 Oracle 公司(甲骨文)以74亿美元收购,SUN公司的所有产品、专利目前都归属于 Oracle
6.2019年1月
Java 8:
商业版本在2019年1月停止免费的更新,这之前的更新还是能够免费用,交钱可以继续获得后续的更新。
个人版本在2020年12月停止免费的更新,这之前的更新还是能够免费用,交钱可以继续获得后续的更新。
7. 现在是 2021-08-10,再过几个月, Java 17 发行。
特点(了解)
1、简单易学
Java 语言在设计形式上偏向于 C++,这样老手们可以很容易熟悉并掌握。同时,Java 可以看
作是一个 C++ 的 "纯净版",它去除了 C++ 里很多难以理解的概念,像多继承、指针等,还实现了
对内存的自动管理,这样新手们也可以更容易的进行学习。
例如:Java 语言使用接口替代了多继承;Java 语言可以自动进行内存分配和垃圾回收(GC)。
2、面向对象
Java 是一个面向对象的编程语言,对面向对象三大特性:封装、继承、多态都有很好的应用
及支持。
3、跨平台,可移植(平台无关性)
与 C、C++ 语言不同,Java 语言的源代码不是直接编译成指定平台的机器码,而是编译成字
节码。同样的,字节码也不是直接运行在指定平台(操作系统)上的,而是由 Java 虚拟机来解释
执行的。
所以,只要在安装有对应平台版本的 Java 虚拟机的电脑上,就可以运行 Java 程序,这样就
实现了 “一次编译,到处运行” 的跨平台了。
4、健壮性
Java 是一个强类型语言,在编译时就会检查潜在类型不匹配的问题。同时,Java 的自动内存
管理及异常处理机制等,都是保障 Java 程序可靠、健壮的关键。
5、安全性
Java 语言摒弃了 C++ 的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,
这样可以避免病毒通过指针侵入系统。Java 对程序还提供了安全管理器,防止程序的非法访问。
6、分布式
Java 语言是分布式的,它对网络编程提供了很好的支持,使开发网络应用程序变得更加方
便。另外,Java 的 RIM 机制也是开发分布式应用的重要手段。
RMI(Remote Method Invocation,远程方法调用),通过这个方法进行远程对象互相调用实
现通信。比如说主机有一个对象,就可以传给所有的客户机使用,建立一种分布式的 Java 应用程
序。
7、多线程
Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为
synchronized)。
8、高性能
Java 的高性能是相比于那些解释型的高级脚本语言的,毕竟 Java 不是完全编译程序,需要用
到 Java 虚拟机,所以性能上比 C、C++ 语言要差一些。不过,随着 JIT(Just-In-Time)编译器技
术的发展,性能越来越接近于 C++ 了。
Java开发环境搭建
JDK和JRE
JDK: Java SE Development Kit,即 Java 开发工具包,是 Sun 公司提供的一套用于开发 Java 应用程序的开发包,它提供了编译、运行 Java 程序所需的各种工具和资源,包括 Java 编译器、Java 运行时环境(JRE
),以及常用的 Java类库 等。
-
开发 Java 程序,需要安装
JRE: Java SE Runtime Environment ,Java 运行时环境。它是运行 Java 程序的必须条件。如果只是运行Java 程序,可以只安装 JRE
,无需安装 JDK
。
-
运行 Java 程序,需要安装
JDK的选择
Open JDK:开源
-
例如:亚马逊的 Corretto、阿里巴巴的 Dragonwell、华为的毕昇、腾讯的 Kona 等....
Oracle JDK:商业
目前我们选择使用 Oracle JDK,后续公司使用何种产品由公司决定。
目前还是采用 Java 8。
口号:你发任你发,我用 Java 8。
口号是一方面,根据市场调研情况,公司内使用还是以 Java 8 为主,Java 11 正在逐年增加占有率,预计在 Java 17 这个长期支持版本发布后,Java 11 占有率更加可观。
Oracle JDK 8
JDK下载(重点)
在Oracle官网进行下载,可参考下方链接
https://juejin.cn/post/6911298633153544205
JDK安装(重点)
参考下方链接
https://juejin.cn/post/6911298633153544205
在安装目录下:
-
jre:JDK内一个专用的 JRE
-
src.zip:Java 源码
-
bin: 放了一些可执行程序
-
javac.exe:用于编译 Java 代码
-
java.exe:用于运行 Java 程序
-
...
-
检测是否安装成功:
-
运行一下 java.exe 看看是否能够运行成功
java -version
利用 java.exe 查看 Java 版本信息