本教程所要分享的是java是什么?java的基本概念简介:Java语言是SUN(Stanford University Network,斯坦福大学网络公司)公司1995年推出的一门高级编程语言,起初主要应用在小型消费电子产品上,后来随着互联网的兴起,Java语言迅速崛起(Java applet 可以在浏览器中运行),成为大型互联网项目的首选语言。
java简介
2009年04月20日,美国甲骨文公司74亿美元收购Sun,取得java的版权。
Java 是面向对象的语言,没有面向对象编程经验的读者需要花费不少时间来了解面向对象的概念、语法和编程思想,有不能理解的地方请大家一定要坚持,多花时间编写代码自然会豁然开朗,从面向过程到面相对象需要一个适应期。
Java 不只是一种编程语言,它是一个完整的平台,拥有庞大的库,将诸如图形绘制、Socket连接、数据库存取等复杂操作进行了最大程度的简化。
Java 是跨平台的,一次编译,到处运行,在 Windows 上编写的代码可以不加修改的移植到 Linux 上,反之也可以。
在世界编程语言排行榜中,Java几乎占据着第二名的位置,仅次于C语言。

图1 世界编程语言排行榜(2014年11月)
Java是典型的面向对象的语言,晚于C++发布,部分语法和思想也参考了C++,请见下表:
| 语言 | 生日 |
|---|---|
| C语言 | 19世纪70年代初问世,1978年美国电话电报公司(AT&T)贝尔实验室正式发布C语言。 |
| C++ | 在C基础上,1983年贝尔实验室推出了C++。 |
| Java | 由Sun公司于1995年5月推出。 |
| Python | 由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。 |
| Ruby | 在20世纪90年代由日本人松本行弘开发。 |
尽管人们发现C++的语法太复杂,有很多冗余,但是 Java 在设计的时候还是尽可能的接近C++,降低人们的学习成本。Java 语法是 C++ 语法的一个“纯净”版,没有头文件、指针运算(也没有指针语法)、结构、联合、运算符重载、虚基类等。有C++基础的读者,可以轻易地切换到Java。
Java 的应用非常广泛:
Web开发:Java非常适合开发大型的企业网站,例如人人网、去哪儿网的后台都是Java。
Android开发:Android手机上APP几乎都是用Java开发的,例如QQ、微信、UC浏览器。
客户端开发:Java也可以用来开发电脑上的软件,例如Elicpse、Netbeans。
嵌入式应用:嵌入式应用就是在小型电子产品中运行的软件,例如老式手机上的软件、MP3上的软件。
但是,可以负责任的告诉你,Java 目前的主要应用方向是Web开发和Android开发,大部分IT公司招聘的Java程序员也是从事这两方面的工作。
Java 的GUI库称不上出色,很多用户不习惯它的界面;Java编写的客户端资源消耗也比较多;更重要的是,Java程序必须借助虚拟机才能运行,操作系统默认没有安装虚拟机(下节将会详细介绍)。直接投放市场的面向普通用户的客户端程序,用Java开发的很少。
在嵌入式方面,Java 很难操作底层硬件,灵活性较小,而且需要虚拟机支持,占用资源较多,对于配置很低的单片机系统来说有些吃力。所以,在力求高效、小型化、执行关键任务的应用中,最好采用汇编和C语言,例如火箭控制、传感器通信或报告宇宙飞行器的方位等。
Java 虽然是一门功能完善的语言,但是它有自己擅长的方面,也有不擅长的方面,大家在具体项目中要学会取舍。
知识加深(有java基础的同学可以继续往下看):
使用 Java 语言写程序,最简单的方式就是开启文本编辑器 (text editor) ,然后将原始源程序 (source code) 逐字符
(character) 一个一个打进文本编辑器中,然后依照文本文件的编码格式储存文件 (file) , Java 程序的源代码文件采用 .java 的副文件名
(extension)
也可以利用具有语法高亮度显示的文本编辑器,或是整合开发环境 (Integrated Development Environment, IDE) ,如下图为 Mac 系统的 Xcode
或是参考本教程的语法高亮度显示,此范例程序 Demo.java 如下:
/* 文件名: Demo.java
作者: 52ij
时间: 6月, 2015 */
// 声明类名称 public class Demo {
// 声明 main() 主方法 java中application的入口
public static void main(String[] args) {
// new一个对象 Object
Object o = new Object();
// 于控制台打印信息
System.out.println();
System.out.println(o.toString());
System.out.println("程序执行结束");
System.out.println();
}
}
下面我们来分析以上代码,首先第 2 行
public class Demo {第 4 行
public static void main(String[] args) {以及第 6 行
Object o = new Object();
public 、 class 、 static 、 void 、 new 被称为java中的关键字 (keyword) ,所谓的关键字是语法功能的保留字 (reserved word) ,具有既定特殊的用法,例如 public 为权限的修饰 (modifier) , public 表示公开的,也就是任何地方都可以读取 public 声明 (declare) 的内容。 Java 共有 50 个关键字,我们接下来会逐一介绍各个关键字的用法。
如第 6 行的 Object
Object o = new Object();
第 4 行的 String
public static void main(String[] args) {第 9 行的 System 、 out 及 println()
System.out.println();
这几个字是 API 中可直接使用的名称,属于 API 中的标识符。
另外,双引号中的内容为蓝色
System.out.println("程序执行结束");这是字符串 (string) ,所谓的字符串就是文本数据,由于 Java 采用 Unicode 编码,因此字符串内容可以是任何 Unicode 字符。
Unicode 提供数十种文本系统编码的方式,其中包括我们日常使用的中文,详细可参见维基百科的介绍。
注释 (comment) 在语法高亮度系统采用绿色,连续两个斜线为单行的注释,斜线、星号开始到另一组星号、斜线结束的范围则为多行的注释
// 声明类名称
所谓的注释就是在程序中辅助说明的文本,凡是注释文本,也就单行连续两个斜线之后的文本,或是多行斜线、星号范围间的文本,这些文本都不会被程序执行,因此可插入任何自然语言的说明字句,无须恪守 Java 的语法规则。
其他没有粗体,也没有特殊颜色的文本都是标识符 (identifier) ,所谓的标识符是我们写程序自行定义的名称,如上例中的变量 (variable) o 。事实上,许多标识符已经是默认或存在于 Java API 之中,默认如上面的 main() 与 args , main() 为方法 (method) 名称,每个可执行的 Java 程序都必须有个 main() 方法, args 则是 main() 的参数 (parameter) 名称。
Java API 提供许多已经写好,测试无误的类 (class) ,因此我们写程序可以直接使用这些类,以及其所提供的方法与属性 (field) ,方法为类进行工作的地方,属性则为类专属的数据。我们应该先认识什么是什么,往后才继续了解这些东东的用法。
上例中, Object 、 String 、 System 、 out 与 println() 都属于 API 中的标识符, Object 、 String 、 System 等三个都是类名称, out 为 System 类的属性,实际上 out 是一个对象 (object) , println() 则是 out 对象的方法。
这个范例很简单,大体上我们可以依四个单行注释分成四个区域来看,分别是
声明类名称
声明 main() 方法
建立 Object 类型的对象
于命令打印出信息
由于 Java 是面向对象程序语言 (object-oriented programming language) ,使用 Java 写程序就是设计、规划对象,而类为对象的蓝图,因此所有的 Java 程序都至少有一个类,也就是说, Java 程序都必须用 class 定义, class 就是定义类所采用的关键字。
可执行的 Java 程序则需要定义 main() 方法,这个 main() 需要用 public 与 static 修饰, public 表示公开的, static 表示可由类名称读写,这是给 Java 虚拟机 (Java Virtual Machine, JVM) 调用 (call) 之用, Java 程序实际上是由 Java 虚拟机器执行的。
new 关键字用来新建对象,变量 o 为对 Object 类型对象的实例 (reference) ,由于 Java 是强壮性 (strong typing) 的程序语言,因此变量使用前需要先经过声明 (declaration) ,声明的目的就是指定变量的数据类型 (data type) 。 new 之后接的 Object() 为 Object 类的构造函数 (constructor) ,通过构造函数就可以把类转化为对象。
底下使用 API 中 System 类 out 对象的 println() 方法,使参数一次一行印在命令列上,其中用到
System.out.println(o.toString());
println() 需要 String 类型的对象当作参数, String 类型的对象也就是字符串,双引号围起来的内容。 o 调用 o 自己的 toString() 方法,这个方法会返回 o 的字符串表达形式,也就是表示 o 的字符串对象。
如果没有提供参数给 println() , println() 就会印出新行字符,也就是印出空白行的意思。
一种类,也就是一种类型(数据类型),我们继续来看看如何编译与执行吧!
中英文术语对照
文本编辑器 text editor
原始源程序 source code
字符 character
文件 file
副文件名 extension
整合开发环境 Integrated Development Environment, IDE
关键字 keyword
保留字 reserved word
修饰符 modifier
声明 declare
注释 comment
标识符 identifier
变量 variable
方法 method
参数 parameter
类 class
属性 field
对象 object
面向对象程序语言 object-oriented programming language
Java 虚拟机 Java Virtual Machine, JVM
调用 call
引用 reference
强类型 strong typing
声明 declaration
数据类型 data type
构造函数 constructor
重点知识
1、写程序可以用文本编辑器或整合开发环境。
2、关键字是语法功能的保留字,具有既定特殊的用法。
3、Java API 中有大量可以运用的内建程序,其中在 java.lang 中的不需要额外 import ,包括 String 、 Object 、 System 等。
4、字符串为双引号围起来的文本内容。
5、连续两个斜线为单行注释,一个斜线加一个星号到一个星号到一个斜线则是多行的注释。
6、Java 是面向对象程序语言,所有程序都需要定义类,类是对象的模版,可执行的 Java 程序则需要定义 main() 方法。
7、Java 是强类型的程序语言,使用变量前需要先声明,对象用关键字 new 及构造函数建立,等号则是指派运算符。
问题与讨论
1、可以用 Word 写程序吗?有什么不方便的地方呢?
2、程序语言除了编译式的 Java 外,还有直译式的程序语言,这种程序语言是直接执行储存程序的纯文本文件,请将直译式与编译式的程序语言各举五种出来。
3、想想看应该替源程序提供哪些注释?什么地方需要?什么地方又不需要?
4、面向对象程序语言除了 Java 还有其他的吗? C 语言是吗? Python 是吗? Fortran 呢?
5、对象是程序设计的中文术语,英文原文为 object ,其实 object 就是一般中文所用‘东西’的意思,想一想平常我们是怎么运用‘东西’的,‘东西’的概念如何移植到程序设计的对象中?
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
