欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Java基础知识培训课件.ppt

    • 资源ID:1285823       资源大小:846.90KB        全文页数:64页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java基础知识培训课件.ppt

    Java基础知识培训,Java基础知识培训,目录,第1章 Java发展历史及现状第2章 Java基本语法 第3章 面向对象,目录,培训要点,3,第一章Java的趣味发展史以及现状第二章public class 和class的声明的区别Java的数据类型基本数据类型引用数据类型数据类型的默认值数据类型的转换循环控制fordowhilewhileif else数组,培训要点3第一章,培训要点,方法方法的格式方法重载构造函数函数重载的区分为什么不以返回值区分重载方法方法与数组第三章this表示“调用方法的那个对象”在构造器里调用构造器的限制不能在一个构造器调用两个构造器必须将构造器调用置于最起始处,4,培训要点方法4,培训要点,开发的方式面向对象三个特征 封装 继承 多态面向过程类的封装性类的图形表示构造方法匿名对象字符串Object的几个重要的方法Object.equalsObject.hashCodeObject.toString,5,培训要点开发的方式5,培训要点,static在static方法内部不能调用非静态方法finalize工作原理析构函数设计一个简单的问题,要求用户输入用户和口令,如果用户为xiaoX,口令为123,则向控制台打印登录成功,否则打印登录失败构造函数私有化代码块内部类函数回调继承final关键字抽象类接口,6,培训要点static6,培训要点,对象的多态性抽象类和接口的应用适配器模式简单工厂模式代理模式异常包持有对象字符串,7,培训要点对象的多态性7,Java发展史,SUN:斯坦福大学网络1991年 GREEN项目 C+ 新的平台Oak 网景公司1995年 Oak命名为Java1998年 Java2Java技术的主要分支J2SEJ2MEJ2EEJAVA62012年即将推出JAVA7,8,Java发展史SUN:斯坦福大学网络8,Java发展史,三者之间的关系,9,Java发展史三者之间的关系9,Java特点,面向对象编译型语言编译型语言和解释型语言的区别:解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。Java虚拟机指针Java里不存在指针,因为java所有的对象,都是指针调用。低层以C+开发JVM保证了一次编译,处处运行(理论上)多厂家都有自己的jvm,10,Java特点面向对象10,Java基础命令,Java -versionJavacJdbjava -cp %MON_CP% %XM% com.sdunicomsi.monitor.agent.AgentSendInfo源文件与字节码,Java基础命令Java -version,ublic class 和class的确别,建立一个文件名Person的类public class PersonDemo,12,ublic class 和class的确别建立一个文件名P,关键字、标识符、转义符,在Java语言中,标识符是赋予变量、类和方法等的名称。标识符由编程者自己指定,但需要遵循一定的语法规范: (1) 标识符由字母、数字、下划线(_)、美元符号($)组成,但美元符号用得较少。 (2) 标识符从一个字母、下划线或美元符号开始。 (3) Java语言中,标识符大小写敏感,必须区别对待。 (4) 标识符没有最大长度的限制,但最好表达特定的意思。 (5) 标识符定义不能是关键字。,关键字、标识符、转义符在Java语言中,标识符是赋予变量、类,转义符,关键字又称保留字,是指Java语言中自带的用于标志数据类型名或者程序构造名等的标识符,如public、double等。 转义符是指一些有特殊含义的、很难用一般方式表达的字符,如回车、换行等。所有的转义符以反斜线()开头,后面跟着一个字符来表示某个特定的转义符,转义符关键字又称保留字,是指Java语言中自带的用于标志数,/i+和+i是有区别的, /i+是在一个先使用后加1,即先使用i的值,后让i+1 /+i则是先加1后使用,即先让i+1后再使用i的新值 class ijiajia public static void main(String args) System.out.println(Hello World!); int i=3; int count=(i+)+(i+)+(i+);System.out.println(i);/i=6 System.out.println(count);/count=12 int j=3; count=(+j)+(+j)+(+j);/count=4+5+6 System.out.println(j);/j=6 System.out.println(count);/count=15 ,/i+和+i是有区别的,数据类型,基本数据类型 intcharbytelongfloatdouble引用数据类型New 接口 类对象 数组String是不基本数据类型,16,数据类型基本数据类型 16,数据类型的默认值,基本数据类型都有自己的默认值private int age; /默认值为0,17,数据类型的默认值基本数据类型都有自己的默认值17,控制语句,ifdo.whilewhileforforeach (JDK1.5之后的新特性),18,控制语句if18,foreach示例,ublic class ForEach public static void main(String args) String aa = 小刚, 小明, 小敏, 小红 ;/ JDK1.4之前for (int i = 0; i aa.length; i+) System.out.println(aai + 、);/ JDK1.5之后,包括JDK1.5foreach (String s : aa) System.out.println(s + 、);,19,foreach示例public class ForEach,数组的声明,int aa=new int10;int aa=null; aa=new int10;int aa=1,10,2;,20,数组的声明int aa=new int10;20,方法,ublic 数据类型|void 方法名(参数类表)构造函数实际上就是一种重载函数重载的唯一标志就是参数列表,21,方法public 数据类型|void 方法名(参数类表)2,方法重载实例,class Number public void add(int x) System.out.println(int x= + x);public int add(int x) System.out.println(double x= + x);Return 1;public class MethodDemo public static void main(String args) Number number=new Number();number.add(1);number.add(1f);,22,方法重载实例class Number 22,可变参数(新特性),ublic class Method1 public static void main(String args) int temp = 2, 4, 6, 8 ;fun(); / 没有参数fun(1); / 一个参数fun(1, 3, 5, 7, 9); / 一个参数fun(temp);public static void fun(int. arg) for (int x : arg) System.out.print(x + 、);System.out.println();,23,可变参数(新特性)public class Method1,为什么不一返回值确定一个方法,public class MethodDemo1 public void fun() System.out.println(Hello Union!);public String fun() System.out.println(Hello Union!);public static void main(String args) fun();,24,为什么不一返回值确定一个方法24,方法与数组,ublic class MethodArray public static void main(String args) int temp = 1, 3, 5, 7, 9 ; / 声明数组fun(temp);print(temp);public static void fun(int x) x0 = 6; / 修改第一个元素public static void print(int x) for (int i = 0; i x.length; i+) System.out.print(xi + 、);,25,方法与数组public class MethodArray,this 关键字,调用类的属性 this.属性调用类的方法 this.方法调用类的构造方法 this()表示当前对象 this,26,this 关键字26,this 关键字,class Person String name;public String getName() return name;public void setName(String name) name = name;,27,this 关键字class Person 27,this 关键字,28,public class Book public Book() System.out.println(book);public Book(int x) System.out.println(book);System.out.println(book + x);public Book(int x, int y) System.out.println(book);System.out.println(book + x);System.out.println(book + y);,this 关键字28public class Book ,this 关键字,29,public class Book public Book() System.out.println(book);public Book (int x) this();System.out.println(book + x);public Book (int x, int y) this(x);System.out.println(book + y);,this 关键字29public class Book ,Super关键字,调用父类的属性 super.属性调用父类的方法 super.方法调用父类的构造方法 super()在构造函数内,super()必须放在第一行,Super关键字调用父类的属性 super.属性,开发方式,31,面向过程主要是解决问题,有点记叙文的味道面向对象是一套系统的开发的模式,更能贴近现实事物一种思路,开发方式31面向过程主要是解决问题,有点记叙文的味道,开发方式,32,面向过程主要是解决问题,有点记叙文的味道面向对象是一套系统的开发的模式,更能贴近现实事物一种思路,特征抽象封装性继承性多态性,开发方式32面向过程主要是解决问题,有点记叙文的味道,类和对象,33,类和对象33,类和对象,34,类的组成访问类的属性和方法,类和对象34类的组成,类的封装性,class Person String name;int age;public class ClientPerson per=new Person(); per.name=“小明”;per.age=-10;加入private,35,类的封装性class Person 35,类的图形表示,36,类的图形表示36,构造方法与匿名对象,37,构造方法必须与类名相同构造方法没有返回值可以有多构造方法每个必须有构造方法class Person通俗的说只使用一次的对象称为匿名对象,构造方法与匿名对象37构造方法必须与类名相同,字符串拆分,38,ublic class StringDemo public static void main(String args) String s = asd,333,2222,000,1111;String s_a = s.split(,);for (String s1 : s_a) System.out.print(s1 + 、);System.out.print(n);String ss = asd|333|fff|sss|asdfsad;这个字符串怎么根据”|”拆分为字符串数组?,字符串拆分38public class StringDemo,Object.equals,39,class Personint age;public class ClientPerson per1=new Person();Person per2 = per1;Per2.age=1;System.out.println(per1.equals(per2);,Object.equals39class Person,Object.equals,40,class Persion private int age;public int getAge() return age;public void setAge(int age) this.age = age;Overridepublic boolean equals(Object obj) if (this = obj) return true;if (obj instanceof Persion) if (this.age = (Persion) obj).getAge() return true;return false;public class EqualsDemo1 public static void main(String args) Persion per1 = new Persion();Persion per2 = new Persion();per1.setAge(10);per2.setAge(10);System.out.println(per1.equals(per2);,Object.equals40class Persion ,Object.hashCode toString,41,一般重写了基类的equals方法,也要重写hashCode方法HashMap HashTabletoString的必要性class Personint name;public static void main(String args)System.out.println(new Person();,Object.hashCode toString41一般重写,static 关键字,42,类名称.static属性/方法,static 关键字42类名称.static属性/方法,finalize关键字,43,工作原理:一旦垃圾回收器准备释放对象占用的存储空间,将首先调用finalize()方法,并且在下一次垃圾回收动作发生时,才会真正回收对象占用的内存。finalize不等于析构函数Finalfinally,finalize关键字43工作原理:一旦垃圾回收器准备释放对,登录示例,44,pubic class Clientpublic static void main(String args)String name=args0;String password=args1;if(name.equals(“xiaoX”) ,登录示例44pubic class Client,构造函数私有化,45,class MessageInfoprivate MessageInfo()public class Clientpublic static void main(String args)MessageInfo info=new MessageInfo();,构造函数私有化45class MessageInfo,代码块,46,普通代码块构造块静态块,代码块46普通代码块,内部类,47,内部类就在一个类的内部又定义了一个类class OuterClass private int name;class InnerClass public void fun() System.out.println(name);,内部类47内部类就在一个类的内部又定义了一个类,函数回调,48,public interface ICallBack public void print();public class Printer ICallBack ic;void setCallBack(ICallBack ic) this.ic = ic;void execute() ic.print();,函数回调48public interface ICallBa,函数回调,49,ublic class PrintHandler public static void main(String args) Printer printer = new Printer();printer.setCallBack(new ICallBack() public void print() System.out.println(This is a callback);); / 这句话可以设置成当满足某条件时再执行printer.execute();,函数回调49public class PrintHandle,继承,50,继承就是扩展已有类的功能,父类称为“超类”,子类称为“派生类”继承的限制子类的实例化过程方法的覆写,继承50继承就是扩展已有类的功能,父类称为“超类”,子类称为,final关键字,51,声明类final class A声明方法public final void fun()声明属性public final String s=“Hello Union!”,final关键字51声明类,抽象类abstract,52,abstract class Apublic abstract void fun();class Clientpublic static void main(String args)A a=null;a=new A();(cuowu)抽象类是否能用final关键字来修饰 不能抽象类是否可以有构造函数 必须有 接口 不可以有构造方法 不能有方法体,抽象类abstract52abstract class A,接口,53,接口是一种特殊的类,在接口中定义的方法全部都是抽象方法,定义的属性全部都是全局常量一个类可以实现多个接口只有一个父类一个接口可以继承多个接口,接口53接口是一种特殊的类,在接口中定义的方法全部都是抽象方,多态性,54,向上转型:子类引用调用父类对象.向下转型: 父类引用指向子类对象,可以调用子类的特有方法父类设计很重要,多态性54向上转型:子类引用调用父类对象.,抽象类和接口的应用,55,适配器模式interface ManageObjectpublic void fun1();public void fun2();public void fun3();但是我又不想实现ManageObject接口的所有方法,只有一部分方法是我需要的,怎么办?,抽象类和接口的应用55适配器模式,抽象类和接口的应用,56,简单工厂模式interface Fruitvoid eat();class Orange implements Fruitpublic void eat()System.out.pritnln(“吃桔子”); class Clientpublic static void main(String args)Fruit fruit=new Orange ();fruit.eat(); 如果,抽象类和接口的应用56简单工厂模式,抽象类和接口的应用,57,简单工厂模式interface Fruitvoid eat();class Orange implements Fruitpublic void eat()System.out.pritnln(“吃桔子”); class Clientpublic static void main(String args)Fruit fruit=new Orange ();fruit.eat(); 如果现在又多了一个水果为Apple,客户端现在不吃桔子了,改吃苹果,那只能修改Fruit fruit=new Apple (); 这样设计的缺陷是什么?,抽象类和接口的应用57简单工厂模式,抽象类和接口的应用,58,代理模式如果A类要去执行一个方法,但是A类不直接去执行,而是委托B类去执行,这个方法,那为什么这么做?interface Zvoid doIt();class A implements Zpublic void doIt()System.out.println();class B implements Zprivate A a=null;public B(A a)this.a=a; public void doIt()a.doIt();,抽象类和接口的应用58代理模式,抽象类和接口的应用,59,工厂模式接口类Fruit.javapublic interface Fruit 水果类public class Banana implements Fruit public class Orange implements Fruit 工厂类public class Factory public static Fruit getFruit(String fruitName) Fruit fruit = null;if (Banana.equals(fruitName) fruit = new Banana(); else if (Orange.equals(fruitName) fruit = new Orange();return fruit;,抽象类和接口的应用59工厂模式,工厂模式,客户端类public class Client public static void main(String args) Fruit fruit = Factory.getFruit(args0);,工厂模式客户端类,Java的io,import java.io.*;public class CharInLineOut public static void main(String args) char c= ; System.out.println(请输入一个字符); try c=(char)System.in.read(); catch (IOException e) System.out.println(c+c+c); ,Java的io import java.io.*;,查找算法,冒泡算法二分算法,查找算法冒泡算法,异常,63,为什么要用异常处理?ThrowableErrorException异常的语法ClassNotFoundExceptionIOExceptionFileNotFoundException,异常63为什么要用异常处理?,谢谢!,谢谢!,

    注意事项

    本文(Java基础知识培训课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开