Java基础知识培训课件

PPT
  • 阅读 46 次
  • 下载 0 次
  • 页数 64 页
  • 大小 2.108 MB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
Java基础知识培训课件
可在后台配置第一页与第二页中间广告代码
Java基础知识培训课件
可在后台配置第二页与第三页中间广告代码
Java基础知识培训课件
可在后台配置第三页与第四页中间广告代码
Java基础知识培训课件
Java基础知识培训课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 64
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】Java基础知识培训课件.ppt,共(64)页,2.108 MB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-45165.html

以下为本文档部分文字说明:

Java基础知识培训目录第1章Java发展历史及现状第2章Java基本语法第3章面向对象培训要点3◼第一章◼Java的趣味发展史以及现状◼第二章◼publicclass和class的声明的区别◼Java的数据类型◼基本数据类型◼引用数据类型◼数据类型的默认值◼数据类型的转换◼循环控制◼fo

r◼do…while◼while◼if…else◼数组培训要点方法方法的格式方法重载构造函数函数重载的区分为什么不以返回值区分重载方法方法与数组第三章this表示“调用方法的那个对

象”在构造器里调用构造器的限制不能在一个构造器调用两个构造器必须将构造器调用置于最起始处4培训要点开发的方式面向对象三个特征封装继承多态面向过程类的封装性类的图形表示构造方法匿名对象字符串Object的

几个重要的方法Object.equalsObject.hashCodeObject.toString5培训要点static在static方法内部不能调用非静态方法finalize工作原理析构函数设计一个简单的问题,要求用户输入用户和口令,如果用

户为xiaoX,口令为123,则向控制台打印登录成功,否则打印登录失败构造函数私有化代码块内部类函数回调继承final关键字抽象类接口6培训要点对象的多态性抽象类和接口的应用适配器模式简单工厂模式代理模式异常包持有对象字符串

7Java发展史SUN:斯坦福大学网络1991年GREEN项目C++新的平台Oak网景公司1995年Oak命名为Java1998年Java2Java技术的主要分支J2SEJ2MEJ2EEJAVA62012年即将推出JAVA

78Java发展史三者之间的关系9Java特点面向对象编译型语言编译型语言和解释型语言的区别:解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语

句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。Java虚拟机指针Java里不存在指针,因为java所有的对象,都是指针调用。低层以C++开发JVM保证了一次编译,处处运行(理论上)多厂家都有自己的jvm1

0Java基础命令Java-versionJavacJdbjava-cp"%MON_CP%""%XM%"com.sdunicomsi.monitor.agent.AgentSendInfo源文件与字

节码publicclass和class的确别建立一个文件名Person的类publicclassPersonDemo{}12关键字、标识符、转义符在Java语言中,标识符是赋予变量、类和方法等的名称。标识符由编程者自

己指定,但需要遵循一定的语法规范:(1)标识符由字母、数字、下划线(_)、美元符号($)组成,但美元符号用得较少。(2)标识符从一个字母、下划线或美元符号开始。(3)Java语言中,标识符大小写敏感,必

须区别对待。(4)标识符没有最大长度的限制,但最好表达特定的意思。(5)标识符定义不能是关键字。转义符引用方法含义\b退格\t水平制表符Tab\n换行\f表格符\r回车\'单引号\"双引号\\反斜线关键字又称保留字,

是指Java语言中自带的用于标志数据类型名或者程序构造名等的标识符,如public、double等。转义符是指一些有特殊含义的、很难用一般方式表达的字符,如回车、换行等。所有的转义符以反斜线(\)开头,后面跟着一

个字符来表示某个特定的转义符//i++和++i是有区别的,//i++是在一个先使用后加1,即先使用i的值,后让i+1//++i则是先加1后使用,即先让i+1后再使用i的新值classijiajia{publicstaticvoidmain(String[]args){S

ystem.out.println("HelloWorld!");inti=3;intcount=(i++)+(i++)+(i++);System.out.println(i);//i=6System.out.println(count);//count=12intj=3;count

=(++j)+(++j)+(++j);//count=4+5+6System.out.println(j);//j=6System.out.println(count);//count=15}}数据类型基本数据类型intcharbytelongflo

atdouble引用数据类型New接口类对象数组String是不基本数据类型16数据类型的默认值基本数据类型都有自己的默认值privateintage;//默认值为017控制语句ifdo…..whilewhileforforeach(JDK1.5之后的

