本章博客会写到 Java语⾔简介、发展概述、语⾔优势。 初识Java程序⼊⼝之main⽅法。 注释、标识符、关键字

目录

第一章、Java语⾔概述

1.1 Java是什么

1.2 什么是JavaSE?

  1.3 Java语⾔重要性 

第二章、java的11大特性

1. 简单性

2. ⾯向对象

  3. 分布式(微服务)  

4. 健壮性

 5. 安全性

6. 体系结构中⽴

7. 可移植性

8. 解释性

9. ⾼性能

10. 多线程   

  11. 动态性

第三章、 初识Java的main⽅法

3.1main⽅法⽰例

第四章、 注释与标识符

注释

标识符

关键字



第一章、Java语⾔概述

1.1 Java是什么

 Java是⼀种优秀的程序设计语⾔,它具有令⼈赏⼼悦⽬的语法和易于理解的语义。不仅如此,Java还是⼀个有⼀系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的⽤ 于软件开发和跨平台部署的⽀持环境,并⼴泛应⽤于嵌⼊式系统、移动终端、企业服务器、⼤型机等 各种场合。

1.2 什么是JavaSE?

 JavaSE(Java Standard Edition):

1. 核⼼:Java的基础平台  2. ⽤途: 开发桌⾯应⽤和简单服务器程序  3. 主要内容:核⼼语⾔特性、基本API(如I/O、⽹络、GUI)  4. ⽬标⽤⼾: ⼀般Java开发者 JavaEE(JavaEnterpriseEdition):

1. 核⼼: JavaSE的扩展版本  2. ⽤途: 开发⼤型、分布式企业应⽤和Web应⽤  3. 主要内容: 企业级API(如Servlet、JSP等)  4. ⽬标⽤⼾: 企业级应⽤开发者 主要区别:  • 范围: JavaEE⽐JavaSE更⼴泛,包含更多特性  • 复杂度: JavaEE更复杂,学习曲线更陡  • 应⽤规模: JavaEE适合⼤型应⽤,JavaSE适合⼩到中型应⽤ • 运⾏环境: JavaEE需要特定的应⽤服务器,JavaSE可在标准JVM上运⾏  

注意:我们熟知的Spring  Springboot等等实际上是JavaEE的补充和扩展!

  1.3 Java语⾔重要性 

 1. 语⾔⼴泛使⽤程度 2. ⼯作领域 3. Java语⾔⽬前在IT领域的应⽤是⾮常⼴泛的,掌握Java语⾔可以从事不少IT⾏业的相关开发岗位, 具体包括: ◦ 企业级系统 ◦ ⽐如⼤型复杂的企业级软件系统,Java的安全机制以及跨平台性的优势,其在分布式系统领域 开发中有⼴泛应⽤,涉及到⾦融、电信、交通、电⼦商务、ERP系统等。  ◦ Web开发领域  ◦ Java语⾔在设计初期,赶上了互联⽹发展的⻛⼝,当时就瞄准了互联⽹开发,凭借稳定的性能 表现和较好的扩展性,Java语⾔⼀直是⼤型互联⽹平台的重要解决⽅案。  

android平台应⽤  ◦ Android是⼀种智能⼿机操作系统,Java是⼀⻔⾮常流⾏的编程语⾔。Android上的应⽤程序就 是⼤多是⽤Java编写的,Android的SDK⼤部分就是直接将Java SDK翻译过来的,所以具有 Java基础,也可以快速上⼿Android开发。  ◦ ⼤数据平台开发 ◦ ⼤数据相关的各类框架,⽐如:Hadoop、spark、storm、flink等,以及各种中间件flume、 kafka、sqoop等,这些框架以及⼯具等⼤多数是⽤Java语⾔开发的,随着⼤数据技术的落地应 ⽤,Java在⼤数据领域的应⽤前景也是⽐较⼴阔的。 

 4. 除上述开发领域外,Java在游戏领域、⼈⼯智能领域、科学计算领域、嵌⼊式领域也有⼀定的应 ⽤。因此学好Java,将来就业的选择也会⾮常⼴泛。  1.4 Java语⾔发展简史 Java 语⾔源于 1991 年 4 ⽉,Sun 公司  James Gosling博⼠ 领导的绿⾊计划(Green Project)开始启 动,此计划最初的⽬标是开发⼀种能够在各种消费性电⼦产品(如机顶盒、冰箱、收⾳机等)上运⾏的程 序架构。这个就是Java的前⾝: Oak (得名于Java创始⼈James Gosling办公室外的⼀棵橡树),但由 于这些智能化家电的市场需求没有预期的⾼,Sun公司放弃了该项计划。随着1995年代互联⽹的发 展,Sun公司看⻅Oak在互联⽹上应⽤的前景,于是改造了Oak,于1995年5⽉以Java的名称正式发 布,并提出“Write once, Run anywhere" 的⼝号。

