java基础知识速成教程.doc_第1页
java基础知识速成教程.doc_第2页
java基础知识速成教程.doc_第3页
java基础知识速成教程.doc_第4页
java基础知识速成教程.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

【Gjava人才】 java基础知识速成教程数据类型1基本数据类型1引用类型3控制语句3顺序结构3选择结构3循环结构4面向对象5面向过程和面向对象的区别5类和对象5成员变量5方法5方法的重载(overload)5构造方法5内存分析5package6import6this6static6super6面向对象的三大特征6封装6继承6方法的重写(override)6多态6抽象类7接口7面向接口编程7本站已经对文档保护进行限制了,取消文档保护密码为: 步骤:进入word工具-取消文档保护 数据类型基本数据类型a) 数值型i. 整型整形常量默认是Int1. byte 1个字节(256) -128-1272. short 2个字节(65536) 正负3万3. int 4个字节 正负21亿4. long 8个字节BigDecimalii. 浮点型浮点数是有误差的。浮点数默认类型是:double浮点数尽量不要用于比较1. float 4个字节 2. double 8个字节 注:类型的自动转换类型的强制转换/*double d1 = 0.1;double d2 = 0.5-0.4;System.out.println(d2); if(d1=d2)System.out.println(dddd);elseSystem.out.println(eeeee);*/float f1 = 0.134F;float f2 = (float)0.134;double d1 = 0.345F;byte b = 123; /int可以自动转换为byte,short,char。只要不超过它们的表述范围。double d = 23234;double d2 = 123L*234; /表达式类型的自动提升long i = 234231L*234233*23423; /System.out.println(i);b) 字符型 2个字节 65536 unicode字符集c) 布尔型true, falsechar c1 = a;char c2 = 中;char 中2= 国;boolean b = true;if(b=true)System.out.println(true);if(b) /建议此种写法!System.out.println(true);引用类型控制语句顺序结构选择结构1. 单选择结构2. 双选择结构3. 多选择结构boolean b = true;if(b)System.out.println(true);if(b)System.out.println(true);elseSystem.out.println(false);int age = 18;if(age100)System.out.println(老寿星);else if(age80)System.out.println(小寿星);else if(age60)System.out.println(老年人);else if(age30)System.out.println(中年人);else if(age18)System.out.println(青年人);elseSystem.out.println(小屁孩);int grade = 1; /1,2,3,4,5switch(grade) /多值选择结构!case 1:除非确认不需要break。否则每个case都加。不加的话,会出现case穿透现象。case 2:System.out.println(学的凑合);break;case 3:System.out.println(学的一般);break;case 4:System.out.println(学的不及格);break;case 5:System.out.println(太差了!);break;if(grade=1) /switch可以完全使用if else if代替!else if(grade=2)循环结构whiledo whilefor/*int i = 0; /初始化while(i10) /条件判断System.out.println(i); /循环体i+; /迭代*/*for(int i=0;i10;i+) /初始化、条件判断、迭代 /循环体System.out.println(i); */int a=0;do System.out.println(a);a+;while(a0); /先执行,后判断! while:先判断,后执行!面向对象面向过程和面向对象的区别面向对象帮助我们从宏观上把握项目的整体关系,微观上实现仍然是面向过程。类和对象抽象(抽出事务象的部分)和具体。类是对象的模板。成员变量(field,属性)要点:1. 成员变量的自动初始化。整数:0,浮点数:0.0, Boolean:false. 引用类型:null char:u0000public class Person int age=13;String name;int score;public static void main(String args) Person p = new Person();p.age = 23;=张三;System.out.println();方法public class Person int age=13;String name;int score;void test1()System.out.println(Person.test1();int test2()System.out.println(Person.test2();return 3; /return两个作用:返回值,结束方法的运行!int test3(int a,double d)System.out.println(Person.test2();return (int)(a+d);public static void main(String args) Person p = new Person();p.age = 23;=张三;int a = p.test2();System.out.println();Return既可以用于返回值,也可以用于终止方法的执行:void test2()if(man)System.out.println(man);System.out.println(man);System.out.println(man);void test3()if(!man)return;System.out.println(man);System.out.println(man);System.out.println(man);方法的重载(overload)方法名相同、形参列表不同(类型不同/个数不同/顺序不同)则构成重载重载与否,跟返回值类型无关!。public class Calculator int add(int a,int b)System.out.println(sddsds);return a+b;int add(int a, int b, int c)return a+b+c;double add(double a, double b)return a+b;double add(double a, int b)return a+b;double add(int a, double b)return a+b;public static void main(String args) Calculator c = new Calculator();System.out.println(c.add(3, 4);System.out.println(c.add(3, 4,5);System.out.println(c.add(3.0, 4.0);构造方法(构造器 constructor)构造方法是特殊的方法!特殊在什么地方:1. 方法名必须和类名保持一致!2. 无返回值(事实上,他是有返回值的。)3. 需要通过new来调用!4. 如果我们没有定义构造器,则编译器会帮助我们自动添加;如果我们手动定义构造器,则编译器不会帮助我们添加无参构造器。public class Person int age;String name;int score;void run()System.out.println(我在跑步!);Person(int age)this.age = age;System.out.println(正在构造一个person对象!);Person()public static void main(String args) Person p = new Person();p.run();内存分析堆:存放new出的对象。栈:存放局部变量(方法内部定义的变量)方法区:存放类的信息、static变量、字符串常量等。public class Person int age=13;String name;int score;public static void main(String args) Person p = new Person();p.age = 23;=张三;Person p2 = new Person();=李四;System.out.println(33=44); System.out.println(p=p2); String str = 张三;String str2 = 张三;String str3 = new String(李四);String str4 = new String(李四);System.out.println(str = str2); System.out.println(str3 = str4); System.out.println(哈哈); package包的两个基本作用:1. 解决类的重名问题2. 管理类包的具体用法:1. 使用package, 必须位于文件的第一句非注释性语句!2. 包名的规范:域名倒着写+有意义的名字常见的包:java.lang 核心包(不需要我们import,直接可以使用!)java.io 输入输出流java.util 工具包 网络java.awt java.sql import用来引入其他包中的类,方便我们使用。import test.Person;import test.*;静态导入:import static , 导入某个类的静态属性和方法!this用来指定当前的对象!如果this位于构造方法内,则表示正要初始化的对象。如果this位于普通方法内,则表示调用该方法的对象(即当前对象)package com.bjsxt.j2se;public class TestThis private int a;private int b;private int c;TestThis(int a,int b)this.a = a;this.b = b;TestThis(int a,int b, int c)this(a,b); /Constructor call must be the first statement in a constructorthis.c = c;public static void main(String args) staticstatic变量位于方法区,被所有的该类的对象共享,可以称为类属性(静态属性)、类方法(静态方法)。Static变量可以使用:类名.变量名来引用。static变量(方法)是从属于类的。可以通过:类.名字 来调用普通变量(方法)是从属于对象的。可以通过:对象名.名字 来调用。static方法中,不能调用普通方法或普通属性。final final 修饰普通变量: 常量!super面向对象的三大特征封装/隐藏可以将类的内部实现细节进行封装(隐藏了内部实现的细节、复杂性),方便外部调用。这样的话,就利于软件的维护和扩展。关键字同一个类同一个包子类所有类privateXXXdefault(默认,不需要写出来)XXprotectedXpublic封装的使用方式:1 所有的属性都使用private。 但是一般会提供get/set方法便于访问和设置属性。2 除非确认你的方法要被外部调用,否则一般都可以使用private。继承子类扩展了父类。使用extends关键字。JAVA类的继承中,只有单继承,没有多继承。为什么需要继承?1. 抽象概念,便于建模2. 代码复用Object类Object是所有类的根类!掌握:toString()方法的使用! 用来打印对象的字符串表示形式!学习使用API文档学习怎么查询API文档学习使用DOC注释,生成项目的API文档(右键单击项目exportjava, javadocnext,finish,yes)方法的重写(override)多态多态的三个必要条件:继承、重写、父类引用指向子类对象。public class TestOverride public static void main(String args) TestOverride to = new TestOverride();NokiaMobile nm = new NokiaMobile();Mobile op = new OppoMobile(); /编译时类型 变量名 = new 运行时类型();op.call(233223);OppoMobile om = (OppoMobile)op; /强制转型om.callByOppo(23423);/DazhaiMobile dm = new DazhaiMobile();to.test(op);void test(Mobile nm)nm.call(888888);/*void test(OppoMobile nm)nm.call(888888);void test(DazhaiMobile nm)nm.call(888888);*/class Mobile public void call(int num)System.out.println(使用手机打电话给:+num); class NokiaMobile extends Mobile public void call(int num)/super.call(num);System.out.println(使用诺基亚手机打电话给:+num);class OppoMobile extends Mobile public void call(int num) System.out.println(使用Oppo手机打电话给:+num);public void callByOppo(int num) System.out.println(333333使用Oppo手机打电话给:+num);class DazhaiMobile extends Mobile public void cal

温馨提示

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

评论

0/150

提交评论