




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子会员转让协议书
- 不与退货协议书范本
- 2025年03月江苏省省属事业单位统一人员(710人)笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025年03月山东省社会工作联合会公开招聘4人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025年03月天津和平区司法医学鉴定中心法医助理岗(北方辅医外包项目)公开招聘笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 太阳能热发电系统项目风险分析和评估报告
- 大理白族自治州洱源县2025届六年级下学期小升初真题数学试卷含解析
- 石家庄人民医学高等专科学校《人体影像解剖学实验》2023-2024学年第二学期期末试卷
- 怀化学院《化工制图与AutoCAD》2023-2024学年第二学期期末试卷
- 郑州职业技术学院《工程岩体力学》2023-2024学年第二学期期末试卷
- 榜样的力量有一种力量叫榜样的力量课件
- 防控医疗纠纷课件
- 陕西省扶风县法门小学-小学班主任带班方略【课件】
- 2025年超高功率大吨位电弧炉项目建议书
- 宠物殡葬创新创业
- 2025年第三届天扬杯建筑业财税知识竞赛题库附答案(801-900题)
- 2024年黑龙江出版集团招聘笔试真题
- 2024年4月27日浙江省事业单位招聘考试《职业能力倾向测验》真题及答案
- 【初中历史】辽宋夏金元时期经济的繁荣 课件 2024-2025学年统编版七年级历史下册
- 2025-2030中国橄榄球行业市场全景调研及投资价值评估咨询报告
- 砌体结构检测试题及答案
评论
0/150
提交评论