Java基础知识

时间:2024-03-08 09:35:48

导航

1.Java是什么

2.Java能干什么

3.Java的历史

4.Java版本的演变

5.Java开发环境的搭建/JDK的下载和安装

6.JDK,JRE,JVM

7.如何理解Java跨平台?

8.Java程序的编写、编译、运行

9.Java程序是如何执行的?

10.如何理解Java平台?

11.环境变量

12.Applet

13.注释

14.关键字

15.标识符

 

1.Java是什么

  Java是一门完全面向对象的编程语言,简单易用,功能强大。由Sun公司(Sun Microsystems)于1995年发布,2009年Sun公司被Oracle公司收购,所以现在Java的版权是Oracle的。

 

2.Java能干什么

  Java提供了三种平台Java SE ,Java ME ,Java EE ,分别用于开发桌面应用,嵌入式应用,企业级应用。其中Java在Java EE的表现十分抢眼,各种银行、*系统大多采用Java EE平台构建。

   

  JavaSE   ( Java Platform Standard Edition)

    Java标准版,主要用于编写桌面应用。JavaSE是三个平台中最核心的部分,JavaME和JavaEE都是在JavaSE的基础上发展而来。JavaSE平台中包括了Java最核心的类库,如集合、IO、数据库连接以及网络编程等。

  JavaME( Java Platform Micro Edition)

    Java移动版,主要用于编写嵌入式应用

  JavaEE( Java Platform Enterprise Edition)

    Java企业版,主要用于分布式的网络程序的开发,是为开发企业级应用程序提供的解决方案。该平台用于开发、装配以及部署企业级应用程序,其中主要包括 Servlet、JSP、 Javabean、JDBC、EJB、Web等技术。

 

  Java EE应用领域有:

  1. 互联网:电商、P2P(电子金融、商务金融)等等;
  2. 企业级应用:ERP(企业资源计划)、CRM(客户关系管理)、BOS、OA(办公自动化)等等。

  

