文章目录
一、Java语言概述
1.1 Java的概念
:::tips
Java作为一种优秀的程序设计语言(半编译型、半解释型语言),其是由一系列计算机软件和规范形成的技术体系。这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。
:::
1.2 Java语言特性
- 简单性
Java语法是C语法的一个“纯净版本”,没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等。不仅如此,Java开发环境远远超出大多数其他编程语言的开发环境。- 面向对象
在Java的世界里,一切皆对象。所谓面相对象,就是依靠对象之间的交互来完成事情。
Java的面向对象特性与C旗鼓相当,与C的主要不同点在于多重继承。在Java中,取而代之的是更简单的接口概念。而且与C++相比,Java提供了更丰富的运行时自省功能。
- 分布式(微服务)
Java有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。
Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
- 健壮性
Java与C++最大的不同在于:Java采用的指针模型可以消除重写内存和损坏数据的可能性。不仅如此,Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。- 安全性
Java适用于网络/分布式环境。使用Java可以构建防病毒、防篡改的系统(从一开始,Java就设计成能够防范常见的各种攻击:运行时堆栈溢出。蠕虫和病毒常用的攻击手段。破坏自己进程空间之外的内存。未经授权读写文件)- 体系结构中立
编译器生成一个体系结构中立的目标文件格式,按照该中规范生成的文件,只要有Java运行时系统,这些编译后的代码就可以在许多处理器上运行。
Java编译器通过生成与特定计算机体系结构无关的字节码指令来实现这一特性。精心设计的字节码不仅 可以很容易的在任何机器上解释执行,而且还可以动态地翻译成本地机器代码。其他语言编写的程 序,在编译后如果能够严格按照字节码文件的规范生成.class文件,也可以在JVM上运行。
- 可移植性
Java规范中没有“依赖具体实现的地方”。基本数据类型的大小以及有关运算都做了明确的说明。在Java中,数据类型具有固定的大小,这消除了代码移植时令人头疼的主要问题。- 解释性
Java为了实现与平台无关,自己维护了一套基于栈架构的指令集,Java源代码经过编译之后,字节码文件中的指令就是按照自己的指令集来组织的,但是在具体硬件环境中运行时系统并不能识别,因此Java程序在执行时,Java解释器会逐条的将字节码文件中的指令翻译成CPU的指令集。- 高性能
边解释边执行,垃圾会说等导致了Java代码运行效率偏低,近年来JVM也在不断的优化,比如:JIT(即时编译器),热点代码探测,让Java程序的执行效率大幅提高。- 多线程
Java在当时很超前。它是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。- 动态性
Java与C/C++相比更加具有动态性。它能够适应不断发展的环境。库中可以自由的添加新方法和实例变量,而对客户端没有任何影响。
1.3 JDK,JRE,JVM三者之间的关系
1、JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译。
器javac与自带的调试工具Jconsole、jstack等。
2、JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。
3、JVM:Java虚拟机,运行Java代码。
结构如下图所示:
二、main方法示例
//第一个简单的Java代码:在屏幕上打印“Hello,world”
public class HelloWorld {
//public 修饰的类名一定要和文件名保持一致
public static void main(String[] args){
System.out.println("Hello,World");
}
}
2.2 学习小贴士
1.在一个java源文件的创建中,应写为:xxxx(类名).Java。
2.在一个Java项目中,只能存在一个pubilc修饰的类,该类名与源文件类名一致,否则编译器会报错。
3.创建好java源文件时,第一句代码会自动呈现。只需敲下main即可出现第二句
(main方法是java代码的入口方法),在方法内创建输出语句只需敲下sout(该句是java中的标准输出,主要作用是将输出信息显示在控制台)。
4.总结一下:类存在于源文件里面,类中可以带有一个或多个方法;方法存在于类中。类用来表示程序的一个组件,小程序或许只会有一个类;语句存在于方法中。
5.编写好的java源代码需先通过javac的编译程序进行编译,编译后生成与平台无关、只面向JVM的.class文件,该文件是由字节码组成的与平台无关、只面向JVM的文件。最后再通过启动java虚拟机(JVM)来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。
6. 如要将记事本中的java源代码通过cmd命令窗运行起来,需要通过javac命令执行后生成.class文件,在由java命令执行.class文件。(如果在电脑中安装了IDEA之后,这两个指令是由IDEA直接执行的)
2.3 注释的含义
注释仅是提供给程序员观看,为了更容易被读懂而附加的描述信息,并不参与编译运行。所以注释需要简洁明了,通俗易懂,以便于后续自己或者他人查看使用。所以理应注意注释内不能存有任何辱骂攻击或是发泄性用语。而我们的注释部分在java程序编译时会直接被编译器过滤掉,也就是说编译后生成的.class文件中不会包含任何注释信息。
2.4 Java中的注释种类
1、单行注释:// 注释内容(用的最多)。
2、多行注释:/_ 注释内容_/(不推荐),因为多行注释不能嵌套使用。
3、文档注释: /** 文档注释 */(常见于方法和类之上描述方法和类的作用),可以被javadoc工具解析(注意,CMD默认是用GBK来进行编解码的,而文本文件一般默认是用utf-8编解码,这也就导致了运行时CMD可能显示无法解析的符号,这个时候只需要加上encoding UTF-8即可),生成一套以网页文件形式体现的程序说明文档。
三、标识符
3.1 什么是标识符?
在上述第一个java程序中,Test被称之为类名,main被称为方法名。当然,我们也可以将其称之为标识符。
JAVA程序中的标识符是由:字母、数字、下划线和 $ 符等组成的。
即:在程序中由用户给类名、方法名或者变量所取的名字。(注意,main虽然是方法名,但也是关键字,其有自己使用的规范,所以main不是标识符。)
标识符是由:字母、数字、下划线和 $ 符号等组成的。
注意:标识符不能以数字开头(也不可以全部均为数字),更不能是关键字(具有特殊含义的标识符称为关键
字。即:关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字。用户在创建标识符的时候不能使用关键字)。并且在标识符中是严格区分大小写的。
四、关键字
4.1 什么是标识符?
以下两张Java关键字图片数据均为Java书中所获,此时初识Java不做详细阐述,留与后期备用。
请注意:Java将具有特殊含义的标识符称为关键字。Java中的标识符不可为关键字!!!所以用户在给类,方法,变量取名时应避开以下关键字。