JAVA语言之基础篇

JAVA语言之基础篇

(2011.09 陆岛整理)

 

 

JAVA的历史

 

Java技术是由美国Sun公司倡导和推出。其历史概要如下:

l         1990年,Sun公司James Gosling领导的小组设计了一种平台独立的语言Oak,主要用于为各种家用电器编写程序。

l         19951月,Oak被改名为Java

l         1995523Java正式诞生。Sun公司在Sun World 95上正式发布JavaHotJava浏览器。

l         19961月,Sun公司成立JavaSoft部,以开发、销售并支持基于Java技术的产品。同时推出Java开发工具包JDKJava Development Kit1.0

l         19963月,Sun公司推出Java WorkShop

l         19968月,JavaWorkShop成为Sun公司通过互联网提供的第一个产品。

l         19969月,Addison-WesleySun公司推出Java虚拟机规范和Java类库。

l         19966月,Sun公司发布JSP1.0,同时推出JDK1.3Java Web Server 2.0。公司发布JAVA的三个版本:标准版(J2SE),企业版(J2EE),微型版(J2ME)

l         19982月,JDK1.1累计被下载超过2,000,000次。

l         199911月,Sun公司发布JSP1.1,同时推出JSWDK1.0.1Java Servlet 2.2

l         20009月,Sun公司发布JSP1.2Java Servlet 2.3 API

l         20022月,Sun公司发布J2SE1.4,至此JAVA的运算能力有了大幅提高。

l         20049月,Sun公司发布J2SE 1.5发布。这是一个里程碑式的版本,为了表示该版本的重要性,J2SE 1.5 更名为 Java SE 5.0

l         200612月,Sun公司布布 JRE 6.0

l         20094月,甲骨文74亿美元收购Sun。取得java的版权。从此 JAVA 属于 Oracle公司。

l         20109月,JDK7.0已经发布,增加了简单闭包功能。   

l         20117月,甲骨文公司发布java7的正式版。

 

 

JAVA 语言的基本情况

 

Java语言是一种优秀的编程语言。它最大的优点就是与平台无关,在Windows 9xWindows NTSolarisLinuxMacOS以及其它平台上,都可以使用相同的代码。一次编写,到处运行的特点,使其在互联网上被广泛采用。Java语言的语法结构与C++语言的语法结构十分相似,是一种比C++语言还面向对象的一种编程语言。

 

相当对C++Java新特性包括:

1、提供了对内存的自动管理,程序员无需在程序中进行分配、释放内存,那些可怕的内存分配错误不会再打扰设计者了;

2、去除了C++语言中的令人费解、容易出错的指针,用其它方法来进行弥补;

3、避免了赋值语句(如a = 3)与逻辑运算语句(如a = = 3)的混淆;

4、取消了多重继承这一复杂的概念。

 

Java语言是一种解释型语言,相对于C/C++语言来说,用Java语言写出来的程序效率低,执行速度慢。但它正是通过在不同平台上运行Java解释器,对Java代码进行解释,来实现“一次编写,到处运行”的宏伟目标的。但由于Java语言采用了两种手段,使得其性能还是不错的。

1Java语言源程序编写完成后,先使用Java伪编译器进行伪编译,将其转换为中间码(也称为字节码),再解释;

2、提供了一种“准实时”(Just-in-TimeJIT)编译器,当需要更快的速度时,可以使用JIT编译器将字节码转换成机器码,然后将其缓冲下来,这样速度就会更快。

 

Java是一种动态的语言,这表现在以下两个方面:

1、在Java语言中,可以简单、直观地查询运行时的信息;

2、可以将新代码加入到一个正在运行的程序中去。

 

Java编译器生成的是一种中性的对象文件格式。也就是说,Java编译器通过伪编译后,将生成一个与任何计算机体系统无关的“中性”的字节码。

 

Java通过Java虚拟机(JVM)作为可运行Java代码的假想计算机。JVM 通过在不同平台上运行Java解释器,对Java代码进行解释并执行。JVM根据操作系统不同有相应的版本。因此能实现在不同的操作系统上执行统一的JAVA语言。

 

 

 


最基本的Java程序

 

Java程序是由类(class)所组成,因此在完整的Java程序里,至少需要有一个类。如下:

          范例:

public class Test  //定义publicTest

{

}

 

Java程序是由一个或一个以上的类组合而成,程序起始的主体也是被包含在类之中。这个起始的地方称为main(),用左右大括号将属于main()段内容包围起来,称之为method(方法)。

main()方法为程序的主方法,在一个Java程序中有且只能有一个main()方法,它是程序运行的开端,通常看到的main() method如下面的语句片段所示:

          范例:

public static void main(String args[])  // main() method,主程序开始

{

}

 