第二章、java的11大特性

1. 简单性

 Java语法是C++语法的⼀个“纯净版本”,相当于对C++做了⼀个减法。这⾥没有头⽂件、指针运算 (甚⾄指针语法)、结构、联合、操作符重载、虚基类等等。不仅如此,Java开发环境远远超出⼤多 数其他编程语⾔的开发环境。

2. ⾯向对象

在Java的世界⾥,⼀切皆对象。⽐如:⼈、狗、⼿机、电脑等都是对象。所谓⾯相对象,就是依靠对 象之间的交互来完成事情,⽐如:⼈⽤⼿机⽹上购物,狗吃⻣头...Java的⾯向对象特性与C++旗⿎相当,与C++的主要不同点在于多重继承。在Java中,取⽽代之的是更 简单的接⼝概念。⽽且与C++相⽐,Java提供了更丰富的运⾏时⾃省功能。

  3. 分布式(微服务)  

Java有丰富的例程库,⽤于处理像HTTP和FTP之类的TCP/IP协议。Java应⽤程序能够通过URL打开和 访问⽹络上的对象,其便捷程度就好像访问本地⽂件⼀样。

4. 健壮性

Java与C++最⼤的不同在于Java采⽤的指针模型可以消除重写内存和损坏数据的可能性(对于曾经花 费⼏个⼩时来检查由于指针bug⽽引起内存冲突的⼈来说,⼀定很喜欢Java的这⼀特性)。不仅如 此,Java编译器能够检测许多在其他语⾔中仅在运⾏时才能够检测出来的问题。 

 5. 安全性

Java适⽤于⽹络/分布式环境。为了达到这个⽬标,在安全性⽅⾯投⼊了⼤量的精⼒。使⽤Java可以构 建防病毒、防篡改的系统 从⼀开始,Java就设计成能够防范常⻅的各种攻击:  • 运⾏时堆栈溢出。蠕⾍和病毒常⽤的攻击⼿段。 • 破坏⾃⼰进程空间之外的内存。 • 未经授权读写⽂件、

6. 体系结构中⽴

编译器⽣成⼀个体系结构中⽴的⽬标⽂件格式,按照该中规范⽣成的⽂件,只要有Java运⾏时系统, 这些编译后的代码就可以在许多处理器上运⾏。Java编译器通过⽣成与特定计算机体系结构⽆关的字 节码指令来实现这⼀特性。精⼼设计的字节码不仅可以很容易的在任何机器上解释执⾏,⽽且还可以 动态地翻译成本地机器代码。这就是为什么可以:“Wrice once,Run anywhere”。  ⽽且其他语⾔编写的程序,在编译后如果能够严格按照字节码⽂件的规范⽣成.class⽂件,也可以在 JVM上运⾏。

7. 可移植性

与C/C++不同,Java规范中没有“依赖具体实现的地⽅”。基本数据类型的⼤⼩以及有关运算都做了 明确的说明。例如,Java中的int永远是32位的整数,⽽在C/C++中,int可能是16位整数、32位整数, 也可能是编译器提供商指定的其他⼤⼩。在Java中,数据类型具有固定的⼤⼩,这消除了代码移植时 令⼈头疼的主要问题。

8. 解释性

Java为了实现与平台⽆关,⾃⼰维护了⼀套基于栈架构的指令集,Java源代码经过编译之后,字节码 ⽂件中的指令就是按照⾃⼰的指令集来组织的,但是在具体硬件环境中运⾏时,系统并不能识别,因 为Java程序在执⾏时,Java解释器会逐条的将字节码⽂件中的指令翻译成CPU的指令集。  

9. ⾼性能

边解释边执⾏,垃圾会说等导致了Java代码运⾏效率偏低,近年来JVM也在不断的优化,⽐如:JIT(即 时编译器),热点代码探测,让Java程序的执⾏效率⼤幅提⾼,在有些场合不亚于C/C++。  

10. 多线程   

Java在当时很超前。它是第⼀个⽀持并发程序设计的主流语⾔。多线程可以带来更好的交互响应和实 时⾏为。并发程序设计绝⾮易事,但是Java在这⽅⾯表现出⾊,可以很好的管理这个⼯作。

  11. 动态性

  Java与C/C++相⽐更加具有动态性。它能够适应不断发展的环境。库中可以⾃由的添加新⽅法和实例 变量,⽽对客⼾端没有任何影响。在Java中找出运⾏时类型信息⼗分简单(反射的特性,后续会学 到) 因此:Java不仅仅是⼀⻔编程语⾔,也是⼀个由⼀系列计算机软件和规范组成的技术体系。

