




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章预备知识,1.1为什么要使用Java?1.2Java的开发环境及其设置1.3Java语言的数据类型1.4Java程序中的标识符、关键字和分隔符1.5Java中变量的作用范围1.6小结,1.1为什么要使用Java,简单的Java语言的简单性主要体现在三个方面:1.Java的风格类似于C+,从某种意义上讲,是C与C+的一个变种,因此,C+程序员可以很快掌握Java。2.Java摒弃了C+中容易引发程序错误的特征,如:指针、结构以及内存管理等。3.Java中提供了丰富的类库,可以帮助我们很方便的开发Java程序。,面向对象的面向对象可以说是Java最重要的特征,所以它支持封装、继承、多态等面向对象的特征。Java语言的设计是完全面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。,健壮的Java也是一种强类型的语言,其类型检查比C+还要严格,可以帮助我们检查出许多开发早期出现的错误。Java自己负责内存管理,提供了垃圾内存回收机制,有效的避免了C+中最头疼的内存泄露问题。,安全的一方面,在Java语言里,删除了指针和释放内存等C+功能,避免了非法内存操作。另一方面,通过Java的安全体系架构来确保Java代码的安全性。当我们能从网上下载Java代码在本地执行时,Java的安全架构能确保恶意的代码不能随意访问我们本地计算机资源。例如,删除文件,访问本地网络资源等操作都是被禁止的。,解释的Java代码是解释执行的,我们使用Java编译器将Java代码编译成字节码,这是一种中间代码,然后由Java解释器解释执行。,例:一个java源文件,文件名为Mytest.java编译程序:javacMytest.java运行程序:javaMytest,与平台无关的Java作为一种网络语言,其源代码被编译成一种结构中立的中间文件格式。只要有Java运行的系统都能执行这种中间代码(字节码)。Java源程序被编译成一种与机器无关的字节码格式,在Java虚拟机(JVM)上运行。,多线程的Java语言的一个重要特性就是支持多线程的程序设计。多线程就好像我们做一张桌子,如果你一个人完成这张桌子-就好像单线程,那么你需要先做桌面,做完桌面后,再做4个桌子腿,如果现在有5个人来做桌子-在程序中开辟5个线程,其中1个人做桌面,另外4个人做桌子腿,效率将大大提高。,1.2Java的开发环境及其设置,一.开发环境JDK1996年,sun公司的Java1.0版本正式推出。Java的早期版本成为JDK(JavaDevelopmentKit),如JDK1.0,JDK1.02,JDK1.1.5等。1999年升级为1.2版,并改称为JAVA2。2000年9月升级为1.3版,2001年7月推出了1.4版。,本书所讲的程序可在该环境下编译和运行,所使用的具体版本是j2sdk1.4.2。若没有改变安装路径,则安装在c:j2sdk1.4.2目录下,该目录下有个子目录bin,编译和运行Java程序的命令都在该目录下。,例:编译并运行以下程序publicclassMytestpublicstaticvoidmain(Stringargs)System.out.println(WelcometoBeijing!);,文件的编辑:,记事本,ultraedit,二、环境变量的设置在编译和运行java源程序的时候,需用到java.exe和javac.exe命令,它们默认在c:j2sdk1.4.2bin目录下。,途径1:在命令行键入setpath=c:j2sdk1.4.2bin,缺点:设置只在当前dos窗口有效。,途径2:设置系统环境变量,“我的电脑”-“属性”-“高级”-“环境变量”-“系统变量”,1.3Java语言的数据类型,整数类型byte、short、int、long,数据类型,简单数据类型,复合数据类型,数值类型,字符型char,布尔类型boolean,浮点类型float、double,类class,接口类型interface,数组类型,表1Java语言的基本数据类型,1整型Java语言的整型数据与C/C+相似,按照存储位的不同,分为byte、short、int、long四种,分别表示从8位到64位的整数。,其中,int和long类型是最常用的类型,而byte类型经常用在字节码数据中,比如网络传输数据或进行二进制数据的输入/输出时。由于short类型在使用时要求数据的存储须先高字节后低字节,在某些机器中可能会出错,故使用较少。,表1-2整型数属性表,Java的整数可以用十进制、八进制和十六进制来表示:八进制数以0打头:数字字符为07;十六进制数用0 x(0X)打头:数字字符为09、af或AF。,例如:78.69L、011、0 x1234等都表示一个整型常量。,一个整型数隐含为int型,如果需要long类型的数,必须在该数后加上字母l(L)。,2浮点型Java的浮点类型分为两种:单精度浮点数和双精度浮点数,分别用关键字float和double来表示。,表1-3实型数属性表,浮点数的隐含类型为double型,当我们要定义一个float型的数时,必须在该数后加字母f,告诉编译器该数为float类型。,判断下列语句是否正确:floata1=1.2f;floata2=3.5;doublea3=4.6d;doublea4=2.0;,注意:不管是double型还是float型,当对实数使用比较运算符“=”时,由于精度的取值问题,必须小心使用。,3字符型占两个字节内存。,下面用关键字char定义一个字符变量:chara1=b;chara2=98;(不提倡),同C/C+相同,Java字符集中一些不能显示的控制字符可以用转义序列来表示,如表2.3所示。,表1-4转义字符表,4布尔型Java中布尔型变量只有两个值:真(true)或假(false)。,例2.While(ture/false),例1.booleansign=true;,与C/C+不同,布尔型数据是独立的数据类型,所以既不能将整数值赋给布尔变量,也不能将布尔类型的数转换成整型或其他类型。,类型转换,规则:表示数的范围小的数据类型可以自动向表示数的范围大的类型转换,反之则必须强制转换。,表1-5数据类型自动转换的规则,例如:longlongVar=12345;/int类型数据自动转换为long型并赋值doubledoubleVar=1.2ffloatc=9.83244665757LintintVar=(int)3.45f;floatfloatVar=(float)1.2;,Java中的复合数据类型:包括类(class)、数组和接口(interface)。,字符串(String)不是简单的数据类型,是复合数据类型(“类”类型),但在Java语言中可以像使用简单类型一样来使用它。,这里重点讲字符串类型。,一个字符串常量是用双引号括起来的0个或多个字符组成的序列。例如:“”-表示一个空字符串。“HelloWorldn”-表示字符串HelloWorld,n是回车换行符。,字符串的连接:字符串可以通过连接符“+”进行连接。,例如:“Wecometo”+”Beijing”等价于“WecometoBeijing”,例:执行下列程序,输出结果为多少?()publicclassApublicstaticvoidmain(Stringargs)Stringstr=“456”;inta=7,b=8;System.out.println(“str=”+str+a+b);A.str=45615B.str=45678C.str=456+7+8D.编译错误,B,1.4Java程序中的标识符、关键字和分隔符,1.4.1标识符,Java语言的标识符必须由数字、字母、下划线或美元符号($)组成,其中首字符不能是数字。标识符长度不限。,标识符区分大小写,不能以数字开头,不能插入空格等,也不能以关键字命名。在程序中标识符用来给类、接口、方法、变量或类对象命名。为提高程序的可读性,用标识符命名最好见名知意。,为使非英语国家的程序员方便地用自己的母语定义标识符,Java标识符采用Unicode字符集,可为任意长度。,下面是合法的标识符:intVariable、doubleVariable、var2、_var3、double1、booleanture、浮点数2,下面的标识符不合法:var1(不能有空格)、1var(不能以数字开头)、var%(含有非法字符%)、do(关键字),Java语言关于标识符命名的一些约定:,1.类名和接口名的第一个字母大写,如String、System等。2.方法名的第一个字母小写,如main(),print(),println()。3.为使程序可读性强,做到见名知意,通常类名和方法名比较长,由名词、动词或它们的组合来命名。类名首字母大写,后面各单词首字母大写。方法名的首字母小写,后面各单词首字母大写。如,输入流类InputStream、数据输出流类DataOutputStream,方法setColor()、actionPerformed()等。4.常量(用关键字final修饰的变量)全部用大写,单词间用下划线隔开。如TEXT_PROPERTY。5.变量名或一个类的对象名首字母小写。6.Java的关键字都小写。,表1-6变量的缺省初始值,1.4.2关键字,Java中的关键字有50个,按用途可分为如下几组:,用于数据类型:byte,short,int,long,float,double,char,boolean,false,true,new,null,void,instanceof。,用于语句:break,case,catch,continue,defaule,do,else,finally,for,if,return,super,switch,this,throw,try,while.,用于修饰:abstract,final,native,private,protected,public,static,synchronized,transient,volatile。,用于方法、类、接口、包:class,extends,implements,interface,package,import,throws。,保留字:const,goto,1.4.3分隔符,1.java语言的注释块注释:多行注释/*注释部分*/*文档注释部分*/行注释:仅用于单行注释/注释部分2.空白符空格、回车、换行、制表符(Tab键)等,3.其它分隔符大括号-用来定义类体、方法体、复合语句和数组初始化、一对大括号括起来的代码段都是一个语句块。分号(;)-语句结束标志逗号(,)-区分各个变量,区分方法的参数冒号(:)-用于语句标号中,1.5Java中变量的作用范围,首先看Java中变量的声明:,在使用任何变量之前必须先定义。,如果是基本数据类型,在声明变量类型的同时,可以为它赋初值。,例:inta=1,b=2;,如果是复合数据类型,声明完数据类型后,还要用关键字new为其分配内存单元,否则取值为null,即不指向任何内存空间。,例:intarray1=newint5;for(i=0,i5,i+)arrayi=i+1;,在类体中定义的类成员变量,在该类的各个成员方法中均可以使用。在某个方法中定义的变量,仅能在该方法中使用。在if语句、while语句、for语句等复合语句中定义的变量,仅在它所在的块中有效。,需要说明的是:方法体中的变量必须初始化(赋值)后才能使用,而类中的变量可自动初始化,后面详述。,例:下面程序演示了常量的定义、变量的定义和其作用范围。,classMyTest1staticcharcharVar=t;/定义字符型变量charVarstaticfinalfloatfloatVar=3.14159f;/定义浮点型常量floatVarpublicstaticvoidmain(Stringargs)StringstringVar=“java”;/变量stringVar在该语句块中有效,System.out.print(类中定义:floatVar=+floatVar+charVar+strin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论