Java语言程序设计基础_第1页
Java语言程序设计基础_第2页
Java语言程序设计基础_第3页
Java语言程序设计基础_第4页
Java语言程序设计基础_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

Java语言程序设计基础8/2/20211上课要求8/2/20212请保持安静Java简介

Sun公司(2009年被Oracle公司收购)1995年推出8/2/20213Java简介8/2/20214Java的出现推动了Web迅速发展·

Struts、Hibernate、Spring等开发框架Java语言的出现推动了开源软件的发展·

SourceForge8/2/20215Java语言特点8/2/20216简单没有C、C++语言中的指针;没有多重继承;没有操作符重载;纯面向对象分布式语言提供网络编程类库;提供RMI(Remote

MethodInvocation)机制健壮性强类型机制、异常处理、垃圾内存自动搜集机制等Java语言特点8/2/20217安全性在网络环境下,提供安全机制防止恶意代码攻击跨平台Java虚拟机机制;代码编译为字节码方式解释型语言高性能多线程直接提供类库支持多线程编程Java的创始人James

GoslingSun副总裁及研究院院士8/2/20218名字起源

Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。

Java语言中的许多库类名称,多与咖啡有关,如

JavaBeans(咖啡豆)、NetBeans(网络豆)以及

ObjectBeans(对象豆)等等。

SUN和JAVA的标识也正是一杯正冒着热气的咖啡。8/2/20219Java平台体系8/2/202110Java

SE(Standard

Edition)针对桌面程序Java

EE

(Enterprise

Edition)针对企业级软件Java

ME

(Micro

Edition)针对移动设备和嵌入式设备不断扩展的平台8/2/202111参考教材Thinking

in

Java

4th

by

Bruce

Eckel8/2/202112参考教材Core

Java

8th

Vol1,

Vol28/2/202113参考教材Effective

Java

2nd

by

Joshua

Bloch8/2/202114Java虚拟机8/2/202115

在一台计算机上由软件模拟的假想的计算机。

Java虚拟机的代码存储在class文件中(也称为字节码文件)。

Java编译器针对Java虚拟机产生class文件,因此是独立于平台的。

Java解释器负责将Java虚拟机的代码在特定的平台上运行。Java虚拟机任何一个编译器,不是JVM的内容。8/2/202116JVM执行步骤8/2/202117Step1:编辑源代码Step2:JAVA编译器将其编译为class文件(JVM规范的字节码)Step3:JAVA解释器负责将class文件解释运行(解释器有两个功能:执行字节码、对底层硬件平台做适合调用)³

加载代码:由class

loader完成³

校验代码:由bytecode

verifier完成³

执行代码:由runtime

interpreter完成Java虚拟机的建立

Java虚拟机的建立需要针对不同的软硬件平台做专门的实现。8/2/202118无用内存自动回收机制8/2/202119面向过程的编程风格8/2/202120int

maxSoFar=0,price=1;while(price>0){if

(price>maxSoFar)maxSoFar=price;//最大值maxSoFar的初值为0//price是输入的值//循环输入price的值//输入的值price大于最大值maxSoFar//则maxSoFar的值为price的值String

input=JoptionPane.showInputDialog("Enter

the

next

price");//继续输入priceprice=Double.parseDouble(input);}//把字符串input转换成整数priceSystem.out.println(“The

maximum

is”+maxSoFar);//打印最大值maxSoFar}面向对象的编程风格8/2/202121Max

max=new

Max();

//max是类Max的一个对象while(price>0){max.updateMax(price);//对象max调用updateMax方法,更新最大值price=max.getPrice();//对象max调用getPrice获得下一个price的值}System.out.println("The

maximum

is

"+max.getMax(

));//对象max调用getMax方法获得最大值,并打印出来Java程序分类Java

Application通常称为Java应用程序,以main()方法作为程序入口,由Java解释器加载执行。Java

Applet通常称为Java小应用程序,通过浏览器或者是appletviewer命令加载执行。Applet是Java最

获得成功的应用。8/2/202122Java应用程序(Application)举例//这是我们的第一个java

application,该程序保存在文件Property.java中import

java.util.*;/*下面我们用到了Date和Properties这两个类,是属于java.util这个包的;而System和Runtime这两个类,是属于java.lang这个包的。*/public

class

