第1章java的基础知识_第1页
第1章java的基础知识_第2页
第1章java的基础知识_第3页
第1章java的基础知识_第4页
第1章java的基础知识_第5页
已阅读5页,还剩36页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章 预备知识 第第1章章 Java基础知识基础知识 1.1 Java语言的特点语言的特点 1.2 Java的开发环境及其设置的开发环境及其设置1.3 Java语言的数据类型语言的数据类型1.4 Java程序中的标识符、关键字和分隔符程序中的标识符、关键字和分隔符1.5 Java中变量的作用范围中变量的作用范围1.6 小结小结第1章 预备知识 1.1 Java语言的特点语言的特点 简单的(简单的(simple)Java语言的简单性主要体现在三个方面:语言的简单性主要体现在三个方面:1.Java的风格类似于的风格类似于C+,从某种意义上讲,是,从某种意义上讲,是C与与C+的一个变种,因此,的一

2、个变种,因此,C+程序员可以很快掌握程序员可以很快掌握Java。2.Java摒弃了摒弃了C+中难以掌握和可能不安全的功能,中难以掌握和可能不安全的功能,如:指针、运算符重载和多重继承等。如:指针、运算符重载和多重继承等。3.Java中提供了丰富的类库,可以帮助我们很方便中提供了丰富的类库,可以帮助我们很方便的开发的开发Java程序。程序。第1章 预备知识 面向对象的(面向对象的(object-oriented) 面向对象的设计是指使用面向对象的思考方式面向对象的设计是指使用面向对象的思考方式来设计问题的解决方案。面向对象可以说是来设计问题的解决方案。面向对象可以说是Java最重要的特征,所以它

3、支持最重要的特征,所以它支持封装、继承、封装、继承、多态多态等面向对象的特征。等面向对象的特征。Java语言的设计是完语言的设计是完全面向对象的,它不支持类似全面向对象的,它不支持类似C语言那样的面语言那样的面向过程的程序设计技术。向过程的程序设计技术。 第1章 预备知识 健壮的(健壮的(robust) Java也是一种强类型的语言,其类型检查比也是一种强类型的语言,其类型检查比C+还要严格,可以帮助我们检查出许多开发还要严格,可以帮助我们检查出许多开发早期出现的错误。早期出现的错误。Java自己负责内存管理,提自己负责内存管理,提供了供了垃圾内存回收垃圾内存回收机制,有效的避免了机制,有效的

4、避免了C+中中最头疼的最头疼的内存泄露内存泄露问题。问题。第1章 预备知识 安全的(安全的(secure) 一方面,在一方面,在Java语言里,删除了指针和释放语言里,删除了指针和释放内存等内存等C+功能,避免了非法内存操作。另一功能,避免了非法内存操作。另一方面,通过方面,通过Java的安全体系架构来确保的安全体系架构来确保Java代代码的安全性。当我们能从网上下载码的安全性。当我们能从网上下载Java代码在代码在本地执行时,本地执行时,Java的安全架构能确保恶意的代的安全架构能确保恶意的代码不能随意访问我们本地计算机资源。例如,码不能随意访问我们本地计算机资源。例如,删除文件,访问本地网

5、络资源等操作都是被禁删除文件,访问本地网络资源等操作都是被禁止的。止的。 第1章 预备知识 解释的(解释的(interpreted) Java代码是解释执行的,我们使用代码是解释执行的,我们使用Java编译器将编译器将Java代码编译成代码编译成字节字节码(码(bytecodes),这是一种与操作系统无关的中间代码。若要运行,这是一种与操作系统无关的中间代码。若要运行Java程序,只要在平台上安装程序,只要在平台上安装JVM(Java Virtual Machine),通过,通过JVM即可将字节码转换成目标平台所接受的原始机器语言,从而使即可将字节码转换成目标平台所接受的原始机器语言,从而使得

6、得Java程序可以在不同的平台上运行。程序可以在不同的平台上运行。Java源程序源程序(*.java文件文件)Java编译器编译器字节码字节码(*.class文件文件)JVM二进制二进制例:一个例:一个java源文件,文件名为源文件,文件名为Mytest.java编译程序:编译程序:javac Mytest.java运行程序:运行程序:java Mytest第1章 预备知识 可移植的(可移植的(Portable) 要让程序跨平台运行并不是一件容易的事,有要让程序跨平台运行并不是一件容易的事,有相当多因素必须考虑,例如数据类型所占的内相当多因素必须考虑,例如数据类型所占的内存长度就是一个问题,存

7、长度就是一个问题,Java在不同平台上的数在不同平台上的数据类型长度是同一的,而据类型长度是同一的,而C/C+则不然,这是则不然,这是Java在提高程序可移植性上最显而易见的一个在提高程序可移植性上最显而易见的一个例子。例子。 (Write once,Run anywhere)第1章 预备知识 多线程的多线程的 Java语言的一个重要特性就是支持多线程的程语言的一个重要特性就是支持多线程的程序设计。多线程就好像我们做一张桌子,如果序设计。多线程就好像我们做一张桌子,如果你一个人完成这张桌子制作,就好像单线程。你一个人完成这张桌子制作,就好像单线程。那么你需要先做桌面,做完桌面后,再做那么你需要

8、先做桌面,做完桌面后,再做4个个桌子腿,如果现在有桌子腿,如果现在有5个人来做桌子,即在程个人来做桌子,即在程序中开辟序中开辟5个线程,其中个线程,其中1个人做桌面,另外个人做桌面,另外4个人做桌子腿,将工作效率大大提高。个人做桌子腿,将工作效率大大提高。第1章 预备知识 1.2 Java的开发环境及其设置的开发环境及其设置1、开发环境、开发环境JDK 1996年,年,sun公司的公司的Java 1.0版本正式推出。版本正式推出。Java的早的早期版本成为期版本成为JDK(Java Development Kit),如),如JDK 1.0,JDK 1.02,JDK 1.1.5等。等。1999年

9、升级为年升级为1.2版,版,并改称为并改称为JAVA 2。2000年年9月升级为月升级为1.3版,版,2001年年7月月推出了推出了1.4版,目前使用的较多的为版,目前使用的较多的为1.6版。版。课程所讲的程序可在该环境下编译和运行,所使用的具课程所讲的程序可在该环境下编译和运行,所使用的具体版本是体版本是jdk1.6.0_07。若没有改变安装路径,则安装在。若没有改变安装路径,则安装在C:Program FilesJavajdk1.6.0_07目录下,该目录下有目录下,该目录下有个子目录个子目录bin,编译和运行编译和运行Java程序的命令都在该目录下。程序的命令都在该目录下。第1章 预备知

10、识 例:编译并运行以下程序例:编译并运行以下程序public class Mytestpublic static void main(String args) System.out.println(Welcome to Beijing! ); 第1章 预备知识 Java文件的编辑器:文件的编辑器:记事本记事本Ultraedit第1章 预备知识 2、Java应用平台应用平台l Java SE(Standard Edition) Java各种应用的基础平台,其主要包括4个部分:JVM (Java Virtual Machine) 、JRE( Java Runtime Environment )、J

11、DK( Java Development Kits)和Java语言。l Java EE(Enterprise Edition)Java EE是以Java SE为基础,专门为企业开发的、体系庞大的Java版本,其定义了一系列的服务、API(Application Programming Interface)和协议等适用于开发分布式的、多层式的、以组件为基础的、以Web为基础的应用程序。l Java ME(Micro Edition)Java ME是Java平台版本最小的一个,目的是作为小型数字设备上开发及部署应用程序的平台,如手机、PDA、股票机等。第1章 预备知识 3、环境变量的设置、环境变量

12、的设置在编译和运行在编译和运行java源程序的时候,需用到源程序的时候,需用到java.exe和和javac.exe命令,它命令,它们默认在们默认在C:Program FilesJavajdk1.6.0_07 bin目录下。目录下。途径途径1:在命令行键入:在命令行键入 set path= C:Program FilesJavajdk1.6.0_07 bin缺点:设置只在当前缺点:设置只在当前dos窗口有效。窗口有效。途径途径2:设置系统环境变量:设置系统环境变量“我的电脑我的电脑”-“属性属性”-“高级高级”-“环境变量环境变量”-“系统系统变量变量”第1章 预备知识 1.3 Java语言的

13、数据类型整数型整数型 byte、short、int、long数据类型数据类型基本数据类型基本数据类型复合数据类型复合数据类型数值型数值型字符型字符型 char布尔类型布尔类型 boolean浮点型浮点型 float、double类类 class 接口类型接口类型 interface数组类型数组类型 array第1章 预备知识 类型名称关键字占用位数取值范围字节型byte1字节(8位) -128127短整型short2字节(16位)-3276832767整型int4字节(32位)-231231-1长整型long8字节(64位)-263263-1单精度浮点型float4字节(32位)1.4e-45

14、f1.4e+38f双精度浮点型double8字节(64位)4.9e-3241.797e+38char2字节(16位)065535或0000uFFFFboolean1字节(8位) ture和false整数小数 字符型 布尔型 表表1 Java语言的基本数据类型语言的基本数据类型第1章 预备知识 1整型整型 Java语言的整型数据与语言的整型数据与C/C+相似,按照存相似,按照存储位的不同,分为储位的不同,分为byte、short、int、long四种,分四种,分别表示从别表示从8位到位到64位的整数。位的整数。 其中,其中,int和和long类型类型是最常用的类型,而是最常用的类型,而byte类

15、型经常用在字节码数据中,比如网络传输数据或类型经常用在字节码数据中,比如网络传输数据或进行二进制数据的输入进行二进制数据的输入/输出时。由于输出时。由于short类型在类型在使用时要求数据的存储须先高字节后低字节,在某使用时要求数据的存储须先高字节后低字节,在某些机器中可能会出错,故使用较少。些机器中可能会出错,故使用较少。第1章 预备知识 数据类型数据类型 占用字节占用字节 取值范围取值范围 byte 1 -2727-1 short 2 -215215-1 int 4 -231231-1 long 8 -263263-1表表1-2 整型数属性表整型数属性表 第1章 预备知识 一个整型数默认为

16、一个整型数默认为int型,如果需要型,如果需要long类型类型的数,必须在该数后加上字母的数,必须在该数后加上字母l (L)。Java的整数可以用十进制、八进制和十六进制来表示:的整数可以用十进制、八进制和十六进制来表示:八进制数以八进制数以0打头打头:数字字符为数字字符为07;十六进制数用十六进制数用0 x(0X)打头打头:数字字符为数字字符为09、af或或AF。例如:例如:78L、011、0 x1234等都表示一个整型常量。等都表示一个整型常量。第1章 预备知识 2浮点型浮点型 Java的浮点类型分为两种:单精度浮点数和双的浮点类型分为两种:单精度浮点数和双精度浮点数,分别用关键字精度浮点

17、数,分别用关键字float和和double来表示。来表示。 数据类型数据类型 占用字节占用字节 取值范围取值范围 float 4 1.4e-0453.4e+038 double 8 4.9e-3241.8e+308表表1-3 实型数属性表实型数属性表 第1章 预备知识 浮点数的默认类型为浮点数的默认类型为double型,当我们要定型,当我们要定义一个义一个float型的数时,必须在该数后加字母型的数时,必须在该数后加字母f,告,告诉编译器该数为诉编译器该数为float类型。类型。判断下列语句是否正确:判断下列语句是否正确: float a1=1.2f; float a2=3.5; double

18、 a4=2.0; 注意:不管是注意:不管是double型还是型还是float型,当对实数使型,当对实数使用比较运算符用比较运算符“= =”时,由于精度的取值问题,必时,由于精度的取值问题,必须小心使用。须小心使用。第1章 预备知识 3字符型字符型 (char) 字符型数据用于存储单个字符,字符以字符型数据用于存储单个字符,字符以ASCII形式存储。形式存储。下面用关键字下面用关键字char定义一个字符变量:定义一个字符变量: char a1=b; 同同C/C+相同,相同, Java字符集中一些不能显示的控制字字符集中一些不能显示的控制字符可以用转义字符来表示,如表符可以用转义字符来表示,如表1

19、-4所示。所示。第1章 预备知识 转义字符转义字符 功能描述功能描述 ddd13位八进制所表示的字符位八进制所表示的字符 uxxxx14位十六进制表示的字符位十六进制表示的字符 单引号单引号 双引号双引号 反斜杠反斜杠 r 回车回车 n 换行换行 f 换页换页 t 水平制表水平制表 b 退格退格表表1-4 转义字符表转义字符表 第1章 预备知识 4布尔型布尔型 Java中布尔型变量只有两个值:真中布尔型变量只有两个值:真(true)或假或假(false)。例例2. While(ture/false) 例例1. boolean sign=true; 与与C/C+不同,布尔型数据是独立的数据类型,

20、不同,布尔型数据是独立的数据类型,所以既不能将整数值赋给布尔变量,也不能将布所以既不能将整数值赋给布尔变量,也不能将布尔类型的数转换成整型或其他类型。尔类型的数转换成整型或其他类型。第1章 预备知识 类型转换类型转换规则:规则:表示数的范围小的数据类型可以自动向表示表示数的范围小的数据类型可以自动向表示数的范围大的类型转换,反之则必须强制转换数的范围大的类型转换,反之则必须强制转换。 数据类型数据类型 能自动转换为数据类型能自动转换为数据类型byte,short intbyte,short,int longbyte,short,int,long floatbyte,short,int,long

21、,float doublechar int表表1-5 数据类型自动转换的规则数据类型自动转换的规则第1章 预备知识 例如:例如:long Var=12345;/int类型数据自动转换为类型数据自动转换为long型并型并赋值赋值double Var=1.2ffloat c=9.83244665757Lint Var=(int)3.45f;float Var=(float)1.2;第1章 预备知识 Java中的复合数据类型:中的复合数据类型: 包括类(包括类(class)、数组和接口()、数组和接口(interface)。)。字符串(字符串(String)不是基本的数据类型,是复合)不是基本的数据

22、类型,是复合数据类型(数据类型(“类类”类型),但在类型),但在Java语言中可以语言中可以像像使用简单类型一样来使用它。使用简单类型一样来使用它。这里重点讲字符串类型。这里重点讲字符串类型。第1章 预备知识 一个字符串常量是用双引号括起来的一个字符串常量是用双引号括起来的0个或多个字个或多个字符组成的序列。符组成的序列。例如:例如:“”“”-表示一个空字符串。表示一个空字符串。“Hello Worldn”-表示字符串表示字符串Hello World,n是是回车换行符。回车换行符。字符串的连接:字符串的连接:字符串可以通过连接符字符串可以通过连接符“+”进行连接。进行连接。例如:例如:“Wec

23、ome to ”+”Beijing”等价于等价于“Wecome to Beijing”第1章 预备知识 例:执行下列程序,输出结果为多少?例:执行下列程序,输出结果为多少?( ) public class A public static void main(String args) String str=“456”; int a=7,b=8; System.out.println(“str=”+str+a+b); A. str=45615 B.str=45678 C. str=456+7+8 D. 编译错误编译错误B第1章 预备知识 1.4 Java程序中的标识符、关键字和分隔符程序中的标识符

24、、关键字和分隔符1.4.1 标识符标识符 Java语言的标识符必须由数字、字母、下划线或美元语言的标识符必须由数字、字母、下划线或美元符号符号( $ )组成,其中组成,其中首字符不能是数字首字符不能是数字。标识符长度不限。标识符长度不限。 标识符标识符区分大小写区分大小写,不能以数字开头,不能插入空格,不能以数字开头,不能插入空格等,也不能以关键字命名。在程序中标识符用来给类、接等,也不能以关键字命名。在程序中标识符用来给类、接口、方法、变量或类对象命名。为提高程序的可读性,用口、方法、变量或类对象命名。为提高程序的可读性,用标识符命名最好标识符命名最好见名知意。见名知意。 为使非英语国家的程

25、序员方便地用自己的母语定义标为使非英语国家的程序员方便地用自己的母语定义标识符,识符,Java标识符采用标识符采用Unicode字符集字符集,可为任意长度。,可为任意长度。第1章 预备知识 下面是合法的标识符:下面是合法的标识符:intVariable、doubleVariable、var2、_var3、double1、booleanture、浮点数、浮点数2下面的标识符不合法:下面的标识符不合法:var 1(不能有空格不能有空格)、1 var(不能以数字开头)、(不能以数字开头)、var%(含有非法字符(含有非法字符%)、)、do(关键字)(关键字)第1章 预备知识 Java语言关于标识符命

26、名的一些约定语言关于标识符命名的一些约定:1.类名和接口名的第一个字母大写,如类名和接口名的第一个字母大写,如String、System等。等。2.方法名的第一个字母小写,如方法名的第一个字母小写,如main(), print(),println()。3.为使程序可读性强,做到见名知意,通常类名和方法名为使程序可读性强,做到见名知意,通常类名和方法名比较长,由名词、动词或它们的组合来命名。比较长,由名词、动词或它们的组合来命名。类名首字类名首字母大写,后面各单词首字母大写。方法名的首字母小写,母大写,后面各单词首字母大写。方法名的首字母小写,后面各单词首字母大写后面各单词首字母大写。如,输入流

27、类。如,输入流类InputStream、数、数据输出流类据输出流类DataOutputStream,方法,方法setColor()、actionPerformed()等。等。4.常量(用关键字常量(用关键字final修饰的变量)全部用大写修饰的变量)全部用大写,单词间,单词间用下划线隔开。如用下划线隔开。如TEXT_PROPERTY。5.变量名或一个类的对象名首字母小写变量名或一个类的对象名首字母小写。6.Java的关键字都小写。的关键字都小写。第1章 预备知识 byte (byte)0 short (short)0 int 0 long 0L float 0.0f double 0.0d c

28、har n0000 boolean false object null表表1-6 变量的缺省初始值变量的缺省初始值 类型类型 缺省值缺省值第1章 预备知识 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

29、,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章 预备知识 1.4.3 分隔符分隔符1. java语言的注释语言的注释块注释:多行注释(中间可以用块注释:

30、多行注释(中间可以用*来排版)来排版) /*注释部分注释部分*/ 例:例:/*作者:谭浩强作者:谭浩强 *功能:示范功能:示范printf()方法()方法 *日期日期 */行注释:仅用于单行注释行注释:仅用于单行注释 /注释部分注释部分2. 空白符空白符空格、回车、换行、制表符(空格、回车、换行、制表符(Tab键)等键)等第1章 预备知识 3.其它分隔符其它分隔符大括号(大括号( )-用来定义类体、方法体、复合语用来定义类体、方法体、复合语句和数组初始化、一对大括号括起来的代码段都句和数组初始化、一对大括号括起来的代码段都是一个语句块。是一个语句块。分号(;)分号(;) -语句结束标志语句结束

31、标志逗号(,)逗号(,) -区分各个变量,区分方法的参数区分各个变量,区分方法的参数冒号(:)冒号(:) -用于语句标号中(如用于语句标号中(如case语句)语句)第1章 预备知识 1.5 Java中变量的作用范围中变量的作用范围首先看首先看Java中变量的声明:中变量的声明:在使用任何变量之前必须先定义。在使用任何变量之前必须先定义。如果是基本数据类型,在声明变量类型的同时,如果是基本数据类型,在声明变量类型的同时,可以为它赋初值。可以为它赋初值。例:例:int a=1,b=2; 如果是复合数据类型,声明完数据类型后,如果是复合数据类型,声明完数据类型后,还要用关键字还要用关键字new为其分配内存单元,否则为其分配内存单元,否则取值为取值为null,即不指向任何内存空间。,即不指向任何内存空间。例:例:int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论