3.Java的历史

  Java的诞生可以说是一个巧合。1990年末,硬件领域出现了单片式计算机系统,Sun公司(Stanford University Network,斯坦福大学校园网的首字母缩写)成立了一个由James Gosling(Java之父)领导的“Green 计划”,准备为下一代智能家电(如电视机、微波炉、电话)编写一个通用控制系统。

  该团队最初考虑C++,但是由于C++太过复杂,以及单片式系统硬件资源极其匮乏而放弃。于是他们假定了一种硬件平台,在这个假定的硬件平台上开发了一种新的语言Oak。

  但是语言开发成功后,没有生产商愿意开发和生产这种硬件平台。于是Oak就被搁置下来。

  之后随着互联网的兴起,他们决定把Oak应用于网络上。作为原型,帕特里克·诺顿写了一个小型万维网浏览器WebRunner(就是后来的HotJava浏览器)。

  (HotJava浏览器是用Java语言编写的,能够在网页中执行Applet。不过,HotJava虽可执行Java Applet程序,但真正用于一般网页浏览的效果及支援并不佳,Sun公司为了让各种浏览器都可以执行Java Applet,所以也推出Java插件,        安装此软件即可让多数的网页浏览器也能执行Java Applet。因此,既然许多网页浏览器也能执行Java Applet,以致HotJava几乎只有Java Applet编程语言的初学者用来练习撰写程序的效果验证之用,并未获得进一步普及,此后到了         1999年Sun公司方面也宣布停止此套HotJava的后续发展,停终前的最后一版即是HotJava 3.0)

   Sun公司首先推出了可以嵌入网页并且可以随同网页在网络上传输的Applet(Applet是一种将小程序嵌入到网页中进行执行的技术),并将Oak更名为Java(在申请注册商标时,发现Oak已经被人使用了,于是使用了印尼爪哇咖啡的Java)。之后Sun公司在Sun world会议上正式发布Java和HotJava浏览器。IBM、Apple、DEC、Adobe、HP、Oracle、Netscape和微软等各大公司都纷纷停止了自己的相关开发项目,竞相购买了Java使用许可证,并为自己的产品开发了相应的Java平台。 

 

  1995年,Sun虽然推出了Java,但这只是一种语言,如果想开发更复杂的应用程序,必须要有一个强大的开发类库。因此,Sun在1996年1月发布了JDK1.0。这个版本包括两个部分:运行环境JRE和开发环境JDK。

  10月,Sun公司发布了Java平台的第一个即时(JIT)编译器。

  1997年2月,发布了JDK1.1。JDK1.1增加了JIT(即时)编译器。

  JIT和传统的编译器不同,传统的编译器是编译一条,运行完后将其扔掉;而JIT会将经常用到的指令保存在内存中,当下次调用时就不需要重新编译了,通过这种方式让JDK在效率上有了较大提升。

 

  但一直以来,Java主要的应用就是网页上的Applet以及一些移动设备。到了1996年年底,Flash面世了,这是一种更加简单的动画设计软件:使用Flash几乎无序任何编程语言知识,就可以做出丰富多彩的动画。随后Flash增加了ActionScript编程脚本,Flash逐渐蚕食了Java在网页上的应用。

 

  从1995年Java的诞生到1998年年底,Java语言虽然成为了互联网上广泛使用的编程语言,但它并没有找到一个准确的定位,也没有找到它必须存在的理由:Java语言可以编写Applet,而Flash一样可以做到,而且更快,开发成本更低。

  直到1998年12月,Sun发布了Java历史上最重要的JDK版本:JDK1.2,伴随JDK1.2一同发布的还有JSP/Servlet、EJB等规范,并将Java分成了J2EE、J2SE和J2ME三个版本。

  这标志着Java已经吹响了向企业、桌面和移动三个领域进军的号角,标志着Java已经进入Java2时代,这个时期也是Java飞速法阵的时期。

  在Java2中,Java发生了很多革命性的变化,而这些革命性的变化一直沿用到现在,对Java的发展形成了深远的影响。直到今天还经常看到J2EE、J2SE等名称。

 

  1999年4月27日,HotSpot虚拟机发布。HotSpot 虚拟机发布时是作为JDK 1.2的附加程序提供的,后来它成为了JDK 1.3及之后所有版本的Sun JDK的默认虚拟机

 

  2002年2月,Sun发布了JDK历史上最为成熟的版本:JDK1.4。JDK1.4已经可以使用Java实现大多数的应用了。

  在此期间,Java语言在企业应用领域大放异彩,涌现出大量基于Java语言的开源框架:Struts、WebWork、Hibernate、Spring等;大量企业应用服务器也开始涌现:WebLogic、WebSphere、JBoss等,这些都标志着Java语言进入了飞速发展时期。

 

  2004年10月,Sun发布了JDK1.5,同时,Sun将JDK1.5改名为Java SE 5.0,J2EE、J2ME也相应地改名为Java EE和Java ME。

  JDK1.5增加了诸如泛型、增强的for语句、可变数量的形参、注释(Annotations)、自动拆箱和装箱等功能;同时,也发布了新的企业级平台规范,如通过注释等新特性来简化EJB的复杂性,并推出了EJB3.0规范。还推出了自己的MVC框架规范:JSF,JSF规范类似于ASP.NET的服务器端空间,通过它可以快速地构建复杂的JSP界面。

 

  2006年12月,Sun公司发布了JDK 1.6(也被称作Java SE 6)。

  2009年,Oracle收购Sun,获得了Java和Solaris的产权。

  

  2007年11月,Google宣布退出一款基于Linux平台的开源手机操作系统:Android。Android 平台使用了 Dalvik 虚拟机来运行 .dex文件,Dalvik 虚拟机的作用类似于JVM虚拟机,只是它并未遵守JVM规范而已。Android使用Java语言来开发应用程序,这也给了Java语言一个新的机会。在过去的岁月中,Java语言作为服务器端编程语言,已经取得了极大的成功;而 Android 平台的流行,则让 Java 语言获得了在客户端程序上大展拳脚的机会。

 

  2011年7月28日,Oracle发布了Java SE 7,引入了二进制整数、支持字符串的switch语句、菱形语法、多异常捕捉、自动关闭资源的try语句等新特性。

  2014年3月18日,Oracle发布了Java SE 8,引入了全新的Lambda表达式、流式编程等大量新特性。

  2017年9月22日,Oracle发布了Java SE 9,这次版本升级强化了Java的模块化系统,让庞大的Java语言更轻量化,而且采用了更高效、更智能的G1垃圾回收器,并在核心类库上进行了大量更新,可以进一步简化编程;但对语法本身更新并不多(毕竟Java语言已经足够成熟)。

 

