Java语言是一个功能强大的跨平台程序设计语言_第1页
Java语言是一个功能强大的跨平台程序设计语言_第2页
Java语言是一个功能强大的跨平台程序设计语言_第3页
Java语言是一个功能强大的跨平台程序设计语言_第4页
Java语言是一个功能强大的跨平台程序设计语言_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、Java语言是一个功能强大的跨平台程序设计语言,是目前应用最为广泛的计算机语言之一,在讲解之前我们先来了解下java的起源Java来自于Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以把E-mail发给电冰箱、电视机等家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用C+,但C+太复杂,安全性差,最后基于C+开发了一种新的语言Oak(Java的前身),Oak是一种用于网络的精巧而安全的语言,Sun公司曾以此投标一个交互式电视项目,但结果被SGI打败。可怜的Oak几乎无家可归,恰巧这时Mark Ardreesen开发的Mosaic

2、和Netscape启发了Oak项目组成员,他们用Java编 制 了HotJava浏 览器,得到了Sun公司首席执行官Scott McNealy的支持,触发了Java进 军Internet。 Java的取名也有一则趣闻,有一天,几 位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖 啡,有一个人灵机一动说就叫Java怎 样,得到了其他人的赞赏,于是,Java这个名字就这样传开了。在我们讲解Java之前,有些知识需要我们掌握,我们先看下Java的相关概念:1. 什么是JDK? JDK就是Java的开发工具包2. 上课讲的是Java1还是Java2?首先

3、我们要明确1998年12月,SUN公司发布了JDK1.2,开始使用“Java 2” 这一名称,目前我们已经很少使用JDK1.1版本,所以我们所说的Java都是指Java2。J2SDK当然就是Java 2 Software Develop Kit。那什么是JRE呢3. 什么是JRE?JRE(Java Runtime Environment),即Java运行环境,通常已包含在J2SDK中了。如果我们仅仅是为了运行Java程序,而不是从事Java开发,我们可以直接下载JRE,在我们的系统上安装,也就是说我们不需要下载JDK了Java的开发工具包(JDK)根据其应用环境的不同有三种类型的版本l 第一个

4、是J2SE(Java2 Platform,Standard Edition)即Java2的标准版,主要应用于桌名程序和java小程序的开发,我们通常所说的JDK也就指的J2SE。l J2EE(Java2 Platform,Enterprise Edition)即java2平台企业版,主要应用于企业级开发,目前很多电子商务网站,大的系统都是用J2ee开发的l J2ME(Java2 Platform,Micro Edition)即java2的微型版,主要应用于手持设备的开发,例如:手机,PDA等,这些设备上的游戏或软件都可以用J2ME来开发下面我们再来看下JDK即J2SE的相关下载:下面我们开始我