第三章、 初识Java的main⽅法

3.1main⽅法⽰例

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("HelloWorld");
    }
}

如上展⽰的就是最简单的⼀个Java程序,可能同学们看到后⼀头雾⽔,可以说,Java的main⽅法应该 是当前主流编程语⾔中最“⻓”的。 通过上述代码,我们可以看到⼀个完整的Java程序的结构,

Java程序的结构由如下三个部分组成:1.源⽂件(扩展名为*.java):源⽂件带有类的定义。类⽤来表⽰程序的⼀个组件,⼩程序或许只会有 ⼀个类。类的内容必须包含在花括号⾥⾯。 2.类:类中带有⼀个或多个⽅法。⽅法必须在类的内部声明。 3.⽅法:在⽅法的花括号中编写⽅法应该执⾏的语句。

 总结⼀下:类存在于源⽂件⾥⾯;⽅法存在于类中;语句存在于⽅法中。 注意:在⼀个源⽂件中只能有⼀个public修饰的类,⽽且源⽂件名字必须与public修饰的类名字相 同。 好了,代码编写完了,如何让它“运⾏”起来呢?

2.2运⾏Java程序

 Java是⼀⻔半编译型、半解释型语⾔。先通过javac编译程序把源⽂件进⾏编译,编译后⽣成的.class ⽂件是由字节码组成的平台⽆关、⾯向JVM的⽂件。最后启动java虚拟机来运⾏.class⽂件,此时JVM 会将字节码转换成平台能够理解的形式来运⾏。

注意:在运⾏Java程序前,必须先安装好JDK(Java Development Kit即Java开发⼯具包),JDK⾥⾯ 就包含了javac和java⼯具,Java程序最终是在JVM(Java虚拟机)中运⾏的。

【⾯试题】JDK、JRE、JVM之间的关系?

JDK(Java Development Kit):Java开发⼯具包,提供给Java程序员使⽤,包含了JRE,同时还包 含了编译器javac与⾃带的调试⼯具Jconsole、jstack等。

 JRE(JavaRuntimeEnvironment):Java运⾏时环境,包含了JVM,Java基础类库。是使⽤Java 语⾔编写程序运⾏的所需环境。

• JVM:Java虚拟机,运⾏Java代码

第四章、 注释与标识符

注释

是为了让代码更容易被读懂⽽附加的描述信息. 不参与编译运⾏, 但是却⾮常重要.  时刻牢记! 代码写出来是为了给⼈看的, 更是为了给三个⽉后的你⾃⼰看的. 

  Java中的注释主要分为以下三种 

 • 单⾏注释:// 注释内容(⽤的最多)

• 多⾏注释:/* 注释内容*/(不推荐)

• ⽂档注释: /** ⽂档注释 */(常⻅于⽅法和类之上描述⽅法和类的作⽤),可以被javadoc⼯具解 析,⽣成⼀套以⽹⻚⽂件形式体现的程序说明⽂档 注意: 1. 多⾏注释不能嵌套使⽤2. 不论是单⾏还是多⾏注释,都不参与编译,即编译之后⽣成的.class⽂件中不包含注释信息。

标识符

 在上述程序中,Test称为类名,main称为⽅法名,也可以将其称为标识符,即:在程序中由⽤⼾给类 名、⽅法名或者变量所取的名字。

【硬性规则】 • 标识符中可以包含:字⺟、数字以及 下划线  $ 符号等等。  • 注意:标识符不能以数字开头,也不能是关键字,且严格区分⼤⼩写。 【软性建议】 • 类名:每个单词的⾸字⺟⼤写(⼤驼峰)  • ⽅法名:⾸字⺟⼩写,后⾯每个单词的⾸字⺟⼤写(⼩驼峰)  • 变量名:与⽅法名规则相同 ⼀个⼤型的⼯程,是由多名⼯程师协同开发的,如果每个⼈都按照⾃⼰的⽅式随意取名,⽐如: person、PERSON、Person、_person,将会使程序⾮常混乱。如果⼤家在取名时能够遵守⼀定的约 束(即规范),那多⼈写出的代码仿佛⼀个⼈写的。

关键字

 通过观察上述程序可以发现,public、class以及static等颜⾊会发⽣变化,将这些具有特殊含义的标识 符称为关键字。即:关键字是由Java语⾔提前定义好的,有特殊含义的标识符,或者保留字。 注意:⽤⼾不能使⽤关键字定义标识符。 在Java中关键字有很多,这⾥给⼤家列出来⼀部分,先了解下后序在逐⼀详细解释。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