4.Java版本的演变

  虽然Java的实际版本是从1.1推进到1.2,但因变化幅度大,所以销售部门决定用全新的命名,于是命名为Java 2。Java 3或4从来都没有出现过,到了1.5版时,销售部门又认为进步幅度太大(大部分的程序员都同意这么说)而需要全新的名称,所以又冒出一个Java5.0,用5对应到1.5。

最开始的Java版本是Java 1.02(第一次出版的版本),1.02到1.1版都算是"Java"。1.2、1.3和1.4版都叫做"Java 2"。从1.5版开始叫做"Java 5.0",也叫做"Tiger"(开发代号)。

 

  • JDK 1.1.4 Sparkler 宝石 1997-09-12

  • JDK 1.1.5 Pumpkin 南瓜 1997-12-13

  • JDK 1.1.6 Abigail 阿比盖尔--女子名 1998-04-24

  • JDK 1.1.7 Brutus 布鲁图--古罗马政治家和将军 1998-09-28

  • JDK 1.1.8 Chelsea 切尔西--城市名 1999-04-08

  • J2SE 1.2 Playground 运动场 1998-12-04

  • J2SE 1.2.1 none 1999-03-30

  • J2SE 1.2.2 Cricket 蟋蟀 1999-07-08

  • J2SE 1.3 Kestrel 美洲红隼(sǔn) 2000-05-08

  • J2SE 1.3.1 Ladybird 瓢虫 2001-05-17

  • J2SE 1.4.0 Merlin 灰背隼 2002-02-13

  • J2SE 1.4.1 grasshopper 蚱蜢 2002-09-16

  • J2SE 1.4.2 Mantis 螳螂 2003-06-26

  • JAVASE 5.0 (1.5.0) Tiger 老虎

  • JAVASE 5.1 (1.5.1) Dragonfly 蜻蜓

  • JAVASE 6.0 (1.6.0) Mustang 野马

  • JAVASE 7.0 (1.7.0) Dolphin 海豚

 

5.Java开发环境的搭建/JDK的下载和安装

要想开发一个Java程序,首先需要安装Java开发环境JDK(JavaSE Development Kit)

为什么需要安装JDK呢?C语言安装一个编译器不是就可以了吗?

任何一个程序编写完成后,要想执行最终都要转换为计算机可以理解的二进制

因为C语言是编译语言,C源文件经过编译器编译后就可以生成二进制指令,操作系统就可以执行了。故只需要编译器即可

而Java是半编译,半解释的语言,编译生成的class文件最终是要在JVM虚拟机里面执行的,JDK里面就包含了编译运行Java程序所需要的全部东西(包括开发类库,Java运行环境,类加载器等很多东西)

 

进入oracle的官网 https://www.oracle.com/ 就可以下载Java

安装时不需要安装公共JRE(即额外安装的JRE),因为JDK里面包含JRE

安装的JDK源代码是名为src.zip的压缩包,不同的JDK安装的位置可能不同,如JDK8是将其安装在JDK安装目录下,JDK9是将其安装在安装目录的lib目录下

 

检验jdk是否安装成功,在JDK安装目录的bin目录下打开cmd窗口,运行javac命令,java命令,若无异常则表示安装成功

也并不是一定要安装JDK。

使用eclipse开发的话需要安装相应版本的JRE,因为eclipse是由Java语言编写的,其运行依赖于JRE。eclipse内置有JDK和JRE。

使用myeclise开发JDK及JRE都不需要安装,其均有内置。

只不过一般使用自己安装版本的JDK。

 

 

6.JDK,JRE,JVM

  JDK:

    Java SE Development Kit, Java标准版开发工具包

    包括了Java运行环境,一些Java工具(javac、java、jps等)和Java的核心类库(Java API)

         主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如,IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK

  JRE:

    Java Runtime Environment, Java运行时环境

    可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE

    运行Java软件只安装JRE即可,安装时系统会自动添加环境变量,配置注册表等

  JDK6、JDK7是在安装JRE的时候,在C:Windows\System32目录下生成了java.exe、javaw.exe、javaws.exe三个文件

  JDK8是在C:\Program Files (x86)\Common Files\Oracle\Java\javapath 路径下生成了java.exe、javaw.exe、javaws.exe三个文件,并将该路径添加到了PATH环境变量中

  

       安装JDK时会在注册表中设置JRE当前版本,所以如果安装了多个JRE,可能会出现Error: Registry key ‘Software\JavaSoft\Java Runtime Environment’\CurrentVersion’这个错误

  需要在注册表“计算机\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion”路径下右键更改JRE版本

 

  JVM:

    Java Virtual Machine,是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

    JVM负责运行字节码,把每一条要执行的字节码交给解释器,翻译成对应的机器码,然后由解释器执行。

    JVM解释执行字节码文件就是JVM操作Java解释器进行解释执行字节码文件的过程

    Java解释器是JVM的一部分,java.exe可以简单看成是Java解释器。

    在JDK和JRE的安装目录下,bin\server\目录下有一个 jvm.dll 文件,这就是JVM。

  

  JDK包含JRE,JRE包含JVM。(在JDK9以前,比如JDK8在JDK的安装目录下有一个jre文件夹,和单独安装的JRE基本一致但并不完全相同)

 