5、们第一章,这一章中我们主要给大家讲解下Java语言的基础知识,java的配置,第一章 Java语言基础知识Java语言是一个面向对象的程序设计语言,因此在学习Java之前,我们还需要了解下面向对象的设计思想,1.1 Java语言与面向对象的程序设计面向对象的思想:将客观事物看作具有状态和行为的对象,通过抽象找出同一类对象的共同状态和行为,构成类。(也就是说:n 我们可以把现实世界的事物抽象成对象。(例如一张桌子我们可以将它抽象成一个桌子对象,一台电脑我们可以将它抽象为电脑对象)n 对象一般都有两个特征:状态(state)和行为(behavior)。(对于电脑这个对象来说它的状态有:内存多大,硬

6、盘多大,CPU的频率多少,对于行为电脑具有播放电影这个功能这就是它的一个行为,对于人这个对象来说,它有的状态有:身高,体重等,行为有:吃饭行为,呼吸的行为,走路的行为。所有的对象都会有这两个特性n 把相似的对象划归成一个类。) 那么类和对象什么关系?n 在软件中,类,就是一个模板,它定义了通用于一个特定种类的所有对象的状态(变量)和行为(方法)。n 类是创建对象的模板,对象是类的实例。举个例子,比如汽车这个模型我们可以构建一个类:需要提取所有汽车对象的共有的状态和行为。根据上面的解释,将状态用变量表示,行为用方法表示。class Car int color_number; /描述汽车的颜色 i

7、nt door_number; /描述汽车的门的个数 int speed; /描述汽车的速度 void brake() /描述汽车的刹车 void speedUp() ;/描述汽车的加速 void slowDown() ;/描述汽车的减速 这个类能够描述汽车这类对象。面向对象实现了封装,其好处是:隐藏类的数据,控制访问权限等Ok,下面我们再来了解一下面向对象技术的好处及特点面向对象技术给软件发展带来的益处面向对象语言的基本特征下面我们来学习下Java语言的特点:早在Java诞生之初,sun公司发表了一份白皮书用了一连串的修饰语来描述java:称java是:面向对象的,安全的,与平台无关的,多线

8、程的,动态的语言,下面我们就来看看这些特性:1, 面向对象的:可以说是Java最重要的特性,所以它支持继承,重载,多态等面向对象的特性,Java语言是完全面向对象的,它不支持类似 C语言那样的面向过程的程序设计。我们以前学习的C+也是面向对象的但它不是全面向对象的。2, 安全性:java的安全性可从两个方面得到保证,一方面,在java语言里,删除了指针和释放内存等C+等功能,避免了非法内存操作,另一方面,通过Java的安全体系来确保Java代码是安全性,我们知道java代码可以在网上传输可有我们的浏览器解释执行,当我们从网上下载java代码在本地执行时java会确保代码不能随意访问我们本地计算

9、机的资源。3, 与平台无关的,Java作为一种网络语言,其源代码被编译成与平台无关的字节码,只要有Java运行系统就都能执行这种字节码。Java有一个口号:一次编译,处处运行,指的就是这个特性。也就是说我们在windows平台上编写的程序当我们编译好之后,我们可以将其移到linux操作系统,甚至在苹果机上运行。4, 多线程:Java语言的一个重要特性就是在语言级支持多线程的程序设计。多线程就好像我们做一张桌子,如果你一个人完成这张桌子就好像单线程,那么你需要先做桌面,做完桌面后,再做4个桌子腿,如果现在有5个人来做桌子在程序中开辟5个线程,其中1个人做桌面,另外4个人分别做4个桌子腿,那么这两

10、种方式效率的高低,相信大家都能区分出来。这就是多线程的好处,后面会有一节课专门讲解多线程这个java特性。5, 健壮的(动态内存分配):Java自己负责内存管理,提供了垃圾内存回收机制,在C和C+当中我们经常会定义一个指针,然后给这个指针动态分配堆内存,当我们完成功能之后,经常会忘记释放指针占据的内存,那么这样会造成内存的泄漏。在java当中我们给对象分配内存之后,那么我们就不需要考虑什么时候释放内存,所有这些都有java的内存垃圾回收机制来完成。1.1.3 Java类库Java程序最小单位是类,根据前面的讲解可知道,类封装了数据和处理数据的方法。Java类库即Java API:指的是Java

11、平台已经提供了许多已经编译好的可以直接使用的类。12 Java程序概述我们先来看下Java开发环境的配置 Java开发环境Java的执行过程是这样的首先把源文件编译成字节码文件,然后由解释器负责解释执行类文件。Java平台包括:java API和java 虚拟机,虚拟机是运行在操作系统之上的,java的跨平台性就是通过java 虚拟机来实现的。1. J2SDK下面来介绍下JDK中部分常用工具:不能随意访问我们本地计算机的资源l Jl Java.exe :Java解释器,用于解释执行Java字节码,即执行.class字节码文件l Appletviwer.exe 用于运行java applet程序

12、l Javadoc.exe :Java文档制作工具l Jar.exe 打包工具等等下面我们来安装下 JDK首先需要下载J2SDK,我们这里采用1.6版本l 下载地址安装好JDK后,为了能够在任意文件夹都能编译,运行Java程序,还要配置环境变量。分别配置Path 和classpath,大家注意classpath中的”.;”是指可以加载应用程序当前及其子文件夹中的类。测试下环境配置时候正确:在CMD窗口中分别运行java 和javac 看下结果 ,然后运行下java version查看下版本 一切正常后下面就可以编写 java程序了。编写java程序还修改编辑器,这里我们常用的编辑器有:edit

13、Plus ,jcreator,Eclipse 这里我们使用JcreatorJava程序分为两种:一种是Application程序:称为Java应用程序,运行在客户端java虚拟机上的java程序。另一种是Applet程序:称为Java小程序,其运行在Web浏览器中。那么我们下面先来学习下Application程序,我们来写一个非常简单的程序,要求输出一个”Hello,World!”字符创public class Hello public static void main (String args ) System.out.println("你好,很高兴学习Java"); 在

14、此我们要注意几点:1. Java源文件中语句所涉及的小括号及标点符号都是英文状态下的符号。2. class 是Java的关键字用来定义类的,public也是关键字,说明Hello是一个public类(后续章节将会系统地学习类的定义和使用)第一个大括号和最后一个大括号以及之间的内容成为类体3. public static void main(String args)是类体中的一个方法,之后的两个大括号以及其中的内容成为方法体,一个application程序必须有一个类含有main方法,这个类称为主类public static void分别是对main方法的说明,在一个application程序中

15、main方法必须被声明为public static void 4. String args声明一个字符串类型的数组args(注意String的第一个字母是大写的)这个数组是main方法的参数(以后会学习怎么使用这个参数),main方法是程序开始执行的入口HHH5. 一个java源文件可以包含多个类,但只能有一个public类下面我们来看下Java源文件的命名规则:如果有一个类为public类型的,那么源文件名必须与这个类的名字相同,扩展名为.java,如果没有public类型的类,那么源文件的名称可以和任意类的名字相同,扩展名为.javaOk,当我们创建好Hello.java之后,我们就要使用

16、java编译器(javac.exe)对其进行编译。编译方法是,进入MS-DOS窗口,使用Cd命令进入Hello.java的目录,然后运行以下命令Javac Hello.java编译完成后当前目录会生成一个Hello.class文件,该文件就是字节码文件(说明:如果java源文件包含了多个类,则编译完之后将会产生多个class文件,其名称和对应的类名相同,这一点请大家注意)另外如果我们对源文件做了修改,那么必须重新编译,才能生成新的字节码文件。Ok,下面我们运行下我们的Hello程序看看能不能输出我们要的字符串,application程序必须通过java的解释器(java.exe)来解释执行其字

17、节码,在此需运行如下命令:Java Hello运行该命令后大家可以看到在MS-DOS窗口显示了“Hello,World”字符串注意:当源文件有多个类时,java命令后的类必须是包含main方法的那个类,即主类的名字。再看一个复杂一点的程序,也许现在还看不懂这个程序,没关系,后面将对其详细讲解public class MyClassprivate int val1,val2;public void myFun(int x,int y)val1 = x;val2 = y;public static void main(String argsMyClass MyObj = new MyClass()

18、;MyObj.myFun(1,2);下面我们再来学习下java的另一种程序applet程序,程序java小程序,运行在网页中,与application的差别就是运行环境的不同;下面我们来写一个小例子(其功能仍然是输出“Hello,World”字符串,让大家了解下applet程序:import java.awt.Graphics;import java.applet.Applet;public class MyApplet extends Appletpublic String s;public void init()s = new String("Hello,World!"

19、);public void paint(Graphics g)g.drawString(s,60,40);下面来讲解下这个程序:Java Applet源文件不再需要main方法,但必须有且只有一个类扩展了Applet类,即它是Applet类的子类,我们把这个类称为主类,另外Java Applet源文件的主类必须是public的(这一点和application程序有所不同)前两行使用了import语句,这是因为是使用系统提供的Applet 类和Graphics(绘图的类),Applet类存在java.applet包(java语言把一些类放在一起叫做包,这里java.applet就是一个包名,关于

20、包以后还会讲解)中,Graphics存在java.awt包中。方法init()实现了字符串的创建,paint()方法中,g为Graphics类的对象。然后调用了该对象的drawString方法绘制字符串。drawString 方法中第一个参数为:要绘制的内容,第二个和第三个参数分别是图形左上角所在的横坐标和纵坐标。Ok,创建完该文件将其保存为MyApplet.java然后 使用命令Javac MyApplet.java进行编译。编译成功后,当前文件夹下会生成一个MyApplet.class字节码文件。然后我们来运行下这个applet程序。因为applet程序必须由浏览器来执行。因此必须编写一个

21、超文本文件。将applet程序嵌入进去,通知浏览器来运行这个applet 程序,其超文件文件写法如下:<HTML> <HEAD> </HEAD> <BODY> <applet code="MyApplet.class" width=400 height=100></applet> </BODY></HTML>然后用浏览器打开该文件即可看到效果,或者使用java自带的appletviewer来浏览该文件,命令如下:Appletviewer applet1.html13基本数据类型与

22、表达式下面呢我们开始给大家讲解java语言的基本数据类型与表达式1.3.1 变量与常量同其他语言一样java中也有变量和常量,下面我们先来看下在Java中常量与变量名的命名规则,也就是Java语言中的合法标识符1. 标识符:Java语言规定标识符由字母,下划线,美元符号和数字组成,并且第一个字符不能是数字字符,另外系统已经定义了一部分标识符,用户不能使用,被称为关键字或保留字,入:this,if,int,short等这些关键字用户不能使用举例:$var1,_var2,aInt,student_Number都是合法的标识符2student,try,var# 都不是合法的标识符另外注意:在Java

23、中标识符是区分大小写的,Boy和boy是不同的标识符2. 变量在Java语言中声明一个变量的格式如下:Type varName=value,varName=value其中Type表示数据类型,varName表示变量名,value是该变量的值,按照变量的作用域不同,变量可分为:类成员变量和局部变量。类成员变量即在类的声明体中声明的,其作用域是整个类,局部变量是在方法或者方法的代码块中声明,其作用域为它所在的代码块。举例:int num,total double v,r,h3. 常量 :在java中声明常量的方法就是,在声明变量格式前加上final修饰符,就声明了一个常量,常量一旦被初始化就不能被

24、改变。其格式如下:Final Type varName=value,varName=value,同其他语言一样变量名建议使用全大写表示举例:final int PRICE=30 final double PI=3.14159261.3.2 基本数据类型下面我们来学习下java的基本数据库类型,在java中基本数据库可分为三种:数字型,布尔型和字符型,首先我们来看下数字型:1 数字型:数字型基本数据类型有六种,分别为,字节型(Byte),短整型(short),整型(int),长整型(long),单精度浮点型(float),双精度浮点型(double),请大家看下书上的表1-3我们先看下能够表示整

25、数的类型:Byte类型:对于Byte 类型内存分配1个字节,占8为,因此所能表示的范围为:-128 +127 例如:byte m=-12 ,deep=28 (整数用原码表示,负数用补码表示10000000是-128的补码)Short类型,对于short类型,内存分配两个字节,占16位,因此所能表示的范围为:-215-(215-1),例如:short x=12,tom=1234;Int类型:对于int类型,内存分配4个字节,占32为,因此所能表示的范围为:-231-(231-1)Long类型:对于long类型变量,内存分配8个字节,占64为,因此所能表示的范围为:-263-(263-1)例如:l

26、ong n=1234Char 类型:对于char类型变量,内存分配2个字节占16为,但最高位不用来表示符号,所以所能表示的范围为:0 65535 定义char类型变量:Char x=a 也可以这么定义char x=97 即字母a在uncode字符集中的排序位置Java 也提供转义字符,以“开头,将其后的字符转变成另外的含义。入n就是回车的意思。浮点类型:共分为两种:float类型, double类型,如:Float x = 12.76f ,tom =1234.987f 在数字后面加上f或者FDouble x=877.987d在数字后面加上d或者D布尔类型:该类型变量只能取两个值:True (真

27、) 或False(假)字符串类型:String string是一个类,其类型定义如下:String x=”hello”下面我们来看下文字量:直接出现在程序中并被编译器直接使用的。下面我们来介绍下表达式和运算符先来看下表达式,表达式是由一系列变量、运算符、方法调用构成的,用于计算,对变量赋值,以及作为程序控制的条件。最终表达式的值是由其中的各个元素决定的,可以是基本类型也可以是对象类型,同时对表达式进行运算时,要按照运算符的优先级从高到低进行运算,同级则按照从左到右运算符也称为操作码,是表明对操作数的运算,按照功能,可以把运算符分为算术运算符,赋值运算符,逻辑运算符,位运算符,和条件运算符。那么

28、我们先来看下算术运算符:1. 算术运算符,见教材 表1-72. 赋值运算符:包括两种赋值方式:简单赋值运算符=,例如 a = 8;另一种是复合赋值运算符,在简单的赋值运算符前加上其他运算符,例如 a+=8 等价于a=a+8 a*=9 等价于a=a*93. 关系运算符,分为算术比较运算符和类型比较运算法,算术比较运算符:用来比较两个值的关系,其运算结果是boolean类型,当运算关系成立时,运算结果为True ,否则为False。类型比较运算符 instanceof 例如 instanceof Point /如果e是Point 类的一个实例,结果为True否则为False4. 逻辑运算

29、符,包括:“与”运算 && “或”运算 | “非”运算符!5. 位运算符:位运算符是对二进制进行运算,包括:1)按位反运算符()2)按位与运算符(&) 3)按位或运算符(|) 4)按位异或运算符()5)左移运算符(6右移运算符(>>) 7)无符号右移运算符(>>>)6. 条件运算符,条件运算符为三目运算符,其格式如下:条件运算符 (表达式1?表达式2:表达式3),当表达式成立时,则执行表达式2,否则执行表达式3.类型转换,当把一种基本数据类型变量的值赋给另一种基本数据类型变量时,就会涉及数据转换。类型转换可以分为两种:扩展转换和窄化转换,数据的基本类型按照精度从低到高排列如下:Byte short int long float double 如果按照这个方向从一种类型转换成另外一种类型,则不损失精度。成为扩展转换,例如:Float x=10

温馨提示

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

评论

0/150

提交评论