第1章  Java快速入门
1.1  Java简介
1.1.1  Java的起源与发展
Java是美国Sun Microsystems公司于1995年5月正式发布的程序设计语言,它是前身是公司为智能消费类家用电器(如:电视机、电话、闹钟、烤面包机)研究而开发的,直到1993年Web开始在Internet上盛行,开发小组试着将这一技术转移到Web网络上,并获得了空前的成功。
为了促销和法律的原因,1995年Oak更名为Java,小插曲:一天Java小组成员正在喝Java咖啡时,议论给新语言取名字问题,有人提议用Java(Java是印度尼西亚盛产咖啡的一个岛屿),这个提议得到了其他成员的赞同,于是就采用了Java来命名此新语言。
表:Java的发展历史
时间 描述
1991 Sun公司进军消费电子产品(IA)市场
1991.4 Sun成立“Green”小组,以C++为基础开发新的程序设计语言,并将其命名为Oak
1992.10 Green小组升格为First Person公司,他们将Oak的技术转移至Web上,并把Oak改名为Java
1993~1994 Web在Internet上开始流行,致使Java得以迅速发展并成功
1995.5 Sun公司正式发表Java与HotJava产品
1995.10 Netscape与Sun合作,在Netscape Nevigator中支持Java
1995.12 微软公司IE加入支持Java和行列
1996.2 Java Beta测试版结束,Java 1.0版正式诞生
1997.2 Java发展至1.1版,Java的第一个开发包JDK(Java Development Kit)发布
1999.7 Java发展至1.2版
2000.9 Java发展至1.3版
2001.7 Java发展至1.4版
Java最新版本为1.4版,Java的早期版本称为JDK,1.2版之后改名为Java 2。到今天,Java的大家庭中已有了三个主要成员:
(1)J2ME:Java 2 Micro Edition用于嵌入式的Java消费电子平台。不论是无线通讯、手机、PDA等小型电子装置都可采用其作为开发工具及应用平台。
(2)J2SE:Java 2(Software Development Kit)Standard Edition是Java最通行的版本,是用于工作站、PC机的Java标准平台。也是本书应用程序的使用版本。使用Java SDK软件包。
(3)J2EE:Java 2 Enterprise Edition可扩展的企业应用Java 2平台,它提供了企业e-Business架构及Web Services服务,其深受企业用户欢迎之处是开放的标准和优越的跨平台能力。
1.1.2  Java语言特点
见书P1~4
1.1.3  Java的用途
1.用于Web的Applet
Applet是嵌入到HTML中的小应用程序,但Java语言的全部功能都可以实现,能解决一些传统编程语言很难解决的问题,如多线程、网络连接、分布式计算等。
2.独立运行的Application
Java也是一种高级编程语言,和其他语言有许多共同之处。
3.数字设备领域
目前,Sun正把Java的目标从传统的计算机应用向其他数字设备领域扩展。
4.Java应用的发展趋势
可以预见,Java在智能Web服务、移动电子商务、分布计算技术、企业的综合信息化处理、嵌入式Java技术
等方面必将得至越来越广泛的应用。
1.2  Java的运行环境
1.2.1  SDK的下载与安装
2.下载SDK
www.java.sum?单击右边“J2SE 1.4.2 SDK”?一种在线安装“Windows Installation”或离线安装“Windows Offline Installation”,单击SDK列对应的“DOWNLOAD”?“ACCEPT”同意Sun公司协议?“D
ownload j2sdk-1_4_”
注:不同时期,网页内容有所改变
1.2.2  配置Java运行环境
1.设置Windows 95/98/Me
在C:\autoexec.bat文件中,添加以下两行内容:
set path=%path%;E:\j2sdk1.4.2_01\bin   
set classpath=.;E:\j2sdk1.4.2_01\lib\;%classpath%
说明:(1)set path是让Java程序设计者在任何目录下都可以运行bin目录下的工具文件,如: , , 和 ;
(2)set classpath是让Java虚拟机到所需要的类库;
(3)“E:\j2sdk1.4.2_01”与本人安装Java的具体目录而改变;
2.设置Windows XP/NT/2000
右击“我的电脑”?“属性”?“高级”?“环境变量”在“系统变量”或“用户变量”中编辑path,在变量值中加入“;E:\j2sdk1.4.2_01\bin”
新建变量名“classpath”,变量值是“.;E:\j2sdk1.4.2_01\lin”
3.设置DOS起始位置
(1)在Windows XP/NT/2000系统中
“开始”?“程序”?“附件”?右击“命令提示符”?“属性”?“快捷方式”?在“起始位置”中输入自己想要直接进入的目录
说明:若直接在“运行”对话框中输入cmd则不行
(2)在Windows 95/98/Me系统中
可以用cd做批处理文件
1.3 初步了解Java程序
1.3.1  编写第一个Java Application程序
使用任何一个文件编辑器输入:
public class Hello{
public static void main(String args[]){
System.out.println("欢迎你学习Java语言!");  }  }
说明:(参见P19)
(1)public class指明是一个公共类,最多只能有一个公共类;
(2)main( )方法有且只有一个,且严格按照格式定义;
(3)String args[]是传递给main( )方法的参数,名为args,它是类string的一个实例,参数可以没有,可以一个或多个,每个参数用“类名  参数”来指定,多个参数间用逗号分隔;
(4)Java区分大小写;
(5)一定以公共类名相同的主文件名Hello.java存盘,且大小写一致;
1.3.2  Java程序的编译
在DOS窗口中输入:Javac Hello.java
功能:将文本文件Hello.java编译成可执行的Hello.class字节码文件
1.3.3  运行Java程序
在DOS窗口中输入:Java Hello[.class]
1.3.4  Java的Applet小程序(补充)
1.类定义
使用任何一个文件编辑器输入:
import java.awt.Graphics;
import java.applet.Applet;
public class Hello2 extends Applet{
public String s;
public void init(){
s=new String("欢迎你学习Java语言!");
}
public void paint(Graphics  g){
g.drawString(s,50,50);
}
}
2.编译成字节码文
在DOS窗口中输入:Javac Hello2.java  得Hello2.class文件
3.编写Html文件
使用任何一个文件编辑器输入:
<HTML>
<applet code="Hello2.class" width=500  height=300>
<!—注意“Hello2.class”的大小写,其余不区分大小写>
</applet>
<HTML>
以SC.html存盘
说明:因Hello2.java文件没有Main方法,所以不能独立运行
4.运行
方法一:双击SC.html文件即可调用IE打开
方法二:用Appletviewer工具,在Dos中输入:appletviewer SC.html
第2章  Java基本语法
2.1  Java语言的基本元素
2.1.1  标识符
标识符规则:必须以字母、下划线、“$”或汉字开头,后面的字符可以是字母、数字、下划线、“$”和汉字的一串字符
说明:(1)不能是Java保留的关键字;
(2)常量名一般以大写字母,变量名用小写字母,类名以大写字母开始;
(3)区分大小写,如ad、Ad、aD、Da是四个不同的标识名。
2.1.2  关键字
P20  表2.2
2.1.3  分隔符
1.注释符
(1)//  注释一行
以“//”开始,终止于行尾,一般作单行注释,可放在语句的后面
(2)/*……*/  一行或多行注释
以“/*”开始,最后以“*/”结束,中间可写多行。
(3)/**……*/
以“/**”开始,最后以“*/”结束,中间可写多行。这种注释主要是为支持JDK工具javadoc而采用的。
2.空白符
如空格、回车、换行和制表符(Tab键)。系统编译程序时,只用空白符区分各种基本成分,然后忽略它。
3.普通分隔符
(1)“.”点号:用于分隔包、类或分隔引用变量中的变量和方法
(2)“;”分号:Java语句结束的标志;
(3)“:”冒号:说明语标号;
(4)“{ }”大括号:用来定义复合语句、方法体、类体及数组的初始化;
(5)“[  ]”方括号:用来定义数组类型及引用数字的元素值;
(6)“( )”圆括号:用于在方法定义和访问中将参数表括起来,或定义运算的先后次序。
2.2  数据类型
Java要求在程序中使用任何变量之前必须先声明其类型。
Java的数据类型分为:
? 基本类型:整型、浮点型、布尔型、字符型
? 数组类型:一维数组和多维数组
? 复合类型:类、接口
2.2.1  基本数据类型
表2.3  Java基本数据类型
说明 类型 位长/b 默认值 取值范围
布尔型 boolean 1 false true , false
字节型 byte 8 0 -128~127
字符型 char 16 ‘\u0000’ ‘\u0000’~’\uffff’即0~65535
短整型 short 16 0 -32768~32767
整型 int 32 0 -231~231-1
长整型 long 64 0 -263~263-1
浮点型
(单精度) float 32 0.0 +-1.4E-45或+-3.4028235E+38
双精度 double 64 0.0 +-4.9E-324  或
+-1.797693134862315E+308
说明:
(1)一般情况下,没小数点的数字是int型,有小数点的数是double型;
(2)String(字符串)型,如:“
合肥”、“I am student” ;
(3)Java的char类型采用UniCode(国际编码标准)的新字符处理方式,即大字符编码方案,汉字和字母均看作是一个字符,占两个字节;
(4)Java程序是定义的变量若没有赋初值,Java取默认值。
C++基本数据类型有:整型(int)、字符型(char)、浮点型(float,double)、常量型
类型名 长度(字节) 取值范围
Char(signed  char) 1 -128~127
Unsigned  char 1 0~255
Short(short  int) 2 -32768~32767
Unsigned  short  2 0~65535
int(signed  int) 2 -32768~32767
Unsigned  int 2 0~65535
Long(signed  long) 4 -2147483648~2147483647
Unsigned  long 4 0~4294967295
Float 4 +-3.4*10e-38 ~ +-3.4*10e38
Double 8 +-1.7*10e-308~ +-1.7*10e308
Long  double 8 +-1.7*10e-308~ +-1.7*10e308
2.2.2  直接量与常量
直接量(literal)是指在程序中直接给出的一个符号串,即其它语言称为的常量。
Java的常量用final说明,约定常量标识符一般全部使用大写字母,常量在程序执行时不可更改。
如:final int i=1;
i=i+1;    //错,i是final(常量),不可更改值
1.布尔型常量
true  、  false
注意:Java中的布尔型常量不能与0、-1、1等数字
例:
boolean A,b,C;
A=false; 
b=true;
C=1;    //错
boolean D=True;  //错,“True” 首字大写
2.整型常量
例:  45  , 045  ,0x45  ,  45L
int  a=10    ;        // 十进制
int  b=020  ;        // 八进制  以“0”(零)开头
int  c=0x3A  ;      // 十六进制 以“0x”开头
int  d=71  , Y=91  ;  //  对
int  M=0xd1 , N=091 ;  // 错 “091”是八进制,不能有9
说明:整型常量默认为32位int型,若在数值后加L或l,则表示为64位长整型
3.浮点型常量
例:  3.45  ,  4.512E12    4.5F  4.5D
说明:(1)默认类型为64位double双精度类型(D或d),数字后面加F或f则是32位float单精度(实数)类型
(2)double类型值有效空间大,但运行慢,结果精度不高
float  a , b ;  double  x , y , z  ;
a=7.4 ;    //错, 7.4默认是double型,不能赋予精度低的float型
b=7.4F ;
x=7.4E5;
y=7.4E5D ;
z=7.4E5F;    //对
4.字符常量
字符常量是由单引号括起来的单个字符,它可以是UniCode字符集中的任意一个字符。如  ‘A’ ‘#’  ‘宋’  ‘6’
转义符号见P23 表2.4
5.字符串常量
用一对双引号起来的字符序列。
例: “ABCD”  “学习Java”
public class SC{
public static void main(String arg[]){
String  a="我是安徽\n合肥人";  //  “\n” 表示换行
String  b='%' ;  //错  ‘%’是字符型,不能赋予String型
System.out.println(A);  //错  A改为a
}  }
2.2.3  变量
Java通常用小写字母或单词作为变量名。
变量具有名字、类型、值三元素
1.变量的声明
格式:类型  变量名[,变量名]=初值,… ;
赋值:[类型]  变量名=值
如:int a=5 ,  b=6 , c , d  ;
St
ring s=”合肥” ;
float  m , n ;
m=6.78f ;
说明:
(1)变量名必须在作用域中是唯一的,不同作用域中才允许相同名字的变量出现;
(2)只要在同一代码块没有同名的变量名,可以在程序中任何地方定义变量,一个代码块就是两个相对的“{  }”之间部分。
2.变量的使用范围
每个变量的使用范围只在定义它的代码块中,包括这个代码块中包含的代码块。
在类开始处声明的变量是成员变量,作用范围在整个类;
在方法和块中声明的变量是局部变量,作用范围到它的“}”;
见P25  例2.4:
例:public class SC{
int i=0;
public static void main(String arg[]){
int  i=1;
System.out.println(i);    } }  //  输入  1
3.变量类型的转换
Java可以将低精度的数字赋值给高精度的数字型变量,反之则需要强制类型转换。
强制转换格式:(数据类型)数据表达式
如:int i;
float  f=(float)34.6;  // 34.6默认是双精度,float f=34.6F也对
i=(int)f;
System.out.println(f);  // 输出34.6
System.out.println(i);  // 输出34
byte    short  char    int      long    float        double
字节型  短整型  字符型  整型  长整型  单精度实型  双精度实型
低                                              高
2.3  运算符与表达式(与C、C++相同)
2.3.1  赋值运算符
简略形式 非简略形式
i+=j i=i+j
i-=j i=i-j
i*=j i=i*j
i/=j i=i/j
I%=j i=i%j
例:a=b=c=0 ;  相当于c=0 ,  b=c ,  a=b ;
例:  int  k=10;  double  x=10, y=20 ;
k/=4 ;    // 2
x+=10;  // 20
y*=y;    // 400
例: int  i=10  , j=3 ;
i*=j+2  //  50 
2.3.2  算术运算符
见P28 表2.7
例  int i=1;
System.out.println(i++);  // 输出 1
System.out.println(++i);  // 输出 3
2.3.3  关系运算符
等于 不等于 小于 小于等于 大于等于 大于
== != < <= >= >
如:public class SC{
public static void main(String arg[])
入门的java游戏小程序
{  boolean  x , y ;
int  i=5 ,  j=2 ;
x=(i-4)= =(j-1) ;
int  a=1 ;  double  b=1.0 ;
y=a= =b;
int  m=65 ; char  n='A' ;
System.out.println(x) ;  // 输出true
System.out.println(y) ;  // 输出true
System.out.println(m= =n) ;  // 输出true
}}
2.3.4  条件运算符
格式:条件表达式  ?  表达式2 :表达式3
功能:条件表达式为true,取“表达式2”值,为false,取“表达式3”的值
例:  int a=0x10 , b=010 , max ;
max=a>b ? a : b  ;
System.out.println(max) ;    // 输出16
2.3.5  逻辑运算符
见P29 表2.9
2.3.6  位运算符(不做要求)
2.3.7  其他运算符
见P32 表2.11
instanceof : 对象运算符,用于测试一个对象是否是一个指定类的实例
例:有一个称为shape的类,shape的子类是polygonShape,如果有一个存储shape的变量实例shapeHolder,如何知道它是否是一个polygonShape呢?下述代码段会帮助

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。