《嘉兴Java培训》PPT课件.ppt

上传人:za****8 文档编号:12671404 上传时间:2020-05-13 格式:PPT 页数:49 大小:475.01KB
返回 下载 相关 举报
《嘉兴Java培训》PPT课件.ppt_第1页
第1页 / 共49页
《嘉兴Java培训》PPT课件.ppt_第2页
第2页 / 共49页
《嘉兴Java培训》PPT课件.ppt_第3页
第3页 / 共49页
点击查看更多>>
资源描述
JavaSE讲解,王贺尊,Java基础1、语法基础2、面向对象3、数组(Array)4、基础类5、I/OStream6、Collection容器7、Thread8、GUI9、JDBC,课程内容,Java发展史,95年sun发布jdk1.098年jdk1.2后续jdk1.3、1.4、1.5目前jdk1.6、1.7,JavaSE,JavaME,JavaWeb,JavaEE,Sp增值,Java语言特点,面向对象的语言与平台无关、提供程序运行时解释环境一种健壮的语言,吸收冷C/C+的优点,去掉了影响程序健壮的指针,内存的申请释放等,Java运行机制及过程,Java两大核心机制Java虚拟机(Javavirtualmachine)垃圾收集机制(garbagecollection),*.java源文件,Java编译器(javac),*.class文件,类装载器,字节码校验器,Java解释器,各种操作系统(windows、Linux、Unix、other),Java,Java虚拟机,VM可以理解为一个以字节码为机器指令的CPU对于不同的运行平台,有不同的JVMJVM屏蔽了底层运行平台的差别、实现了一次编译,处处运行,Java核心机制:垃圾回收,不再使用的内存应回收在C/C+中有程序员负责回收内存Java语言消除了程序员手动回收内存的责任、提供了系统级线程跟踪存储空间分配情况。JVM空闲时,检查并释放那些无用的内存垃圾收集器在程序运行过程中自动执行,程序员无需控制,Java开发环境的下载、安装、配置,下载:安装(windows环境下)配置环境变量:path例如:inti=100;floatf=23.08f;doubled,d2,d3=45.09;Strings=“”;本质上讲变量是内存中的一小块区域,使用变量名访问该区域,因此每一个变量在使用前要声明,然后必须进行赋值才能使用。,Intg=100;,栈内存,g:100,Java中程序的执行过程,硬盘,内存,Java程序,代码,操作系统代码,Stack:局部变量,Heap:对象实例,Datasegment:静态变量,字符串常量,Codesegment:存放代码,1:load到内存区,2:找到main方法执行,3:执行中的内存管理,Java变量的分类,按被声明的位置划分:局部变量:方法内部(包括方法的形参)或语句块内部定义的变量成员变量:方法的外部,类的内部定义注:jvm可为成员变量默认初始化类的外面不能定义变量按所属的数据类型分:基本数据类型变量:int、char等引用数据类型变量:对象、数组,TypeTest.java,DefaultInit.java,Java数据类型转换,基本数据类型转换,boolean类型不可转换为其他类型。整型,字符型,浮点型的数据在混合运算中相互转换遵循如下原则:容量小的类型自动转换为容量大的,数据类型按容量大小排序如下:byte、short、char-int-long-float-doublebypt、short、char三者之间不互相转换,三者参与运算时先转换为int类型容量大的在转换为容量小的时候要加强制转换符,但可能造成精度降低或溢出有多种数据类型参与运算时,首先转换为容量最大的类型,然后再运算浮点型常量默认值为double类型,整型常量默认值为int类型,inti=12;longl=12L;floatf=2.09;/错误floatf2=8.09f;doubled=44.09;,TestConvert.java,在Java中,变量一旦声明,就应对其进行初始化,运算符:operator,Java语言支持的运算符:算术运算符:+,-,*,/,%,+,-关系运算符:,=,基本不用赋值运算符:=扩展赋值运算符:+=,-=,*=,/=字符串连接运算符:+,注:+(-)在前时先计算后取值在后时先取值后计算,Test.java,逻辑运算符,逻辑运算符:【!逻辑非】【c=a,”“逻辑异与:相同就为false,不同则为true,字符串连接符,“+”除用于加法运算外,还可以用于字符串的连接inti=55+21;Strings=“wang”+“hz”;“+”运算符两侧的操作数只要有一个字符串(String)类型,系统就会自动将另一个操作数转换为字符串类型,然后连接:inti=12;System.out.println(“wanghz”+i);输出结果:wanghz12,注:System.out.println(value);中的value无论是何类型,都会先转为字符型,然后打印,Test.java,假设在D盘的tmp文件夹下的js文件夹下有一个Test.java的文件:D:tmpjsTest.java那么如何在command窗口找到该文件并且编译、执行它呢?看下页PPT,首先打开command窗口:“开始”“运行”,在弹出窗口中输入“cmd”,然后点击“确定”,弹出的command窗口,找到D:盘根目录,找到tmp文件夹下的js文件夹,通过javac命令编译Test.java文件,通过java命令执行生成的Test.class文件,只写class文件的文件名,表达式及三目条件运算符,表达式是符合一定运算规则的运算符和操作数的序列a*b6.09+8*a/(4+b)表达式的值和类型:对表达式中操作数的运算结果称为表达式的值表达式运算结果的类型即为表达式的类型表达式的运算顺序:按照运算符的优先级从高到低运算优先级相同的运算符按事先约定的结合方向运行三目条件运算符表达式的格式:x?y:z;其中x为boolean类型,先计算x的值,如果x的值为true,则整个表达式的结果值是y,反之为z。,Test.java,条件、循环控制语句,表达式,语句块,false,true,表达式1,表达式2,语句块,true,表达式3,false,TestIf.java,TestFor.java,while与do-while,表达式,true,语句块,false,语句块,表达式,true,false,WhileTest.java,Switch条件控制,注:表达式必须是int类型的(byte,short,char,int),break语句穿透问题,SwitcheTest.java,方法:具有一定业务逻辑的代码片段,Static的方法还可以直接用类名.方法名调用,构造方法,类内部一种特殊的方法,创建对象时所调用的方法。构造方法没有返回值类型,它与其他的方法在此处不同构造方法的方法名与类名完全相同构造方法也具有形参列表,也可以重载每个类都至少有一个构造方法,如果我们没有显示的声明,JVM会在加载该类时为其添加一个public的无参的构造方法,面向对象,类与对象对象在内存中的解析约定俗成的命名规则:驼峰命名规则方法的重载(overload)与内存的解析对象的创建与使用关键字:this、static、以及他们与类之间的关系package与import继承与权限控制,以及重写(override)权限控制:public、protected、(default:不写)、private类的老祖宗:Object以及toString()方法equals()、hashCode()方法关键字:super继承中的构造方法及对象的转型多态、抽象类多态:要有继承、父类引用指向子类对象抽象类:abstractclass关键字:final、interface注:普通类、抽象类、接口之间的区别;java的单继承、多实现。Java的API阅读,类与对象,类:具有相同属性和功能的一类事物(属性和方法的集合)。抽象:对具有相同属性和方法的一类事物的描述过程就叫抽象,抽象的结果就是类。对象:类的一个实例,对象是组成类的元素。,方法的重载,判断方法重载的依据:1、在同一个类内2、方法名相同3、参数的类型不同,或者参数的个数不同,或者参数的排列顺序不同4、方法的返回值的不同不能作为判断方法重载的依据,仅仅是返回值的不同,就造成了方法的重名,会报错。5、构造方法也可以重载。,注意重载方法在内存中是如何调用的,方法的重载使API的描述变得更简单,更利于别人使用,对象的创建及使用,对象的创建:new+该类的构造方法;如:Testt=newTest();方法的调用:用方法所在的类创建对象,然后用对象名(对象引用).方法名如:Testt=newTest();t.print(“hello”);如果被调用的方法是静态方法,即被static关键字修饰,还可以直接用类名.方法名调用。如调用Test类内的静态方法init()方法:Test.init();,关键字this、static,This:当前对象的一个引用,指向它自己,在类的内部使用:publicclassTestprivateintage;Test()this.age=89;System.out.println(“无参构造方法”);Test(Stringname)this();System.out.println(“有参构造方法”+name);static:修饰成员变量,该变量表示为静态变量,该变量对于整个类保存一份在内存的datasegment中;若修饰方法,表示该方法为静态方法,可以直接通过类名.静态方法名调用,在一个静态的上下文环境中不能直接调用非静态的成员变量或非静态的方法,要先创建对象再调用其方法。,This的上下文环境是非静态的,所以this不能在static的方法中使用,类与对象,对象之间的几种基本关系:1、继承关系2、关联关系3、组合关系类:将具有相同属性和功能的一类事物抽象化。对象:就是类的实例。,Person.java,方法的定义,构造方法,解析内存中的对象,Stack内存,Person:p,Heap内存,nameage:20,Datasegment,Jim,String:name,Jams,1,2,3,4,继承,子类通过继承获得基类的所有属性(当然也包括私有的)及方法。在创建子类对象时,可以通过子类对象调用基类的方法和访问除去私有的一切成员变量。继承提高了代码的复用性。子类可以扩展基类的方法及属性。子类对象的创建伴随着父类对象的创建注意构造方法的定义Super的使用,重写(override),重写发生在继承关系的子类中;方法名不变,返回值类型不变,参数类型不变,访问级别不低于父类,对父类的方法进行重新的实现的过程叫重写;注意:只要在子类中显示的写出了父类的方法,即使方法体不做任何实现,也发生重写。即子类对象调用该方法时,调用的实际是子类的方法。注意重载,重写的伴随状态及关键字super的使用,访问权限控制,关键字abstract,abstract修饰类,表示该类为抽象类,抽象类不能够实例化,抽象类中可以有抽象方法;abstract修饰方法,该方法为抽象方法,抽象方法既是没有方法体的方法,只有方法的声明。如果类被声明为abstract的,且抽象类中有抽象的方法,则继承它的子类必须实现抽象的方法或者子类也声明为抽象类。,关键字interface,interface定义接口,接口不能够实例化;接口中的方法只有方法的声明,没有方法体;接口中的方法的访问级别都是public的,即使没有显示的将方法的访问修饰符写为public,即不写访问修饰符,默认为public的,写private、protected都错。interface中定义的变量,在编译时会为其加上staticfinal,即interface中的变量都是静态的常量,且访问级别都是public的。interface中的方法都是public的,即使不显示的写出方法的访问修饰符,在编译时也会为其加上public,所以在interface中声明方法时不能加访问级别比public低的访问修饰符。,关键字final,final修饰类,表示该类是不能被继承的;final修饰成员变量,表示该变量为常量,值不可以被修改,变量名一般采用大写字母,字母之间通过下划线连接;final修饰方法,表示该方法不能被重写,但是可以使用;,Java数组,一维数组inti=newint3;i0=1;i1=2;i2=3;inti=newint1,2,3;inti=1,2,3,4;二维数组:数组的数组inti=newint;/错误inti=newint2;inti=newint;inti=1,2,3,4,5;,stack,heap,Int:i,i0=1i1=2i2=3,stack,heap,Int:i,i0i1,i00=1i01=2,i10=3i11=4i12=5,常用类以及包装类,String类与StringBuffer类的区别基础数据类型包装类java.lang包下的一些类的解读比如Math类,System类JavaAPI查阅,容器类及泛型,容器接口List接口:ArrayListSet接口:HashSetMap接口:HashMap迭代器Iterator接口JavaAPI查阅,JavaIO,inputStream接口:读outputStream接口:写JavaAPI查阅,线程:Thread,方法一,方法二,认识一下GUI,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!