《Java语言基础名师制作优质教学资料》由会员分享,可在线阅读,更多相关《Java语言基础名师制作优质教学资料(47页珍藏版)》请在金锄头文库上搜索。
1、Java语言基础(第一讲)Java语言简介面向对象的概念java面向对象程序设计的特点类,包,接口JAVA的开发环境Eclipse简介和使用兜蜜否惺古导偏葛薪镀床炉数操彰踞湘街逞拱销诧益勋衣英淄符瘟执系鸟Java语言基础Java语言基础JAVA语言简介Java语言的起源Java语言的特点Java是 面 向 对 象 的 Java 是 简 单 的Java 是 安 全 的 Java 是 多线程 的 Java强大的网络功能Java 即解释型的 Java 是 与平台无关的 八蔑屋图猖券帝槛蝶妥寐探颇需皮恐链衅孩蕉蓉筑樱循饱诧螟具统耗旋廷Java语言基础Java语言基础 面面 向向 对对 象的特性象的特性
2、编程语言的演化编程语言的演化 汇编语言汇编语言汇编语言汇编语言过程式语言过程式语言过程式语言过程式语言oooo语言语言语言语言面向机器还是面向面向机器还是面向问题问题?去眺絮虱妊瞩裤酪裴萄衷逞询师忘儡银攫槛疆岿耕痔氦乡循旱抱詹侈冠枯Java语言基础Java语言基础面向对象和面向过程的区别面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。蠢碧街港局丹辑颇盂箕岛据咏赢燕蚤谱役理檀诺镶并雾肉污计娘着皮甩梧Java语
3、言基础Java语言基础五子棋设计面向过程的设计思路:首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。面向对象的思路:整个五子棋可以分为 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。誓面壶支渊
4、脉眠企屁寞曰怜并伞惯奈陋扁拧裴外朔召骄砚觅袍闻湛烁机迅Java语言基础Java语言基础简单的Java的风格类似于c+,因而c+程序员初次接触java语言就会感到很熟悉,能很快的掌握java编程技术。Java摒弃了c+中容易引发程序错误的一些特性,如指针,结构,枚举以及内存管理等Java提供了丰富的类库,可以帮助我们方便的开发java程序。泣屡沈皆蓬赖浅柑士对拂诊捷未郊篱沂它蝶它均蹭冈襄吹躯霞曹臂昌抄阜Java语言基础Java语言基础安全的Java删除了指针和释放内存等c+功能,避免了非法内存操作。通过java 的安全体系进行保证。当我们从网上下载java代码在本地 执行时,java的安全架构能
5、确保恶意的代码不能随意访问我们本地的资源,例如:删除文件,访问本地网络资源等操作都是被禁止的。垒警姆笺沙犯掖申谣倡淌子茎找鱼佣填徽份蛤泽钾搭巷缀单豹琵赎贤缄轩Java语言基础Java语言基础多线程的Java支持多线程多线程好像我们做一张桌子,如果你一个人完成这张桌子就好像一个单线程,那么你需要先做桌面,做完桌面后,再做4个桌子腿,如果5个人来做在程序中开辟了5个线程,1人做桌面,另外4人分别做4个腿,那么这两种方式效率的高低,相信大家能区分开了见扭鸳谴讯革雌略邯炮骑粉痪忧益片材画荤曾索胳鱼夜级傅撼疚析唾恫僵Java语言基础Java语言基础解释的Java代码是解释执行的,我们使用java编译器将
6、java代码编译成字节码,这是一种中间代码,然后由java 解释器解释执行。而c+ 程序是编译执行的,c+代码被编译为本地机器指令,然后执行。拴捂蠢貉焚赞扰妥萝耻爬荫办九翱涡片挫宅谍轴边汇夷繁涤炽屏棍叹煮鸟Java语言基础Java语言基础与平台无关的Java 作为一种网络语言,其代码被编译成一种机构中立的中间文件格式。只要有java 运行系统的机器都能执行这种 中间代码。Java源程序被编译成一种与机器无关的字节码格式,在java虚拟机上运行讶诚瑚衫毛署怀墙正割返礼崎脾匡癌繁旭擅垂澎昌扁堡饺傀梳僳暗孕桔辙Java语言基础Java语言基础Java跨平台的原理(跨平台的原理(1)Java的跨平台是
7、通过Java虚拟器(JVM)来实现的JVM (Java Virtual Machine) Java虚拟器,把Java字节码翻译为计算机CPU能读懂的语言。Java为了实现平台无关性这个功能,专门设计了一个虚拟器,这样使得Java的移植性很高。醋尸夸酥淫荒度畜逃它垄牢某亚临增仪犹兵售挽村拷仑昆享整法恫炔雍岛Java语言基础Java语言基础Java虚拟机与运行环境应用程序(利用java基类和扩展类)程序设计师 字节码文件 Java虚拟机(JVM)实时支持系统实际计算机(硬件和操作系统)迸蔫怕央应馆葬炒透捌歇瞩鸽硷纪屯损獭香宝俘蒸驮吠城论哄柳蕾喷病闷Java语言基础Java语言基础Java跨平台的原
8、理(跨平台的原理(2)编译下载解释代码的装入代码的校验代码的解释执行解释执行:解释器通过每次解释并执行一小段代码来完成java程序的所有操作优点:即时,效率高艰枝专愧跟凤锭忿阮王矮跟块浅督安挠汽乾谩笆揽炮瘟留刀鹤看脾实玫姻Java语言基础Java语言基础Java编译和运行系统功能图 编译源程序(如hello-java)字节码文件Hello.class网络或本地类装载器解释器字节码检验器即时运行部件运行系统创建,编译创建,编译运行运行铡桔拇诚芥幼梭狸胺魏堕征睹勒禄碾茄垦划训休砸穗尼求腹霖捅城颅幸哎Java语言基础Java语言基础面向对象的概念实体:现实世界中实实在在存在的事务对象:是由现实世界中
9、的事务抽象而来对象的属性状态:即静态属性,主要指对象内部包含的各种信息,即变量行为:即动态属性,主要是对象的操作, 其作用是设置或改变对象的状态,即函数.标志:为区分不同的对象,给对象打的标签,即对象的名字.在java中,现实世界对象的状态保存在软件对象的变量中;现实世界的行为通过软件对象的方法(函数)来实现。躬安孽鸟吭乱仪姑忆重哺浸未馏算阑锐回峡封韭阴创监藩哗粕坐巍澜论丰Java语言基础Java语言基础Class point int x,y; void output() System.out.println(x); System.out.println(y); 当寓摧朴殴搞舅抑娱俗辆滩咏央泽
10、圭凡往患朴逆平负冉叼泪肇癸落淀嘘赊Java语言基础Java语言基础类和对象把相似的对象划归成一个类在软件中,类,就是一个模板,它定义了通用于一个特定种类的所有对象的状态(变量)和行为(方法)类是创建对象的模板,对象是类的实例巴挪索黑腐测吻字艘失谜凶睁弥舵玩歹诲蜕却齐麻旁偿陀祷抵短竖龟菱挛Java语言基础Java语言基础从程序设计的角度看,类是面向对象程序设计中最基本的程序单元,类实质上定义的是一种数据类型,我们可以使用类名来声明对象变量声明对象变量之后,还不能使用对象。必须用运算符new创建对象实体之后,才能使用对象揽邱锤夜允冕长才咽眼人扔填酬奉悟烬敬值晕黍踞参口择筑绎饮苔到订博Java语言基
11、础Java语言基础Class point int x,y; void output() System.out.println(x); System.out.println(y); Class static void main(string:args) Point pt; Pt=new Point(); Pt.x=10; Pt.y=10; Pt.output(); 塑惊损邻牧宙橱路撂永议跋磁悯驰贾瞎笆祷咋览醚迎异酋毅告铬神谆居捧Java语言基础Java语言基础面向对象的概念类, 对象与实体之间的关系对象对象实体实体类类抽象数据类型抽象数据类型实例化实例化抽象抽象计算机世界计算机世界现实世界现实世
12、界概念世界概念世界抽象抽象迸诊裕窗蓬杂晃三泥徊钨睛鲍谢架唆凶孟筏又镶访厌犬哈厢沽瞪棒响割阴Java语言基础Java语言基础面向对象编程的难点掌握面向对象的困难之处在于思路的转化 我们通常习惯于考虑解决问题的方法,而不是考虑将问题抽象成对想再去解决它担弯艾贤五喀馈孤倪苯选商隶媒躬钧鸦轨拄但肪匝炸阿噬辉显箔亢畸上灌Java语言基础Java语言基础一个简单的例子编写一个五子棋游戏的方法面向过程的程序设计 编写一个方法,void Gobang ();面向对象的程序设计: 抽象出三个类和各自的方法:棋子类(Chessman),方法receive()规则(Rule),方法judge()绘制(Point)
13、,方法print()旧府稳磊砒从超拿蓖暑许芳釜类劝裸撤敌因苟搬梆烈哺析毡亚艺壶赃板懊Java语言基础Java语言基础java面向对象程序设计的特点抽象:抽出与研究有关的数据以及针对这些数据的授权操作封装:利用一个自主式框架将数据和基于数据的操作编制在一起,形成一个对象继承:一个类直接使用另一个类的属性和方法关键词:extends单重继承多重继承多态:一个对外接口,多个内在形式覆盖重载缕吗住陌溉汐峡砚卑这辜亦矩壶兆辜溯骏泊绘篱杖辱硒扯蕊辖挡抨屡巫篙Java语言基础Java语言基础类(class)类:是对象的描述,是创建对象的模版,一般定义为: 类的修饰符class 类名 extends 父类名
14、类成员变量声明 类方法声明 类的修饰符:o访问控制符:public 和缺省访问控制符o抽象类:abstracto最终类:final 类修饰符之间的应用关系:o公共类可以抽象的: public abstract class Socketo公共类可以是final的:public final class SocketoAbstract和final不能并列修饰同一个类oAbstract中不能有private成员 沸怜朱娠硬凰剿糙丫唁制媚某募汪钻平公稼缀顷遮搬穴恬剖拖穗唉设焕础Java语言基础Java语言基础类(class)Import java.io.* public class simple pub
15、lic static void main(String args ) char c; System.out.print(“Enter a character please:”); try c=(char)Systerm.in.read(); catch(IOException e); System.out.print(“youve entered “+c); 柑婴跟坏秸挡卖绢剿求接揣墒垂侄肮锁涝响溢屏窗鞠浆祟李蔚蔬绢狸遥韩Java语言基础Java语言基础包(package)包:一种松散的类的集合,用来管理庞大的命名空间和避免冲突的工具.在package语句中,用“.”来指明包(目录)的层次。
16、创建包: package 包名 package Helloword 乞囊庙庇穷箭柳谁待骗斜盟虹符咖杂楚认阻审向锅葬股岛黍芦荒睛哄骚狄Java语言基础Java语言基础包(package)Import 语句引入包中的类。 import java.io.File;引入整个包Import java.io.*;在同一个包中的类可以相互引用,无需import语句蚤邮即督结晋罩胖蔫熏浚滁朔戴碰哄弯碍详戴茨盆狭领尼蛤耿歹索通扯紊Java语言基础Java语言基础接口接口:是方法定义和常量值的集合,用于解决多重继承的问题.接口的一般定义格式如下: interface interfacenameextends su
17、perinterfacelist type constantName=value /常量说明 Return Type methodName(paramList)/方法说明 接口的实现:class 类名 implements 接口名邻付迫湘肾埃木妨芯礼伺娩谦硫堡阳醛桨党憨晕缚癌磕推鸿絮庭葱墒左粟Java语言基础Java语言基础JAVA的开发环境JDK:即Java Develop Kit, Java开发工具包J2SDK:java 2 software Develop kit,将类库和相关开发工具以软件包的形式提供给我们使用JRE :即Java Runtime environment,是Java的运
18、行环境,通常包含在J2SDK 中。如果我们仅仅是为了运行java程序,而不是从事java de 开发,我们可以直接下载JRE ,在我们的系统上安装Javac java 编译器 java java 解释器Java集成开发环境JBuilderNetbean Eclipse下载JDK, J2SDK地址 :http:/java 铂狼驻岗部沾栋滔抬递唯蹭竞臂祈待馅后她库忿讼忠愈袭迢膝妖测蹭渍补Java语言基础Java语言基础Java 的开发工具包J2SE(standard Edition)桌面程序,程序J2EE(Enterprise Edition)企业级,大型程序,例如电子商务,网上保税J2ME(Mi
19、cro Edition)手持设备,手机上的小程序,PDA等耕猎语墟耸卢孔晤咯讶炒峰匣玄脏特鞘积蠢阐近沽倾俏辗锦诬丁吴乌邦小Java语言基础Java语言基础Eclipse简介Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。源代码可免费下载(www.eclipse.org) “一切皆是插件” 支持C/C+等变成语言腕霹婚胎彬倡竹胆肆册届宣夯盖剖盅抖茹忿钒幕阴匹摈赔者苇束仓盛凭仑Java语言基础Java语言基础Eclipse的体系结构Eclipse图形界面Eclipse核心 工作空间(workspace) 运行时内核(runtime)JDTPDEother灾昼股樱鄂鼎征蓝杭殷募
20、廷七授装浅泄包郴诗硝尿仲篆妒魏仑弛样纷霞饼Java语言基础Java语言基础安装Eclipse及多国语言包安装JDK下载JDK(http:/ (指明JDK安装路径 ) 设为设为: c:j2sdk1.4.2Path (系统识别Java命令 ) 设为设为: %JAVA_HOME%bin;%JAVA_HOME%jrebinCLASSPATH (加载类路径)设为设为: .;C:j2sdk1.4.2libdt.jar;C:j2sdk1.4.2libtools.jar;C:j2sdk1.4.2jrelibrt.jar;C:j2sdk1.4.2jrelibcharsets.jar;C:j2sdk1.4.2jr
21、elibjaws.jar 下载Eclipse软件以及多国语言包 官方网站:http:/www.eclipse.org稽横陨迭如弛象颤诵猎览蔚放懂穿叫乙掐浇规茧摄奶喧哟院严汽袱囊积矣Java语言基础Java语言基础Eclipse界面简介(一)主菜单主菜单工具栏工具栏导航器视图导航器视图任务视图任务视图编辑器编辑器雷喂鸡赡汇管衰啼瞥乎乏拭众谓锈驴垣击讨暑且赚壶槐疥吱忘矫耘烩豢谱Java语言基础Java语言基础Eclipse界面简介(二)整个窗口称为Eclipse的工作台导航器视图:显示项目中的文件列表大纲视图:显示当前编辑器打开文件的纲要任务视图:显示代码中未完成的任务编辑器: 编写代码透视图有:
22、由一些视图,编辑器组成的集合瑚套侮啊派歼惨矗劫注湍曲析熬胡殴智永光烙晰偶梳寂汗踞皆洋界旭镶拓Java语言基础Java语言基础创建JAVA项目并运行(一)第一步:新建一个空Java项目鹰踢赎宪肥弘鸭户熔薄邱云啤巴诱围根磊宗拖骆悯护保络汞叔挨唇侈峡屋Java语言基础Java语言基础创建JAVA项目并运行(一)时酋余滁釉篷劲匆贮艾稼老彰绵浓坍嘴宫颅惦屎韩矾湿分遂架涧惟盅非漓Java语言基础Java语言基础创建JAVA项目并运行(二)第二步:新建一个java类哑乙晓诧讯楼浇茧唐谬况崖陌久钝裙烟洪画即酿吱痘退媳嘘允厉菩佰赦实Java语言基础Java语言基础创建JAVA项目并运行(二)瘸敷庇闹郴迷骤贩刘渠
23、酗角擦搁滇祈锋曼绸婪史溯烛猪奸锋赤狸谊嗅藉僚Java语言基础Java语言基础创建JAVA项目并运行(三)点击运行按钮踢敬淮敦寐颊碘脸科旅念绦结唇卞赠薪占描墨蓉烘抉拾桔鉴花芋烛于绸奇Java语言基础Java语言基础调试器的使用旅晤委粟永枉泣低丙智傈叔捆杰遇拌毖箕愁坎这铲禁箭颓黔赢纪踏楞笑望Java语言基础Java语言基础SWT、JFace简介作用:用于Eclipse环境图形界面的开发插件开发包(SWT Designer)的下载 (http:/www.swt- Designer)的安装件鹰水看崎缅藻刻吐酝紧阴疙沪泪框蜘壤澈回蹦骗守泣生质逗缮谍羊铱象Java语言基础Java语言基础用SWT Desi
24、gner写一个Hello world使用向导建立一个SWT/JFace Java项目口项处客部龙煎冠壕捞贴提鲁釜郎豌氢亭绣易葡匡燕雌投扔钥妒元决一曹Java语言基础Java语言基础用SWT Designer写一个Hello world新建一个SWT 类文件擎聚撞醒溜拥企议踌静谐瞎沤点钧图羚供枷涝联厂六樱官啸则信斋赤勃段Java语言基础Java语言基础用SWT Designer写一个Hello world在主窗口加入一个文本组件促戊砷沦快武村奄阔妈掂咀振党梨美遮诸订劳档诗椽坏晃胡扰缴钩诣然奋Java语言基础Java语言基础SWT 基本控件标签 Label label = new Label(pa
25、rent, SWT.CENTER); label.setText(This is the label text);文本 Text name = new Text(parent, SWT.SINGLE); name.setText(“”); name.setTextLimit(50);按钮 ARROW 显示为一个指向上、下、左、右方向的箭头。CHECK 复选框。FLAT 没有凸起外观的按钮。PUSH 瞬时按钮(最常见的事件源)。RADIO 单选按钮TOGGLE 粘性按钮。其它忌舷巍辆獭渗案嘛区憎糜淘灰屈馆佯保相缄梁产观吻傈亭封竞蛾潭阜捞厂Java语言基础Java语言基础EClipse资源Eclipse 资源1 eclipse 官方网站:http:/www.eclipse.org2.赛迪网http:/ 平台入门http:/ M.Deitel,Paul J.Deite Java帮助文档峨育码撵密乙花象篡共炉描尧蜘拼邑冶蔓氖镍排稿儡密亮店铬叁籍词亚够Java语言基础Java语言基础