1.java语言特性
以下Java语言特性来自于Java白皮书:
- 简单性
Java语法是C++语法的一个“纯净版本”,相当于对C++做了一个减法。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等等。不仅如此,Java开发环境远远超出大多数其他编程语言的开发环境。 - 面相对象
什么是面向对象?
在Java的世界里,一切皆对象。比如:人、狗、手机、电脑等都是对象。所谓面相对象,就是依靠对象之间的交互来完成事情,比如:人用手机网上购物,狗吃骨头...
Java的面向对象特性与C++旗鼓相当,与C++的主要不同点在于多重继承。在Java中,取而代之的是更简单的接口概念。而且与C++相比,Java提供了更丰富的运行时自省功能。 - 分布式(微服务)
Java有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上
的对象,其便捷程度就好像访问本地文件一样。 - 健壮性
Java与C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性(对于曾经花费几个小时
来检查由于指针bug而引起内存冲突的人来说,一定很喜欢Java的这一特性)。不仅如此,Java编译器能够检测
许多在其他语言中仅在运行时才能够检测出来的问题。 - 安全性
Java适用于网络/分布式环境。为了达到这个目标,在安全性方面投入了大量的精力。使用Java可以构建防病毒、防篡改的系统。
从一开始,Java就设计成能够防范常见的各种攻击:
运行时堆栈溢出。蠕虫和病毒常用的攻击手段。
破坏自己进程空间之外的内存。
未经授权读写文件 - 体系结构中立
编译器生成一个体系结构中立的目标文件格式,按照该中规范生成的文件,只要有Java运行时系统,这些编译
后的代码就可以在许多处理器上运行。Java编译器通过生成与特定计算机体系结构无关的字节码指令来实现这
一特性。精心设计的字节码不仅可以很容易的在任何机器上解释执行,而且还可以动态地翻译成本地机器代
码。这就是为什么可以:“Wrice once,Run anywhere”。
而且其他语言编写的程序,在编译后如果能够严格按照字节码文件的规范生成.class文件,也可以在JVM上运
行。 - 可移植性
与C/C++不同,Java规范中没有“依赖具体实现的地方”。基本数据类型的大小以及有关运算都做了明确的说明。
例如,Java中的int永远是32位的整数,而在C/C++中,int可能是16位整数、32位整数,也可能是编译器提供商
指定的其他大小。在Java中,数据类型具有固定的大小,这消除了代码移植时令人头疼的主要问题。 - 解释性
Java为了实现与平台无关,自己维护了一套基于栈架构的指令集,Java源代码经过编译之后,字节码文件中的指
令就是按照自己的指令集来组织的,但是在具体硬件环境中运行时,系统并不能识别,因为Java程序在执行
时,Java解释器会逐条的将字节码文件中的指令翻译成CPU的指令集。 - 高性能
边解释边执行,垃圾会说等导致了Java代码运行效率偏低,近年来JVM也在不断的优化,比如:JIT(即时编译
器),热点代码探测,让Java程序的执行效率大幅提高,在有些场合不亚于C/C++。 - 多线程
Java在当时很超前。它是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。并发程
序设计绝非易事,但是Java在这方面表现出色,可以很好的管理这个工作。 - 动态性
Java与C/C++相比更加具有动态性。它能够适应不断发展的环境。库中可以自由的添加新方法和实例变量,而对
客户端没有任何影响。在Java中找出运行时类型信息十分简单
2.注释规范
1.单行注释://注释内容
2.多行注释:/*注释内容 */,不能嵌套使用
3.文档注释:/*文档注释/,(常见于方法和类之上描述方法和类的作用),可以被javadoc工具解析,生成一套以网页文件形式体现的程序说明文档)
/**
@version v1.0.0
@author 猪猪男孩
HelloWorld程序,入门第一个程序练习
*/
public class HelloWorld{
/**
main方法是程序的入口函数
@param args 命令行参数。
*/
public static void main(String[]args){
System.out.println("Helloworld");
}
}
1.中文代码的处理
向以上代码出现了中文,因为记事本的编码格式是UTF-8编码的,而javac命令是GBK形式编码的,我们要做到编码的统一。否则就会出现以下的报错。
我们需要使用 -encoding UTF-8 将字符集修改为UTF-8,则不会报错了。
2.文档注释的巧用
我们使用以下命令就可以生成HTML文件,
javadoc -d myHello -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.java
然后在生成的文件里面选择index.html文件,打开以后就是如以下图,
有无感觉和某些界面有些像呢,而那些界面也就是这么生成的。
3.标识符
在程序中由用户给类名、方法名或者变量所取的名字。java里方法就相当于函数,类名就是class后面的。
1.标识符命名规则
【硬性规则】
标识符中可以包含:字母、数字以及 下划线和 $ 符号等等。
注意:标识符不能以数字开头,也不能是关键字,且严格区分大小写。
【软性建议】
类名:每个单词的首字母大写(大驼峰)
方法名:首字母小写,后面每个单词的首字母大写(小驼峰)
变量名:与方法名规则相同
根据阿里巴巴《Java开发手册-嵩山版》这本书提到的代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束,不允许使用拼音等等,当然这些不是硬性规定,只是好的命名风格。
版权归原作者 z猪猪男孩c 所有, 如有侵权,请联系我们删除。