7.如何理解Java跨平台?

平台,我们可以简单的理解为操作系统。(实际上平台是指CPU处理器与操作系统的整体。不同的操作系统支持不同的CPU指令集)

跨平台指的是源程序编译后生成的字节码文件跨平台

 

如C语言不是跨平台的语言。一个C语言源文件编写好后,编译时,在windows系统有windows系统对应的编译器(如VS),linux系统有linux系统的编译器(如gcc),在不同系统编译生成的文件是不一样的,windows下编译产生的文件不能放到Linux环境去执行。

而Java是一门可以跨平台的语言,编译后生成的class文件不需要经过任何修改就能在各个平台上运行。实现这个特性依赖的是不同平台上的JVM

在不同的操作系统上需要安装不同的jdk,也就有了不同的JVM,JVM能够将一个字节码文件转换为CPU认识的机器码。

其实,不仅仅是Java,只要能编译生成JVM能够识别的字节码文件,那么任何语言都能在JVM中运行(如kotlin、Scala、Jython、JRuby、Eta等)
 

而我们平时说的write-once/run-anywhere是当初Java的宣传语,指的是一次编写到处运行。

像C/C++,是面向操作系统编程的,编程时需要开发者极大地关心不同操作系统之间的差异性。这意味着,如果你想在另一个操作系统上执行相同的功能,很有可能要把源代码大改一通。

而因为Java利用了JVM屏蔽了底层操作系统细节,使得程序员编写代码时不必过分去考虑操作系统之间的不同,只要编写一次就OK了。

 

8.Java程序的编写、编译、运行

1.Java程序的编写

 使用纯文本编辑器编写一个Java源文件,其名称为HelloWorld.java。注意Java语言严格区分大小写。

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

 

注意:

  1.一个Java源文件可以包含多个类,但最多只能包含一个被public修饰的类

  2.Java源文件中若含有被public修饰的类,则源文件的名称必须和被public修饰的类的名称相同

  (即若源文件中没有被public修饰的类,则源文件名称没有特定要求,符合命名规范即可,但一般情况下我们仍然使用类名作为源文件名)

 

2.Java程序的编译

编译操作需要使用编译器来完成,即JDK安装目录下的bin目录下的javac.exe

格式:javac命令完整路径   java源文件

如:D:\develop\Java\jdk-9\bin\javac D:\java\HelloWorld.java

 

编译成功时,控制台上不会有输出。而且会在源文件所在目录下生成字节码文件,字节码文件的扩展名为.class。

编译失败会在控制台上输出错误信息,不会生成字节码文件。

 

3.Java程序的运行

运行Java程序需要使用java.exe命令,它与javac.exe在同一目录下。

格式:java命令完整路径  类名

如:D:\develop\Java\jdk-9\bin\java  HelloWorld

java命令可以写出全路径,但类名这里就只能写类的名字,不能写class文件的全路径,也不能写出“.class”,因为第二个参数只能是类名如HelloWorld,否则会报错“找不到或无法加载主类”。

那程序怎么知道到哪里去找这个类呢?这时就用到了CLASSPATH这个环境变量。

 

 