新特性)18foreach示例publicclassForEach{publicstaticvoidmain(String[]args){String[]aa={"小刚","小明","小敏","小红"};//JDK1.4之前for(inti=0;i<aa.length;i++){

System.out.println(aa[i]+"、");}//JDK1.5之后,包括JDK1.5foreach(Strings:aa){System.out.println(s+"、");}}}19数组的声明int[]aa=newint[10];int[]aa=null;

aa=newint[10];int[]aa={1,10,2};20方法public数据类型|void方法名(参数类表){}构造函数实际上就是一种重载函数重载的唯一标志就是参数列表21方法重载实例classNumber{publicvoidadd(intx){System.out.p

rintln("intx="+x);}publicintadd(intx){System.out.println("doublex="+x);Return1;}}publicclassMethodDemo{publicstaticvoidmain(String[]args){Numbernumb

er=newNumber();number.add(1);number.add(1f);}}22可变参数(新特性)publicclassMethod1{publicstaticvoidmain(Stringargs[]){inttem

p[]={2,4,6,8};fun();//没有参数fun(1);//一个参数fun(1,3,5,7,9);//一个参数fun(temp);}publicstaticvoidfun(int...arg){for(i

ntx:arg){System.out.print(x+"、");}System.out.println();}}23为什么不一返回值确定一个方法publicclassMethodDemo1{publi

cvoidfun(){System.out.println("HelloUnion!!");}publicStringfun(){System.out.println("HelloUnion!!");}publicstaticvoidmain(String[]args){fun()

;}}24方法与数组publicclassMethodArray{publicstaticvoidmain(Stringargs[]){inttemp[]={1,3,5,7,9};//声明数组fun(tem

p);print(temp);}publicstaticvoidfun(int[]x){x[0]=6;//修改第一个元素}publicstaticvoidprint(int[]x){for(inti=0;i<x.length;i++){

System.out.print(x[i]+"、");}}}25this关键字调用类的属性this.属性调用类的方法this.方法调用类的构造方法this()表示当前对象this26this关键字classPerson{Stringname;publicStringgetName(){re

turnname;}publicvoidsetName(Stringname){name=name;}}27this关键字28publicclassBook{publicBook(){System.out.println("book");}publicBo

ok(intx){System.out.println("book");System.out.println("book"+x);}publicBook(intx,inty){System.out.println("bo

ok");System.out.println("book"+x);System.out.println("book"+y);}}this关键字29publicclassBook{publicBook(){System.out.println("book");}publicBook(in

tx){this();System.out.println("book"+x);}publicBook(intx,inty){this(x);System.out.println("book"+y);}}Super关键字调用父类的

属性super.属性调用父类的方法super.方法调用父类的构造方法super()在构造函数内,super()必须放在第一行开发方式31◼面向过程主要是解决问题,有点记叙文的味道◼面向对象是一套系统的开发的模式,更能贴近现实事物一种思路开发

方式32◼面向过程主要是解决问题,有点记叙文的味道◼面向对象是一套系统的开发的模式,更能贴近现实事物一种思路,特征◼抽象◼封装性◼继承性◼多态性类和对象33类和对象34◼类的组成◼访问类的属性和方法类的封装性classPerson{Stringname;intage;}publiccl

assClient{Personper=newPerson();per.name=“小明”;per.age=-10;}加入private35类的图形表示36构造方法与匿名对象37◼构造方法必须与类名相同◼构造方法没有返回值◼可以有多构造方法◼每个必

须有构造方法classPerson{}通俗的说只使用一次的对象称为匿名对象字符串拆分38publicclassStringDemo{publicstaticvoidmain(String[]args){Strings="asd,333,2222,000,

1111";String[]s_a=s.split(",");for(Strings1:s_a){System.out.print(s1+"、");}System.out.print("\n");Stringss

="asd|333|fff|sss|asdfsad";这个字符串怎么根据”|”拆分为字符串数组??}}Object.equals39classPerson{intage;}publicclassClient{Personper1=newPerson();Personpe

r2=per1;Per2.age=1;System.out.println(per1.equals(per2));}Object.equals40classPersion{privateintage;publicintgetAge(){returnage;}publicvoidsetAge(in

tage){this.age=age;}@Overridepublicbooleanequals(Objectobj){if(this==obj){returntrue;}if(objinstanceofPersion){if(this.age==((Persion)obj

).getAge()){returntrue;}}returnfalse;}}publicclassEqualsDemo1{publicstaticvoidmain(String[]args){Persionper1=ne

wPersion();Persionper2=newPersion();per1.setAge(10);per2.setAge(10);System.out.println(per1.equals(per2));}}Objec

t.hashCodetoString41一般重写了基类的equals方法,也要重写hashCode方法HashMapHashTabletoString的必要性classPerson{intname;publicstaticvoidmain(String[]args){System.out.pr

intln(newPerson());}}static关键字42类名称.static属性/方法finalize关键字43工作原理:一旦垃圾回收器准备释放对象占用的存储空间,将首先调用finalize()方法,并且在下一次垃圾回收动作发生时

,才会真正回收对象占用的内存。finalize不等于析构函数Finalfinally登录示例44pubicclassClient{publicstaticvoidmain(String[]args){Stringname=args[0];Stringpasswo

rd=args[1];if(name.equals(“xiaoX”)&&password.equals(“123”)){System.out.println(“登录成功!!”);}else{System.out.p

rintln(“登录失败!!”);}}}构造函数私有化45classMessageInfo{privateMessageInfo(){}}publicclassClient{publicstaticvoidmain(String[]args){MessageInfoin

fo=newMessageInfo();}}代码块46普通代码块构造块静态块内部类47内部类就在一个类的内部又定义了一个类classOuterClass{privateintname;classInnerCla

ss{publicvoidfun(){System.out.println(name);}}}函数回调48publicinterfaceICallBack{publicvoidprint();}publicclassPrinter{ICall

Backic;voidsetCallBack(ICallBackic){this.ic=ic;}voidexecute(){ic.print();}}函数回调49publicclassPrintHandler{publicstaticvoidmai

n(String[]args){Printerprinter=newPrinter();printer.setCallBack(newICallBack(){publicvoidprint(){Sys

tem.out.println("Thisisacallback");}});//这句话可以设置成当满足某条件时再执行printer.execute();}}继承50继承就是扩展已有类的功能,父类称为“超类”,子类称为“派生类”继承的限制子类的实例化过程方法的覆写final关键字51◼声明类◼

finalclassA{◼}◼声明方法◼publicfinalvoidfun(){◼}◼声明属性◼publicfinalStrings=“HelloUnion!!”抽象类abstract52abstractclassA{publi

cabstractvoidfun();}classClient{publicstaticvoidmain(String[]args){Aa=null;a=newA();}}(cuowu)抽象类是否能用final关键字来修饰不能抽象类是否可以有构造函数必须有接口不可以有构造方法不能有方法体接口53◼

接口是一种特殊的类,在接口中定义的方法全部都是抽象方法,定义的属性全部都是全局常量◼一个类可以实现多个接口◼只有一个父类◼一个接口可以继承多个接口多态性54◼向上转型:子类引用调用父类对象…….◼向下转型:

父类引用指向子类对象,可以调用子类的特有方法◼父类设计很重要抽象类和接口的应用55◼适配器模式interfaceManageObject{publicvoidfun1();publicvoidfun2();publicvoidfun3();……

}但是我又不想实现ManageObject接口的所有方法,只有一部分方法是我需要的,怎么办?抽象类和接口的应用56◼简单工厂模式interfaceFruit{voideat();}classOrangeimplementsFruit{publicvoideat(){System.out.p

ritnln(“吃桔子”);}}classClient{publicstaticvoidmain(String[]args){Fruitfruit=newOrange();fruit.eat();}}如果抽象类和接口的应用57◼简单工厂模式interfaceFruit{voideat();}cl

assOrangeimplementsFruit{publicvoideat(){System.out.pritnln(“吃桔子”);}}classClient{publicstaticvoidmain(String[]args){Fruit

fruit=newOrange();fruit.eat();}}如果现在又多了一个水果为Apple,客户端现在不吃桔子了,改吃苹果,那只能修改Fruitfruit=newApple();这样设计的缺陷是什么?抽象类和接口的应用58◼代理模式◼如果A类要去执行一个方法,但是A类

不直接去执行,而是委托B类去执行,这个方法,那为什么这么做?interfaceZ{voiddoIt();}classAimplementsZ{publicvoiddoIt(){System.out.println();}}classBimplementsZ

{privateAa=null;publicB(Aa){this.a=a;}publicvoiddoIt(){a.doIt();}}抽象类和接口的应用59◼工厂模式接口类Fruit.javapublicinterfaceFrui

t{}水果类publicclassBananaimplementsFruit{}publicclassOrangeimplementsFruit{}工厂类publicclassFactory{publics

taticFruitgetFruit(StringfruitName){Fruitfruit=null;if("Banana".equals(fruitName)){fruit=newBanana();}elseif("Orange

".equals(fruitName)){fruit=newOrange();}returnfruit;}}工厂模式客户端类publicclassClient{publicstaticvoidmain(String[]args){Fruitfruit=Fac

tory.getFruit(args[0]);}}Java的ioimportjava.io.*;publicclassCharInLineOut{publicstaticvoidmain(Stringargs[]){charc=

'';System.out.println("请输入一个字符");try{c=(char)System.in.read();}catch(IOExceptione){}System.out.pri

ntln(c+""+c+""+c);查找算法冒泡算法二分算法异常63◼为什么要用异常处理?◼Throwable◼Error◼Exception◼异常的语法ClassNotFoundExceptionIOExceptionFileNotFoundException谢谢!

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?