<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
td {font-size: 9pt;}
</style>
</head>
<body>
<table align=center width="650" border="0" cellpadding=0 cellspacing=0 style="line-height:150%">
<tr>
<td align=center><h3>第三章Java程序设计基础 </h3></td>
</tr>
<tr>
<td><strong>3.1 Java编程概况</strong><br>
现在你可以复习一下Java语言的背景材料,它的基本结构象C/C++,但任何用面向过程语言编写过程序的人都可以了解Java语言的大部分结构。<br>
<strong>3.1.1 程序结构</strong><br>
Java语言的源程序代码由一个或多个编译单元(compilation unit)组成,每个编译单元只能包含下列内容(空格和注释除外):<br>
* 一个程序包语句(package statement)<br>
* 入口语句(import statements)<br>
* 类的声明(class declarations)<br>
* 界面声明(interface declarations)<br>
每个Java的编译单元可包含多个类或界面,但是每个编译单元最多只能有一个类或者界面是公共的。Java的源程序代码被编译后,便产生了Java字节代码。Java的字节代码由一些不依赖于机器的指令组成,这些指令能被Java的运行系统(runtime
system)有效地解释。Java的运行系统工作起来如同一台虚拟机。在当前的Java实现中,每个编译单元就是一个以.java为后缀的文件。每个编译单元有若干个类,编译后,每个类生成一个.class文件。.class文件是Java虚拟机能够识别的代码。<br>
<strong>3.1.2 注释</strong><br>
三种类型如下:<br>
//注释一行<br>
/*一行或多行注释*/<br>
/**文档注释**/<br>
文档注释一般放在一个变量或函数定义前,指示在任何自动生成文档系统中调入。这些注释都是声明条目的描述。<br>
<strong>3.1.3 标识符</strong><br>
变量、函数、类和对象的名称都是标识符,程序员需要标识和使用的东西都需要标识符。在Java语言里,标识符以字符或_,$开头,后面可以包含数字,标识符是大小写有区别的,没有长度限制。有效的标识符
myname ict_network Hello _sys_path $bill<br>
例子: int a_number; char _onechar; float $bill;<br>
关键词 abstract continue for new switch boolean default goto null synchronized
break do if package this byte double implements private threadsafe byvalue
else import protected throw case extends instanceof public transient catch
false int return true char final interface short try class finally long
static void const float native super while<br>
其它保留词以下单词被保留使用: cast future generic inner operator outer rest var<br>
<strong>3.1.4 数据类型</strong><br>
Java使用五种基本类型:integer(整数),floating(浮点数),point(指针),Boolean(布尔变量),Character
or String(字符或字符串)。<br>
integer 整数<br>
下边给出的数据表示都是整数的例子: 4 , 15 , 089 , 0xAD00<br>
整数长度数据类型表示 8 bits byte 16 bits short 32 bits int 64 bits long<br>
floating 浮点数<br>
下边给出的数据表示都是浮点数的例子: 6.37 , 3.7E15 , 3e8<br>
浮点数长度数据类型表示 32 bits float 64 bits double<br>
Boolean 布尔变量<br>
下边是布尔变量的两种可能取值: true false<br>
Character 字符<br>
下边给出的都是字符的例子: a \t (tab)<br>
String 字符串<br>
下边给出的都是字符串的例子: "This is a string literal" "中国科学院计算所"<br>
数组<br>
你可以定义任意类型的数组<br>
char s[]; 这是字符型数组<br>
int [] array; 这是整型数组<br>
你还可以定义数组的数组<br>
int block[][]=new int [2][3];<br>
数组边界在运行时被检测,避免堆栈溢出和内存崩溃。在Java里,数组实际上是一个对象,数组有一个成员变量:length。你可以用这个成员函数来查看任意数组的长度。<br>
int a[][] = new int [10][3];<br>
a.length /* 10 */<br>
a[0].length /* 3 */<br>
创建数组<br>
在Java里创建数组,你可使用两种基本方法:<br>
创建一个空数组: int list[]=new int[50];<br>
你也可以用初始数值填充数组: String names[] = { "Chenji","Yuan","Chun","Yang"
};<br>
相当于下面功能:<br>
String names[];<br>
names = new String[4];<br>
names[0]=new String("Chenji");<br>
names[1]=new String("Yuan");<br>
names[2]=new String("Chun");<br>
names[3]=new String("Yang");<br>
在编译时你不能象下例那样创建静态数组。<br>
int name[50];//将产生一个编译错误<br>
你也不能用new操作去填充一个没定义大小的数组。<br>
int name[];<br>
for (int i=0;i<9;i++) {<br>
name[i] = i;<br>
}<br>
<strong>3.1.5 表达式</strong><br>
Java语言的表达式和C语言非常类似。运算符运算符(operator)优先级从高到底排列如下: . [ ] () ++ -- ! ~ instanceof
* / % + - << >> >>> < > <= >\ == ! = &
^ && || ? : = op = ,整数运算符在整数运算时,如果操作数是long类型,则运算结果是long类型,否则为int类型,绝不会是byte,short或char型。这样,如果变量i被声明为short或byte,i+1的结果会是int。如果结果超过该类型的取值范围,则按该类型的最大值取模。<br>
单目整数运算符是:<br>
运算符操作<br>
-单目非<br>
~位补码<br>
++加1<br>
--减1<br>
++运算符用于表示直接加1操作。增量操作也可以用加运算符和赋值操作间接完成。++ lvalue (左值)表示lvalue+=1,++lvalue也表示lvalue
=lvalue +1 (只要lvalue没有副作用)。--运算符用于表示减1操作。++和--运算符既可以作为前缀运算符,也可以做为后缀运算符。<br>
双目整数运算符是:<br>
运算符操作<br>
+加<br>
-减<br>
*乘<br>
/除<br>
%取模<br>
&位与<br>
|位或<br>
^位异或<br>
<<左移<br>
>>右移(带符号)<br>
>>>添零右移<br>
整数除法按零舍入。除法和取模遵守以下等式:( a/b ) * b + ( a%b ) == a 整数算术运算的异常是由于除零或按零取模造成的。它将引发一个算术异常。下溢产生零,上溢导致越界。例如:加1超过整数最大值,取模后,变成最小值。一个op=赋值运算符,和上表中的各双目整数运算符联用,构成一个表达式。<br>
整数关系运算符<, >,<=,>=,==和!=产生boolean类型的数据。布尔运算符布尔(boolean)变量或表达式的组合运算可以产生新的boolean值。<br>
单目运算符!是布尔非。双目运算符&,|和^是逻辑AND,OR和XOR运算符,它们强制两个操作数求布尔值。为避免右侧操作数冗余求值,用户可以使用短路求值运算符&&和||。用户可以使用==和!=,赋值运算符也可以用
&=、|=、^=。<br>
三元条件操作符? : 和C语言中的一样。<br>
浮点运算符<br>
浮点运算符可以使用常规运算符的组合:如单目运算符++、--, 双目运算符+、-、* 和/, 以及赋值运算符+=,-=,*=, 和/=。此外,还有取模运算,
%和%=也可以作用于浮点数,例如: a%b和a-((int) (a/b)*b)的语义相同。这表示a%b的结果是除完后剩下的浮点数部分。只有单精度操作数的浮点表达式按照单精度运算求值,产生单精度结果。如果浮点表达式中含有一个或一个以上的双精度操作数,则按双精度运算,结果是双精度浮点数。<br>
数组运算符数组运算符形式如下: <expression> [ <expression>] 可给出数组中某个元素的值。合法的取值范围是从0到数组的长度减1。取值范围的检查只在运行时刻进行。<br>
串运算符以String对象实现。运算符"+"完成并且操作,如果必要则自动把操作数转换为String型。如果操作数是一个对象,它可定义一个方法toString
( )返回该对象的String方式。例如:<br>
float a = 1.0;<br>
print (“The value of a is”+ a +“\n”);<br>
+运算符用到以上的例子 String s=“a=”+ a; +=运算符也可以用于String。注意,左边(下例中的s1)仅求值一次。 s1+=a;
//s1=s1+a<br>
//若a非String型,自动转换为String型。<br>
对象运�
评论0