9.Java程序是如何执行的?

  一个Java程序想要运行,必须要有JRE环境。

  首先Java源代码经过编译器编译生成与平台无关的字节码文件。在运行时,JVM会通过类加载器(Class-Loader)加载字节码,解释或者编译执行。常见的JVM如Oracle JDK提供的Hotspot JVM,都提供了JIT(Just-In-Time)即时编译器,JIT能够在运行时将热点代码编译成机器码,这种情况下部分热点代码就属于编译执行,而不是解释执行了。JDK 8实际是解释和编译混合的一种模式,即所谓的混合模式(-Xmixed)。通常运行在 server模式的 JVM,会进行上万次调用以收集足够的信息进行高效的编译,client模式这个门限是 1500次。Oracle Hotspot JVM内置了两个不同的 JIT compiler,C1对应前面说的 client模式,适用于对于启动速度敏感的应用,比如普通 Java桌面应用;C2对应 server模式,它的优化是为长时间运行的服务器端应用设计的。默认是采用所谓的分层编译(TieredCompilation)。

    Java虚拟机启动时,可以指定不同的参数对运行模式进行选择。 比如,指定“-Xint”,就是告诉 JVM只进行解释执行,不对代码进行编译,这种模式抛弃了 JIT可能带来的性能优势。毕竟解释器(interpreter)是逐条读入,逐条解释运行的。与其相对应的,还有一个“-Xcomp”参数,这是告诉 JVM关闭解释器,不要进行解释执行,或者叫作最大优化级别。那你可能会问这种模式是不是最高效啊?简单说,还真未必。“-Xcomp”会导致 JVM启动变慢非常多,同时有些 JIT编译器优化方式,比如分支预测,如果不进行 profiling,往往并不能进行有效优化。

    除了我们日常最常见的 Java使用模式,其实还有一种新的编译方式,即所谓的 AOT(Ahead-of-Time Compilation),直接将字节码编译成机器代码,这样就避免了 JIT预热等各方面的开销,比如 Oracle JDK 9就引入了实验性的 AOT特性。

 

 

10.如何理解Java平台?

Java平台即由Java编程语言所撰写的软件赖以运行的平台。(Java执行环境本身就是一个平台)

java平台是指运行在各种终端(如pc、服务器、移动设备、嵌入式设备)的系统软件。PC机上的java程序是用javaSE开发出来的,服务器端的java程序是用javaEE开发出来的,移动设备的java程序是用javaME开发出来的。

Java平台的体系包括了以下几个重要组成部分:

  • Java程序设计语言
  • 各种硬件平台上的Java虚拟机
  • Class文件格式
  • Java API类库及相关工具
  • 来自商业机构和开源社区第三方Java类库

 

11.环境变量

1.PATH环境变量的作用

  指定命令的寻找路径。如执行 javac 命令,那么Windows系统会首先在当前路径寻找,如果当前路径没有找到该命令,则会到PATH变量中去寻找。

2.PATH环境变量的配置

  鼠标右键点击计算机  →  属性  →  高级系统设置  →  点击环境变量  →  找到系统变量中的PATH  →  点击编辑按钮。

  将JDK安装目录\bin路径配置到PATH变量中,win7系统的话需要用英文分号与其他变量隔开。

  一般情况下是新增一个系统变量 JAVA_HOME ,将JDK安装路径配置到JAVA_HOME系统变量中,再把 "%JAVA_HOME%\bin"配置到PATH环境变量中

 

3.必须要配置PATH环境变量吗? 

  其实如果不用记事本写代码,cmd窗口编译执行的话,基本上是不需要配置环境变量的

  用eclipse开发需安装相应版本的jre,是因为eclipse是用Java语言编写的,软件的运行需要本地有jre

  eclipse和myEclipse均内置有多种jdk和jre

4.环境变量配置为什么要配置JAVA_HOME?

  因为有一些软件如tomcat启动时会去寻找该环境变量。而且配置了JAVA_HOME之后,eclipse也能够自己找到本地jjdk了

