目录
一、Java语言概述
1.1简单介绍Java语言
Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。
1.2Java语言重要性
1.语言广泛使用程度
编辑
TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员、 课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如 Google、MSN、Yahoo!、Wikipedia、YouTube 以及 Baidu 等)进行计算。
注意:上述排名不能说明那个语言好,那个语言不好,每门编程语言都有适应自己的应用场景
2.工作领域
企业级系统:
比如大型复杂的企业级软件系统,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在大数据领域的应用前景也是比较广阔的。
除上述开发领域外,Java在游戏领域、人工智能领域、科学计算领域、嵌入式领域也有一定的应用。因此学好Java,将来就业的选择也会非常广泛
1.3Java语言发展简史
1.首先认识一下我们的祖师爷:詹姆斯.高斯林
编辑
Java 语言源于 1991 年 4 月,Sun 公司 James Gosling博士领导的绿色计划(Green Project) 开始启动,此计划最 初的目标是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。这个就是Java的前身: Oak (Gosling注意到自己办公室外一棵茂密的橡树Oak,这是一种在硅谷很常见的树。所以他将这个新语言命名为Oak。),但由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1995年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,(收购了)于是改造了Oak,于1995年5月以Java的名称正式发布,并提出“Write once, Run anywhere"的口号。 【在命名征集会上,大家提出了很多名字。最后按大家的评选次序,将十几个名字排列成表,上报给商标律师。排在第一位的是Silk(丝绸)。尽管大家都喜欢这个名字,但遭到James Gosling的坚决反对。排在第二和第三的都没有通过律师这一关。只有排在第四位的名字、得到了所有人的认可和律师的通过,这个名字就是Java】
编辑
1.4Java语言特性
课本教材中有介绍,真正的语言特性只有在不断学习中才会慢慢理解,这里不进行介绍。
二、初识Java的main方法
2.1main方法示例
public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello,world"); } } //注意:在一个源文件中只能有一个public修饰的类,而且源文件名字必须与public修饰的类名字相同。
如上展示的就是最简单的一个Java程序,可能同学们看到后一头雾水,可以说,Java的main方法应该是当前主流编程语言中最“长”的。
完整的Java程序的结构,Java程序的结构由如下三个部分组成:
1.源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。
2.类:类中带有一个或多个方法。方法必须在类的内部声明。
3.方法:在方法的花括号中编写方法应该执行的语句。
总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。
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(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。
JVM:Java虚拟机,运行Java代码
编辑
注意:编写和运行第一个Java程序时,可能会遇到的一些错误:
1. 源文件名后缀不是.java
2. 类名与文件名不一致
3. main方法名字写错:mian
4. 类没有使用public修饰
5. 方法中语句没有以分号结尾
6. 中文格式的分号
7. JDK环境没有配置好,操作系统不能识别javac或者java命令
三、注释
注释:是为了让代码更容易被读懂而附加的描述信息. 不参与编译运行
3.1注释的基本规则
Java中的注释主要分为以下三种:
- 单行注释:// 注释内容(用的最多)
- 多行注释:/* 注释内容*/(不推荐)
- 文档注释: /** 文档注释 */(常见于方法和类之上描述方法和类的作用),可以被javadoc工具解析,生成一套以网页文件形式体现的程序说明文档
注意:
1.多行注释不能嵌套使用
2.不论是单行还是多行注释,都不参与编译,即编译之后生成的.class文件中不包含注释信息。
public class Demo2 { /** * @auther 贾杰 * @param args * Java的main方法 * 公有的 静态的 没有返回值的 * 这是一个文档注释 */ public static void main(String[] args) { //这是一个单行注释 System.out.println("Hello World!"); int a=10; int b=20; /* 定义了两个变量,分别进行赋值。 这是一个多行注释 */ } } //-----------------------------------------------------------------------------------------
介绍小技巧:
// 在cmd中,使用javadoc工具从Java源码中抽离出注释:代码如下
// -d 创建目录 myHello为目录名
// -author 显示作者
// -version 显示版本号
// -encoding UTF-8 -charset UTF-8 字符集修改为UTF-8
javadoc -d myHello -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.java
3.2注释规范
- 内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新
- 篇幅合理: 注释既不应该太精简, 也不应该长篇大论
- 使用中文
- 积极向上: 注释中不要包含负能量(例如 领导 SB 等)
四、标识符
标识符:在程序中由用户给类名、方法名或者变量所取的名字。
(例如上文的main、Demo2等等)
【硬性规则】
- 标识符中可以包含:字母、数字以及 下划线和 $ 符号等等。
- 标识符不能以数字开头,也不能是关键字,且严格区分大小写。
【软性建议】
- 类名:每个单词的首字母大写(大驼峰)
- 方法名:首字母小写,后面每个单词的首字母大写(小驼峰)
- 变量名:与方法名规则相同(小驼峰)
五、关键字
编辑
由上图所示,public static void main int 等等颜色会发生不同的变化,我们将这些具有特殊含义的标识符称为关键字。
总结:关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字
保留字:即它们在Java现有版本中没有特殊含义,以后版本可能会作为有特殊含义的词,或者该词虽然在Java中没有特殊含义,以后版本也不打算使用,但在其它语言中有特殊含义,不宜在Java中定义为变量名称等,因为容易混淆。如true、false、null等等。
我们先简单进行了解,后续内容会遇到大部分关键字,请大家时刻留意后续更新。
编辑
六、IDEA工具小技巧
6.1IDEA修改主题
编辑
6.2IDEA修改字体
编辑
6.3IDEA运行相关解释
编辑
6.4修改注释颜色
编辑
最后:
1.其他IDEA相关使用技巧会在接下来的不断深入学习中使用,到那个时候还会依次进行介绍
2.文章中有解释错误的地方欢迎大家指正,后续尽量保证每周一更