李香瑛第一周java总结.doc_第1页
李香瑛第一周java总结.doc_第2页
李香瑛第一周java总结.doc_第3页
李香瑛第一周java总结.doc_第4页
李香瑛第一周java总结.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java 简介Java特点 简单 面向对象 分布式 健壮性 安全性 体系结构中立 可移植 解释性 高性能 多线程 跨平台Java三种运行平台J2SE(Java 2 Platform Stand Edition) Java标准版或Java标准平台J2EE(Java 2 Platform Enterprise Edition) Java企业版或Java企业平台J2ME(Java 2 Platform Micro Edition) 成为Java微型版或Java小型平台Java三种核心机制 Java 虚拟机(Java Virtual Machine)跨平台垃圾收集机制(Garbage collection) 系统自动执行,不能强制执行 代码安全性检测(Code Security)JRE (Java Runtime Environment)Java运行环境的三项主要功能:加载代码:由class loader 完成;校验代码:由byte code verifier 完成;执行代码:由 runtime interpreter完成Java编程语法基础1、 配置环境变量 path:C:Program FilesJavajdk1.6.0_10bin Classpath: D:或 .;2、 标识符定义:为各种变量、方法和类等起的名字。要求:不能与关键字冲突; 必须以英文字母、“_”或“$”开头,即不能以数字开头; 后跟字母、下划线、美元符或数字; 严格区分大小写。3、 基础数据类型4类8种 整数类型(byte(8bit),short(16bit),int(32bit),long(64bir) 数值型 浮点类型(float(32bit),double(64bit) 基本数据类型 字符型(char(16bit无符号的Unicode字符) 布尔型(boolean) 数据类型 类(class) 引用数据类型 接口(interface) 数组 注意:long l = 466564444444L; 加L float f = 45.7f; 加f数据类型转换: 隐式数据类型转换(基本数据类型的自动转换)条件:(1)这2种类型是兼容的。 (2)目的类型数的范围比来源类型的大。Eg1 byte b=3; int x=b;/没有问题,程序把b的结果自动转换成int型了整型和浮点型彼此都可以这样的转换。数字类型字符串类型(String)或布尔类型(boolean)是不兼容的。字符类型(char)和布尔类型也是互相不兼容的。显式数据类型转换(强制数据类型转换)当两种类型彼此不兼容,或目标类型取值范围小于源类型时,自动转换无法进行这时就需要强制类型转换,强制类型转换的格式如下:目标类型 变量 = (目标类型)值Eg2 int age=28;byte age1=(byte) age;short age2=(short) age;double dd=45.455;Int dd1=(int)dd;String age=”12”;int age3=Integer.parseInt(age); 基本数据类型,其变量都是在栈中分配空间。4、 Java变量分类变量(variable):用于记录数值可变的数据;按所属的数据类型划分:基本数据类型变量;引用数据类型变量参考数据类型划分。按被声明的位置划分:局部变量:方法或语句块内部定义的变量;成员变量:方法外部、类的内部定义的变量;(不是真正意义的全局变量,加上static才是全局变量)变量的声明与赋值:变量声明的格式为:变量类型 变量名;初始化变量的格式为:变量名值。5、 运算符算术运算符: +(加),-(减),*(剩),/(除),%(取模),+x(前自增),x+(后自增),-x(前自减),x-(后自减),+(字符串相加),+(正号),-(负号)关系运算符: (大于),=(大于等于),=(小于等于),=(等于),!=(不等于)布尔逻辑运算符: !(非),&(或) , |(与) , , &(短路与),|(短路或)赋值运算符: = 扩展赋值运算符:+=,- =,*=,/=字符串连接运算符:+ 赋值运算符:=(赋值)、+=(加赋值)、-=(减赋值)、*=(乘赋值)、/=(除赋值)、%=(取模赋值)三目运算符:(条件?执行1:执行2)6、 分支语句分支语句实现程序流程控制的功能 ,即根据一定的条件有选择地执行或跳过特定的语句。Java分支语句分类if-else 语句Eg 3 public class Testpublic static void main(String args)Test t=new Test();T.test(50);public void test(int age)if (age250) System.out.println(“年龄超出接受范围); else System.out.println(“此人年龄: + age ); switch 语句Eg 4 public class Testpublic static void main(String args)int i = 1;switch (i) case 0:System.out.println(zero);break;case 1:System.out.println(one);break;default:System.out.println(default);break;switch 参数只能是byte,short,char,int ; do-while 不管条件满足与否,必须要执行一次循环语句循环语句功能:在循环条件满足的情况下,反复执行特定代码循环语句的四个组成部分:初始化部分(init_statement)循环条件部分(test_exp) 循环体部分(body_statement) 迭代部分(alter_statement) 循环语句分类:for 循环语法格式 for (init_statement; test_exp; alter_statement) body_statementwhile 循环语法格式 init_statementwhile( test_exp) body_statement;alter_statement;do/while 循环语法格式 init_statementdo body_statement; alter_statement;while( test_exp); 7、 数组的概述数组是多个相同类型数据的结合,实现对这些数据的统一管理;数组属于引用类型,数组型数据是对象(object),数组中所有数据都是数组的;数组中的数据类型可以使任何一种数据类型。Eg5(一维) int = i ; /声明数组 int j =new int 10; String str= new String 5; /只创建内容 int a = 1,2,3,4,5; int b = ; /声明并赋值Eg6(二维)int a 行 列;String = “1”,”2”,“3”,”4”,“5”,”6”;int a = new int 5 5; 面向对象的思想概念OOP(Object Oriendted Programmings)面向对象的编程思想力图使对计算机语言中对事物的描述与现实世界中该事物的本来面目尽可能一致。类(class)和对象(object)是面向对象的核心概念:类是对一类事物的描述,是抽象、概念上的定义;类是具有相同属性和行为的一种对象的集合;描述实体的“模板”或“原型”;对象是实在存在的该类事物的每个个体,因而也称实例(instance),每一个对象都是类的一个具体实例。事物的特征在类中用变量表示;属性名称的类的所有对象共享;事物的行为和动作在类中用函数表示;对象执行的操作在类中表示为方法;每个对象的每个属性都拥有其特定的值;对象或实体拥有的也正在类中表示时称为属性;每个对象都有相同的动作和行为。属性实例变量 格式:权限 修饰 类型 变量名 =初值;private int a =10; 方法 格式:权限 修饰 返回值类型 方法名(形参列表)方法体; public class Personpublic void say(String musicName)public void action()Say(“Baby Song”) 在方法内定义变量时,除了final不加任何修饰符;在使用前必须初始化。实参和形参:实参单向传给形参;必须有值,以便把这些值传送给形参;形参和实参的数量、类型、顺序上严格一致,不然就会出现类型不匹配的错误。java中,调用方法时的参数传递永远是值传递传递基本数据类型的变量时,传的是基本数据类型的值传递引用数据类型的变量时,传的是引用数据类型的引用的值(地址)创建类的对象(实例化)声明并创建一个Person类得对象,将该对象命名为p;Person p = new Person();在调用方法前必须定义一个对象,调用对象p中的方法。p.方法名();面向对象的三大特性:封装继承多态封装:隐藏对象的内部的属性,对外提供公开的getters和setters方法对属性进行访问。继承:java中单继承:一个父类可以有多个子类来继承它,而一个子类只能有一个直接父类;一个子类继承了父类,则子类继承了父类的所有属性和方法。构造方法1.作用:在创建对象时,调用构造方法做初始化工作;2.格式:访问权限 类名(形参列表)方法体;(一定应定义为public)3.在没有自定义构造方法的时候,会默认生成一个无参的构造方法,该方法没有方法体,不做任何事,当自定义了构造方法之后,默认的构造方法失效;4.创建本类的对象,一定会先调用父类的构造方法。1)如果在本类构造方法中,没有显式调用父类的构造方法,则会默认调用父类的无参的构造方法;2)如果在本类构造方法中,显式调用父类的构造方法,super(参数列表),会调用父类带相应参数的构造方法5.构造方法不能被继承6.构造方法的调用只能在new关键字后,或者在其他构造方法中构造函数public class Personprivate String pname;public int age;Public Person(String pname,int age)this.pname = pname;this.age = age;public static void main(String args)person p0 = new Person(“test0”,5);thissuper关键字1.在构造方法中,this(参数列表)super(参数列表)表示调用本类或者父类带相应参数的构造方法,构造方法调用必须放在该构造方法的第一行2.在一般方法中,this或者super表示当前引用的对象或者当前引用对象的父类多态:同一个名字或者符号在不同的语境下,有不同的语义解释编译时的多态方法的重载overload运行时的多态方法的重写override,对象的造型方法的重写:(override)发生在继承关系中,子类重写父类的同名方法,重写的方法和被重写的方法参数列表相同(类型个数顺序),返回类型必须相同(子类重写方法的返回类型可以是父类被重写方法的返回类型或者是父类被重写方法返回类型的子类),不能升高访问权限。public class FruitTest public static void main(String args) Fruit f=new Fruit(null, 0);f.getInfo();Banana b =new Banana(香蕉,89757);b.getInfo();Apple a=new Apple(苹果,13145);a.getInfo();Person p=new Person();p.eat(b);public class Fruit private String name;private int number;public String getName() return name;public void setName(String name) = name;public int getNumber() return number;public void setNumber(int number) this.number = number;public Fruit(String name, int number) super(); = name;this.number = number;public void getInfo()System.out.println(欢迎来到水果世界!);public class Banana extends Fruitpublic Banana(String name, int number) super(name, number);public void getInfo()System.out.println(您好,我是:+this.getName()+我的编号为:+this.getNumber();public class Apple extends Fruit public Apple(String name, int number) super(name, number);public void getInfo()System.out.println(您好,我是:+this.getName()+我的编号为:+this.getNumber();public class Person public void eat(Fruit f)f.getInfo();方法的重载:(overload) 1.方法名相同 2.参数不同:数量不同;类型不同;顺序不同 3.同一作用域 4.方法重载跟方法的返回值没有任何关系构造方法不能被继承,不能重写,只能重载=和equals=:对基本数据类型变量,比较的是两个变量的值对引用数据类型变量,比较的是两个引用保存的对象的地址值equals:在Object类中定义的,比较两个引用保存的对象的地址值在其他类中,如果重写了Object.equals(Object obj)方法,则按照重写的方法的比较规则判断两个引用相等Object 类:Object类是所有Java类的根父类如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类 public class Person .等价于:public class Person extends Object .对象的造型:(casting):一个引用可以指向多种实际类型的对象(形式类型和实际类型不同)Animal a = new Person();1.向上转型(上溯造型):父类类型的引用指向子类类型的实例1)向上转型之后,子类自有的方法不可见2)对于重写的方法,运行时调用的是子类重写的方法2.向下转型(下溯造型):强制类型转换,父类类型引用所引用的对象,还原为子类类型Animal animal = new Cat();/类型提升,向上转型A. eat();/如果想要调用猫特有的方法时,需要向下转型,强制将父类的引用,转子类类型Cat c=(Cat) a;/向下c.catMouse();父类对象不能强转为子类对象,而子类对象可以向上转型,被父类类型引用所引用包引包访问修饰符。无继承关系的引用类型的转换是非法的。对象中的属性和方法:1、可见度2、访问修饰符 private同类: default同包: protected子类: public通用性:类的访问修饰符两个:;成员(方法和属性)访问修饰符四个:。3、 关键字:static、final声明变量、方法和内部类,可使用static;static成员称为类成员、静态成员、类属性、类方法、静态方法; 属性:类型.namestatic 方法:静态方法只能调用静态方法,非静态方法可以访问静态方法,不能使用this,super 代码块:程序一加载静态代码块就运行,只运行一次public class Person private static int total = 0; public static int getTotalPerson() return total; public Person() total+; public class TestPerson public static void main(String args) System.out.println(Number of total is +Person.getTotalPerson(); System.out.println( Number of total is + Person.getTotalPerson(); 属性:必须初始化,不能被修改final 方法:不能被重写 类:该类不能被继承,该类中的所有方法和属性都是finalimport java.io.*;public final class Testpublic static int a= 5 ;public final int bpublic Test()b = +a; public static void main(String args) Test t = new Test();System.out.println(t.b);final int i = 10;final int j;j = 20;j = 30; /非法 抽象类(abstract class)1、 抽象类不能被实例化2、 抽象类里面能包含普通成员变量(实例变量)和成员办法3、 抽象类可以不包含抽象方法4、 如果类里面有抽象方法,这个类一定是抽象类5、 如果子类继承抽象类,就必须重写父类的抽象方法6、 构造方法和静态方法不可以修饰为abstract(可以有构造方法)抽象方法(abstract void 方法名)只需要声明,不需要实现;当父类中的方法不能被实现时,可以使用抽象类。abstract class A abstract void m1( ); public void m2( )System.out.println(A类中定义的m2方法); class B extends A void m1( )System.out.println(B类中定义的m1方法); public class Test public static void main( String args )A c = new B( );c.m1( );c.m2( ); 接口(interface)定义:是抽象方法和常量值的定义的集合;从本质上讲,接口是一个特殊的抽象类;只包含常量和方法的定义,而没有变量和方法的实现方法;接口中所有的方法都是public abstract。1、 接口是不能被实例化2、 只有static常量和抽象方法3、 一个类可以实现多个接口4、 接口可以继承多个接口(多继承)5、 不可以有构造方法,其常量都是public static finalinterface Mathdouble PI=3.1415926;class Arithmetic implements Mathdouble roundArea(double radius)return PI*radius*radius;class Studentpublic static void main(String args)Arithmetic a=new Arithmetic();System.out.println(a.roundArea(3);System.out.println(Math.PI);System.out.println(Arithmetic.PI);System.out.println(a.PI); /实现多个接口interface Sittablevoid sit(); interface Lievoid sleep(); class Sofa implements Sittable, Liepublic void sit()public void sleep()/在继承类的同时,实现多个接口interface Sittablevoid sit(); interface Lievoid sleep(); interface HealthCarevoid massage(); class Chair implements Sittablepublic void sit()class Sofa extends Chair implements Lie, HealthCarepublic void sleep()public void massage()封装类-基本数据类型以类的形式出现。1、一共8种封装类基本数据类型封装类 booleanBooleanbyte Byte short Short int Int long Longchar Charfloat FloatdoubleDouble2、 封装类都是final class把基本数据类型包装成对象int i = 288Integer iwrap = new Integer(i);解开包装int i= 288Integ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论