5.需要配置CLASS_PATH环境变量吗? 

  如果使用1.5以上版本的JDK,完全可以不用设置CLASSPATH环境变量。

  此环境变量的作用是,当运行一个Java程序时,告诉jJVM到哪里去找某个类。

 

  如果使用1.4以前版本的JDK,则需要在CLASSPATH环境变量中添加点(.),用以告诉JRE需要在当前路径下搜索Java类。(因为1.4以前版本的JDK没有设计在当前路径下寻找类的功能)

  除此之外,编译和运行Java程序还需要JDK的lib目录下dt.jar和tools.jar文件中的Java类,因此还需要把这两个文件添加到CLASSPATH环境变量里。

  (javac命令其实只是个摆设,它是调用了tools.jar里面的类去编译源文件的。我们可以把lib目录下的tools.jar重命名为tools1.jar,再使用javac命令编译源文件时,就会报错“找不到或无法加载主类 com.sun.tools.javac.Main”)

  JDK9 的lib目录已经不再包含 dt.jar 和 tools.jar 文件。

  

  因此,如果使用1.4以前版本的JDK来编译和运行Java程序,常常需要设置CLASSPATH环境变量的值为  .;%JAVA_HOME%\lib]dt.jar;%JAVA_HOME%\lib\tools.jar  

 

  当然,即使使用JDK 1.5 以上版本的JDK,也可以设置CLASSPATH环境变量(通常用于加载第三方类库),一旦设置了该环境变量,JRE将会按该环境变量指定的路径来搜索Java类。这意味着如果CLASSPATH环境变脸中不包括点(.),也就是没有包含当前路径,JRE不会在当前路径下搜索Java类。

  即,如果要设置CLASSPATH环境变量,一定要把JRE原来寻找Java类的路径设置上。

 

  如果想在运行Java程序时临时指定JRE搜索Java类的路径,则可以使用 -classpath 选项(或用 -cp 选项, -cp 是简写,作用完全相同),即按如下格式来运行java命令:

  java -classpath dir1;dir2;dir3...;dirN Java类

  -classpath 选项的值可以是一系列的路径,多个路径之间在 Windows 平台上以分号(;)隔开,在Linux平台上则以冒号(:)隔开。

 

  如果在运行Java程序时指定了 -classpath 选项的值,JRE 将严格按 -classpath 选项所指定的路径来搜索 Java 类,即不会在当前路径下搜索 Java 类,CLASSPATH环境变量所指定的搜索路径也不再有效。

  如果想使 CLASSPATH 环境变量指定的搜索路径有效,而且还会在当前路径下搜索Java类,则可以按如下格式来运行 Java 程序:

  java -classpath %CLASSPATH%;.; dir1;dir2;dir3...;dirN Java类

  上面命令通过  %CLASSPATH% 来引用 CLASSPATH 环境变量的值,并在 -classpath 选项的值里添加了一个点,强制JRE在当前路径下搜索Java类。

 

  也可以通过如下方式临时设置classpath 选项的值

  set CLASSPATH=%CLASSPATH%;classpath1;classpath2...

 

 

12.Applet

Applet 是一种 Java 程序。它一般运行在支持 Java 的 Web 浏览器内。applet是和html或者是jsp一起使用的,不能单独运行(当然你可以使用appletviewer命令或者是ide去运行)

Applet是采用Java编程语言编写的小应用程序,该程序可以包含在 HTML中,与在页中包含图像的方式大致相同。
含有Applet的网页的HTML文件代码中部带有<applet> 和</applet>这样一对标记,当支持Java的网络浏览器遇到这对标记时,就将下载相应的小应用程序代码并在本地计算机上执行该Applet。
也可以使用appletviewer命令去执行

 

13.注释

注释是写给人看的,用于理解程序的存在。在编译时,编译器会忽略注释的存在。

Java中提供了三种注释方式,分别是:

  单行注释    //注释内容

  多行注释    /*注释内容*/  多行注释不能嵌套,因为多行注释从 "/*"开始,一遇到"*/"就结束

  文档注释   /**注释内容*/      文档注释可以使用javadoc.exe命令生成API文档

14.关键字

关键字是被Java语言赋予特殊含义,具有专门用途的单词,不可乱用
  Java中关键字均为小写,其中goto,const为保留字,即现在还没有被使用,以后可能被使用的单词。

  main不是关键字,它是程序的入口点,也不可乱用。虽然建立一个Main.java是完全正确的。

 

15.标识符

在Java程序中,除了关键字以外基本上都是标识符了。一般指的是给变量,方法,类,接口等起的名字。

标识符组成:

  字母(英文字母,中文字符,日文字符等都可以),数字(0-9),下划线(_),美元符($),人民币符号(¥)

标识符命名规则:

  1.不能以数字开头

  2.不能是关键字

  3.严格区分大小写

 

标识符如“_”,Main,"$"等是完全正确的,但这种命名方式不推荐。

类的名字一般采用各个单词首字母大写的命名方式(大驼峰式)如"HelloWorld",方法的名字一般采用首字母小写其余单词首字母大写的命名方式(小驼峰式)如"addStudent"

Java中,常量的名称一般都使用大写,各个单词之间用下划线连接,如MAX_VALUE

 

 

参考:

https://blog.csdn.net/qq_42322103/article/details/89490692

https://www.cnblogs.com/roger-yu/p/5827452.html

https://time.geekbang.org/column/article/6845