main() method之前必须加上public static void 这三个标识符。public代表main()公有的methodstatic表示main()在没有创建类对象的情况下,仍然可以被运行;void则表示main()方法没有返回值。Main后的括号()中的参数String args[]表示运行该程序时所需要的参数,这是固定的用法。

 

 

JAVA语法基础

 

Java程序的注释

 

单行注释: 就是在注释内容前面加双斜线(//

:

int num ;  // 定义一个整数

 

多行注释: 就是在注释内容前面以单斜线加一个星形标记(/*)开头,并在注释内容末尾以一个星形标记加单斜线(*/)结束。

如下所示:

/*

int c = 10 ;

int x = 5 ;

*/

 

文档注释: 是以单斜线加两个星形标记(/**)开头,并以一个星形标记加单斜线(*/)结束。

用这种方法注释的内容会被解释成程序的正式文档,并能包含进如javadoc之类的工具生成的文档里,用以说明该程序的层次结构及其方法。

 

Java中的标识符

 

Java中的包、类、方法、参数和变量的名字,可由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是Java中的保留关键字。

·下面是合法的标识符:

yourname

your_name

_yourname

$yourname

·下面是非法的标识符:

class

67.9

Hello Careers

 

Java的关键字

 

和其他语言一样,Java中也有许多保留关键字,如publicstatic等,这些保留关键字不能当作标识符使用。下面列出了Java中的保留关键字,这些关键字并不需要读者去强记,因为一旦使用了这些关键字做标识符时,编辑器会自动提示错误。

Java中的保留关键字:


Abstract

boolean

break

byte

case

catch

char

class

continue

default do

double

else

extend

false

final

finally

float

for

if

implement import instanceof

int

interface

long

native

new

null

package

private

protected

public

return

short

static

synchronized super

this

throw

throws

transient

true

try

void

volatile

while


要特别注意的是,虽然gotoconstJava中并没有任何意义,却也是保留字,与其它的关键字一样,在程序里不能用来做为自定义的标识符。

 

Java的变量声明

 

  变量的声明:变量类形 变量名称 [[符值符] 变量值];中间用空格分隔。

例如:

int N; // 声明N为整数变量

int N = 0; // 声明N为整数变量并将0赋予变量N

char C; // 声明C为整数字符变量

char C = ’A’; // 声明C为整数字符变量并将字符“A 赋予变量C

 

可以同时声明多个变量,每个变量之间以逗号分开。

例如:

int num1, num2, num3; // 同时声明num,num1,num2为整数变量

 

Java的基本数据类型

 

类型

存储空间(字节)

大小

 

byte (字节型)

1

-128~127

 

short(短整型)

2

-215~215-1

 

int(整型)

4

-231~231-1

三种表示方式:十进制,八进制:以0开头,十二进制:以0x开头。

long(长整型)

8

-263~263-1

Long类型可以在后面加 “l” “L”,如 long longValue=124L

float(浮点型)

4

-3.403E38~3.403E38

float类型可以在后面加 “f”,如 float floatValue=0.1f

double(双精度)

8

-1.798E308~1.798E308

 

char(字符型)

1

使用Unicode单字符

字符用英文的单引号(’)标识

Boolean(逻辑型)

1

true/false

 

 

 

 

 

 

数据类型的转换:  int a = (int){0.25};

 


Java的运算符

 

算术运算符

+

-

*

/

% 取余

++ 累加1

-- 累减1   

 

i++++i的区别:i++ 是先将变量与其他运算符进行运算后,再执行++++i 是先将执行++再将累后的i的结果与其他运算符进行运算。

例如:

int i = 1;

执行: int j = i++ + 10; // 结果是 j=11; i=2;

执行: int j = ++i + 10; // 结果是 j=12; i=2;

 

关系运算符

> 大于

< 小于

>= 大于并等于

<= 小于并等于

== 等于

!= 不等于

 

逻辑运算符

!

&

|

^ 异或

&& 短路与

|| 短路或

 

&&|| 运算时,只要运算符中有一条符合条件即中止后面的表达式。

 

赋值运算符=

扩展的赋值运算符有:+=-=*=/=;  

i+=5 相当与 i = i + 5; 同理其他(-=*=/=)类似。

 

位运算符

~ 按位非(NOT)(一元运算) 

& 按位与(AND 

| 按位或(OR 

^ 按位异或(XOR 

>> 右移 

<< 左移 

 

&= 按位与赋值 

|= 按位或赋值 

^= 按位异或赋值 

>>= 右移赋值 

<<= 左移赋值 

>>>= 右移赋值,左边空出的位以0填充 

>>> 右移,左边空出的位以0填充

 

posted @ 2011-09-18 22:46 陆岛工作室 阅读(...) 评论(...) 编辑 收藏