Java 初识Java

Java是一种面向对象的优秀的程序设计语言。有一系列计算机软件和规范形成的技术体系,被广泛应用于嵌入式系统、移动终端等等各种场合。同时,Java在IT行业的应用是非常广泛的,比如企业级系统,web开发领域,android平台应用等。下面,简单介绍一下Java之父,Java语言特性,以及如何在Java当中写出第一个程序。具体的内容在后面详细介绍。

一、Java简述

1,Java的历史

    Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。1991年,Sun公司(现已被甲骨文公司收购)的James Gosling博士开始启动一项计划:开发一种能够在各种消费电子产品上运行的程序架构,简单来说就是智能家电。他将这个程序架构命名位Oak,这就是Java的前身。但是这些智能家电并没有取得预期,于是Sun公司放弃了该计划。1995年互联网发展,Sun公司看见Oak在互联网上应用的前景,于是改造了 Oak,于1995年5月以Java的名称正式发布,并提出“Write once, Run anywhere" 的口号。这里后序的历史就不在累述,感兴趣的可以自行百度。

James Gosling 1955年出生于加拿大

2,Java的语言特性

Java白皮书中说到:

1. 简单性。Java语法是C++语法的一个“纯净版本”,相当于对C++做了一个减法(比如没有指针)。不仅如此,Java开发环境远远超出大多数其他编程语言的开发环境。

2. 面相对象。什么是面向对象?在Java的世界里,一切皆对象。比如:人、狗、手机、电脑等都是对象。所谓面相对象,就是依靠对象之间的 交互来完成事情,比如:人用手机网上购物,狗吃骨头... Java的面向对象特性与C++旗鼓相当,与C++的主要不同点在于多重继承。

3. 分布式(微服务)。Java有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。

4. 健壮性。Java与C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性。

5. 安全性。Java适用于网络/分布式环境。为了达到这个目标,在安全性方面投入了大量的精力。使用Java可以构建防病毒、防篡改的系统。

6. 体系结构中立。编译器生成一个体系结构中立的目标文件格式,按照该中规范生成的文件,只要有Java运行时系统,这些编译后的代码就可以在许多处理器上运行。

7. 可移植性。与C/C++不同,Java规范中没有“依赖具体实现的地方”。基本数据类型的大小以及有关运算都做了明确的说明。

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

9. 高性能。边解释边执行,垃圾回收等导致了Java代码运行效率偏低,但近年来JVM也在不断的优化,在有些场合的效率不亚于C/C++。

10. 多线程。它是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。

11. 动态性。Java与C/C++相比更加具有动态性。它能够适应不断发展的环境。

Java不仅仅是一门编程语言,也是一个由一些列计算机软件和规范组成的技术体系。

二、第一个Java代码

1,“hello world”

    正如前面所说的一样,java自己维护了一套基于栈架构的指令集,要运行Java代码,就要安装Java的开发环境。先安装好JDK(Java Development Kit即Java开发工具包),JDK里面就包含了javac和 java工具,Java程序最终是在JVM(Java虚拟机)中运行的。开发环境安装正确之后,就可以写代码了。可以用记事本或idea来写代码。在这里为了说明java的整个运行过程,就使用sublime Text这样的记事本来写代码。

首先在写代码的文件夹下新建一个.txt文件。同时要显示出它的后缀。

 将.txt改为.java。

 前面的ij图标是本人使用idea打开导致的,不用管他。然后用sublime Text来打开这个文件。

 下面看如何输入一个“hello world”。

说明:以下只是简单说明。

public:是访问修饰限定符,public是公共权限。

class:定义类的关键字。class后面紧跟类名。如果这个类前面有public修饰,那么类名就一定要和文件名相同,否则报错。同时类名需要大驼峰的形式,这里的写法是不建议的。左括号不换行。

main:和c语言一样,都需要有一个main方法。一个 java程序运行必须而且有且仅有一个 main 方法,否则就会报错提示找不到main方法。

String[]:String是表示字符串类型,String[]表示字符串类型一个数组。args没有特殊的意义,只是一个数组名。main()方法中的字符串数组类型的参数就是java命令的参数,使用java命令的方式运行main()方法,会将java命令的参数入参到Java main()方法的字符串数组参数中。

System.out:简单理解就是一个输出流,后面的println就是输出且换行。去掉ln就是不换行。

结果:

 2,运行

在记事本上写的代码如何运行?

一定要先保存写的代码。再按下win+R,输入cmd后回车。

 users后面是用户名。这里默认是C盘,找到写代码的那个盘,比如本人在E盘写的Java代码,就输入e:(不区分大小写)进入了e盘。

 复制写Java代码的文件路径。

在黑框里面输入cd 复制的文件路径,回车。 如果环境等正确的话,就是这样的结果。

出现的问题大多是环境的安装有问题。 接下来输入javac 文件名.java,回车。

回到写代码的文件夹下,就会发现多了一个.class文件。这是一个字节码文件,里面放着二进制的数据。

 输入java 文件名,回车,就得到了结果。

 上面这些步骤展示了java代码的整个运行过程。java代码的整个过程,就是编译+运行。

施行的java代码,就会在jvm里面运行。

这里经常遇到的就是JDK,JRE,JVM。他们的关系是:

上面的javac,java指令就是JDK提供的。

javac:是编译命令,将java源文件编译成.class字节码文件。java:是运行字节码文件;由java虚拟机对字节码进行解释和运行。 

如果修改了java代码,一定要先保存,在施行以上的步骤。如果出现问题,没有到java指令的步骤,大多数是JDK环境没有配好。java指令后出现的错误,可能是代码写错了,或者里面含有中文的部分。

public class Main {//OJ题中以Main作为主类。自己的代码需要和文件名相同

	public static void main(String[] args) {

		System.out.println("hello world");
	}
}

保存,运行:

这里发现报错了。是因为记事本是UTF-8的编码格式,而javac命令是GBK形式编码的,两者的码表是不统一的,解决方法是在javac后面加上-encoding utf-8的指令。

3,注释

java的注释有三种方式:

(1)单行注释://内容。

(2)多行注释:/*内容*/。

(3)文档注释:/**内容*/。这个注释常见于方法和类的描述上面,是可以被javadoc工具解析的,能够生成一套以网页文件形式体现的程序说明文档。

注释不参与编译运行。

注释的要求:

(1)内容准确:注释内容要和代码一致,匹配,并在代码修改时及时更新。

(2)篇幅合理:注释既不应该太精简,也不应该长篇大论。

(3)积极向上:注释中不要包含负能量(例如 领导 SB 等)。

4,标识符和关键字

标识符:在程序中由用户给类名、方法名或者变量所取的名字。

在java当中,标识符中可以包含:字母、数字以及 下划线和 $ 符号等等。但是标识符不能以数字开头,也不能是关键字,且严格区分大小写。

在Java当中,比较好的写法是类名用大驼峰的形式(每个单词的首字母大写),而方法名和变量名使用小驼峰的形式(首字母小写,后面每个单词的首字母大写)。

关键字:具有特殊含义的标识符。即:关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字。这些和C语言的部分是一样的,比如int、void等。需要注意的事项和C语言相同。

java部分关键字:

猜你喜欢

转载自blog.csdn.net/Naion/article/details/123302652