《《java的基本概念》ppt课件》由会员分享,可在线阅读,更多相关《《java的基本概念》ppt课件(40页珍藏版)》请在金锄头文库上搜索。
1、第1章 预备知识,1.1 为什么要使用Java? 1.2 Java的开发环境及其设置 1.3 Java语言的数据类型 1.4 Java程序中的标识符、关键字和分隔符 1.5 Java中变量的作用范围 1.6 小结,1.1 为什么要使用Java,简单的 Java语言的简单性主要体现在三个方面: 1.Java的风格类似于C+,从某种意义上讲,是C与C+的一个变种,因此,C+程序员可以很快掌握Java。 2.Java摒弃了C+中容易引发程序错误的特征,如:指针、结构以及内存管理等。 3.Java中提供了丰富的类库,可以帮助我们很方便的开发Java程序。,面向对象的 面向对象可以说是Java最重要的特
2、征,所以它支持封装、继承、多态等面向对象的特征。Java语言的设计是完全面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。,健壮的 Java也是一种强类型的语言,其类型检查比C+还要严格,可以帮助我们检查出许多开发早期出现的错误。Java自己负责内存管理,提供了垃圾内存回收机制,有效的避免了C+中最头疼的内存泄露问题。,安全的 一方面,在Java语言里,删除了指针和释放内存等C+功能,避免了非法内存操作。另一方面,通过Java的安全体系架构来确保Java代码的安全性。当我们能从网上下载Java代码在本地执行时,Java的安全架构能确保恶意的代码不能随意访问我们本地计算机资源。例如,删
3、除文件,访问本地网络资源等操作都是被禁止的。,解释的 Java代码是解释执行的,我们使用Java编译器将Java代码编译成字节码,这是一种中间代码,然后由Java解释器解释执行。,例:一个java源文件,文件名为Mytest.java 编译程序:javac Mytest.java 运行程序:java Mytest,与平台无关的 Java作为一种网络语言,其源代码被编译成一种结构中立的中间文件格式。只要有Java运行的系统都能执行这种中间代码(字节码)。Java源程序被编译成一种与机器无关的字节码格式,在Java虚拟机(JVM)上运行。,多线程的 Java语言的一个重要特性就是支持多线程的程序设
4、计。多线程就好像我们做一张桌子,如果你一个人完成这张桌子-就好像单线程,那么你需要先做桌面,做完桌面后,再做4个桌子腿,如果现在有5个人来做桌子-在程序中开辟5个线程,其中1个人做桌面,另外4个人做桌子腿,效率将大大提高。,1.2 Java的开发环境及其设置,一.开发环境JDK 1996年,sun公司的Java 1.0版本正式推出。Java的早期版本成为JDK(Java Development Kit),如JDK 1.0,JDK 1.02,JDK 1.1.5等。1999年升级为1.2版,并改称为JAVA 2。2000年9月升级为1.3版,2001年7月推出了1.4版。,本书所讲的程序可在该环境
5、下编译和运行,所使用的具体版本是j2sdk1.4.2。若没有改变安装路径,则安装在c:j2sdk1.4.2目录下,该目录下有个子目录bin,编译和运行Java程序的命令都在该目录下。,例:编译并运行以下程序 public class Mytest public static void main(String args) System.out.println(“Welcome to Beijing! “); ,文件的编辑:,记事本,ultraedit,二、环境变量的设置 在编译和运行java源程序的时候,需用到java.exe和javac.exe命令,它们默认在c:j2sdk1.4.2bin目录
6、下。,途径1:在命令行键入 set path=c:j2sdk1.4.2bin,缺点:设置只在当前dos窗口有效。,途径2:设置系统环境变量,“我的电脑”-“属性”-“高级”-“环境变量”-“系统变量”,1.3 Java语言的数据类型,整数类型 byte、short、int、long,数据类型,简单数据类型,复合数据类型,数值类型,字符型 char,布尔类型 boolean,浮点类型 float、double,类 class,接口类型 interface,数组类型,表1 Java语言的基本数据类型,1整型 Java语言的整型数据与C/C+相似,按照存储位的不同,分为byte、short、int、
7、long四种,分别表示从8位到64位的整数。,其中,int和long类型是最常用的类型,而byte类型经常用在字节码数据中,比如网络传输数据或进行二进制数据的输入/输出时。由于short类型在使用时要求数据的存储须先高字节后低字节,在某些机器中可能会出错,故使用较少。,表1-2 整型数属性表,Java的整数可以用十进制、八进制和十六进制来表示: 八进制数以0打头: 数字字符为07; 十六进制数用0x(0X)打头: 数字字符为09、af或AF。,例如:78.69L、011、0x1234等都表示一个整型常量。,一个整型数隐含为int型,如果需要long类型的数,必须在该数后加上字母l (L)。,2
8、浮点型 Java的浮点类型分为两种:单精度浮点数和双精度浮点数,分别用关键字float和double来表示。,表1-3 实型数属性表,浮点数的隐含类型为double型,当我们要定义一个float型的数时,必须在该数后加字母f,告诉编译器该数为float类型。,判断下列语句是否正确: float a1=1.2f; float a2=3.5; double a3=4.6d; double a4=2.0;,注意:不管是double型还是float型,当对实数使用比较运算符“= =”时,由于精度的取值问题,必须小心使用。,3字符型 占两个字节内存。,下面用关键字char定义一个字符变量: char a
9、1=b; char a2=98;(不提倡),同C/C+相同, Java字符集中一些不能显示的控制字符可以用转义序列来表示,如表2.3所示。,表1-4 转义字符表,4布尔型 Java中布尔型变量只有两个值:真(true)或假(false)。,例2. While(ture/false) ,例1. boolean sign=true;,与C/C+不同,布尔型数据是独立的数据类型,所以既不能将整数值赋给布尔变量,也不能将布尔类型的数转换成整型或其他类型。,类型转换,规则:表示数的范围小的数据类型可以自动向表示数的范围大的类型转换,反之则必须强制转换。,表1-5 数据类型自动转换的规则,例如: long
10、 longVar=12345;/int类型数据自动转换为long型并赋值 double doubleVar=1.2f float c=9.83244665757L int intVar=(int)3.45f; float floatVar=(float)1.2;,Java中的复合数据类型: 包括类(class)、数组和接口(interface)。,字符串(String)不是简单的数据类型,是复合 数据类型(“类”类型),但在Java语言中可以像 使用简单类型一样来使用它。,这里重点讲字符串类型。,一个字符串常量是用双引号括起来的0个或多个字符组成的序列。 例如: “”-表示一个空字符串。 “H
11、ello Worldn”-表示字符串Hello World,n是回车换行符。,字符串的连接: 字符串可以通过连接符“+”进行连接。,例如: “Wecome to ”+”Beijing”等价于“Wecome to Beijing”,例:执行下列程序,输出结果为多少?( ) 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. 编译
12、错误,B,1.4 Java程序中的标识符、关键字和分隔符,1.4.1 标识符,Java语言的标识符必须由数字、字母、下划线或美元符号( $ )组成,其中首字符不能是数字。标识符长度不限。,标识符区分大小写,不能以数字开头,不能插入空格等,也不能以关键字命名。在程序中标识符用来给类、接口、方法、变量或类对象命名。为提高程序的可读性,用标识符命名最好见名知意。,为使非英语国家的程序员方便地用自己的母语定义标识符,Java标识符采用Unicode字符集,可为任意长度。,下面是合法的标识符: intVariable、doubleVariable、var2、_var3、double1、booleantu
13、re、浮点数2,下面的标识符不合法: var 1(不能有空格)、1 var(不能以数字开头)、var%(含有非法字符%)、do(关键字),Java语言关于标识符命名的一些约定:,1.类名和接口名的第一个字母大写,如String、System等。 2.方法名的第一个字母小写,如main(), print(),println()。 3.为使程序可读性强,做到见名知意,通常类名和方法名比较长,由名词、动词或它们的组合来命名。类名首字母大写,后面各单词首字母大写。方法名的首字母小写,后面各单词首字母大写。如,输入流类InputStream、数据输出流类DataOutputStream,方法setCol
14、or()、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,defaul
15、e,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语言的注释 块注释:多行注释 /*注释部分*/ /*文档注释部分*/ 行注释:仅
16、用于单行注释 /注释部分 2.空白符 空格、回车、换行、制表符(Tab键)等,3.其它分隔符 大括号-用来定义类体、方法体、复合语句和数组初始化、一对大括号括起来的代码段都是一个语句块。 分号(;)-语句结束标志 逗号(,)-区分各个变量,区分方法的参数 冒号(:)-用于语句标号中,1.5 Java中变量的作用范围,首先看Java中变量的声明:,在使用任何变量之前必须先定义。,如果是基本数据类型,在声明变量类型的同时,可以为它赋初值。,例:int a=1,b=2;,如果是复合数据类型,声明完数据类型后,还要用关键字new为其分配内存单元,否则取值为null,即不指向任何内存空间。,例:int array1=new int5; for(i=0,i5,i+) arrayi=i+1;,在类体中定义的类成员变量,在该类的各个成员方法中均可以使用。 在某个方法中定义的变量,仅能在该方法中使用。 在if语句、whi