Property{//程序员给这个类取名为Propertypublic

static

void

main(String

args[]){//main是类的主方法System.out.println(new

Date());//在命令行下面打印出日期Properties

p=System.getProperties();//获得系统的Properties对象pp.list(System.out);//在命令行下打印出p中的各个系统变量的值System.out.println("---Memory

Usage:");/*打印一行字符串---MemoryUsage*/Runtime

rt=Runtime.getRuntime();//获得系统的Runtime对象rtSystem.out.println("Total

Memory="+rt.totalMemory()//打印总内存大小+"

Free

Memory

=

"+rt.freeMemory());//打印空闲内存大小}}8/2/202123Java

Application的编辑8/2/202124Java

Application的编译Java编译器命令:javac命令行中输入:javac

Property.java

源文件名为Property.java,注意:文件名必须与公共类名相同;由javac编译器编译源程序,产

生字节码文件(.class文件)。本例中产生

Property.class文件。8/2/202125Java

Application的执行Java执行命令:java命令行中输入:java

Property

该命令将启动Java虚拟机,由Java解释器解释执行。8/2/202126Java小应用程序(Applet)举例8/2/202127//这是我们的第一个java

applet,该程序保存在文件HelloEducation.java中import

java.awt.Graphics;//在进行显示输出时,需要用到类Graphics的对象;import

java.applet.Applet;//Applet类是所有的java

applet的父类;public

class

HelloEducation

extends

Applet

{//程序员给这个类取名为HelloEducation所有的applet程序都是Applet类的子类public

String

s;public

void

init()

{s=new

String(“Welcome

to

Tongfang

Education”);//生成一个字符串对象}public

void

paint(Graphics

g){g.drawString(s,25,25);//在浏览器中坐标为(25,25)的位置显示字符串s}}Java

Applet的执行8/2/202128

Java

Applet不能字节执行,需要编写html文件,把Applet嵌入其中。例如HelloEducation.html文件<html><applet

code=HelloEducation.class

width=250

height=250></applet></html>Java

Applet的执行

用appletviewer来运行,在命令提示符下输入:

appletviewer

HelloEducation.html弹出窗口运行该程序8/2/202129Java

Applet的执行

在支持Java的浏览器上运行。如在IE或Netscape中打开HelloEducation.html程序。8/2/202130Java程序结构8/2/202131package语句//0或1条,必须放在文件开始import语句//0或多条,必须放在所有类定义之前public

classDefinition//0或1个。文件名必须与该类的类名完全相同classDefinition//类定义,个数不限interfaceDefinition//接口定义,个数不限Java程序结构示例8/2/202132package

javawork.helloworld;/*把编译生成的所有.class文件放到包javawork.helloworld中*///告诉编译器本程序中用到系统的AWT包/*告诉编译器本程序中用到用户自定义的包javawork.newcentury*/import

java.awt.*;import

javawork.newcentury;public

class

HelloWorldApp{......}/*公共类HelloWorldApp的定义,名字与文件名相同*///第一个普通类TheFirstClass的定义//第二个普通类TheSecondClass的class

TheFirstClass{......}class

TheSecondClass{......}定义......//其它普通类的定义interface

TheFirstInterface{......}

//第一个接口TheFirstInterface的定义......

//其它接口定义package语句8/2/202133包(package)是用于管理生成的java字节码文件(.class),其对应于文件系统中的目录,目的是把编译生成的.class文件放入该目录。例如:javawork.helloworld对应于目录

“path\javawork\helloworld,其中path需在编译时指定,且该目录须存在;如果

javawork\helloworld不存在则创建该目录。例如:javac-d

f:\javaproject

HelloWorldApp.java则生成的HelloWorldApp.class文件将放在目录

f:\javaproject\javawork\helloworld\中package语句8/2/202134

如果程序中没有package语句,或者有package语句但是在编译时不用-d选项,则生成的.class文件放入当前目录。Import语句8/2/202135

在程序中用到了标准类库或自定义包中的类,需要用import语句来声明。可以声明一个包:import

java.awt.*

在引用到类或者包时,将沿着类路径classpath开始寻找相应的.class文件,因此需要事先设置环境变量classpath:classpath=.;d:\jdk1.3\lib\Java程序结构8/2/202136源文件的命名规则如果.java文件包含一个public类,它必须按该类名命名。一个源文件中最多只能有一个public类,其他类的个数不限。Java编程规范8/2/202137包名³

全小写,一般为名词,如:java.awt.event;类名³

首字母大写,每个单词的首字母大写,如:class

HelloWorldApp;接口名³

同类名,如:interface

Collection;方法名³

一般为动词,小写字母开头,每个单词的首字母都要大写,如:balanceAccount,

isButtonPressed;变量名³

全小写,一般为名词,如:length;常量名–

基本类型的常量名为全大写,如:int

YEAR,intWEEK_OF_MONTH;对象常量大小写混合。Java帮助文档Jdk1.3\docs\index.html8/2/202138Java帮助文档查阅JDK命令,选择Tool

Documentation8/2/202139Java帮助文档Java、javac、javadoc、appletviewer8/2/202140Java帮助文档

查阅类库

温馨提示

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

最新文档

评论

0/150

提交评论