ImageVerifierCode 换一换
格式:DOC , 页数:251 ,大小:1.71MB ,
资源ID:3046846      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-3046846.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java基础知识笔记总结.doc)为本站会员(tangtianxu1)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

Java基础知识笔记总结.doc

1、Java 知识 精华总结一、java 概述与基础知识 .6二、方法与数组 19三、面向对象(1).29四、面向对象(2) 39五、异常处理和常用类 59六、线程技术.77七、集合框架(1).93八、集合框架(2)111九、IO 操作(1).123十、IO 文件操作(2)136十一、网络编程.146十二、反射机制.162十三、GUI 界面.181十四、Java 高新技术(1).198十五、Java 高新技术(2) .206十六、Java 高新技术(3).216十七 、面试题之交通灯管理系统 234十八 、面试题之银行业务系统242一、java 概述与基础知识 71、何为编程? 72、Java 语

2、言概述,历史、特点 73、什么是跨平台性?原理是什么?JVM 84、Jre 和 Jdk 的区别 ?.85、java 虚拟机 JVM .86、 Java 程序运行机制 87、 学习 java 注意的地方 .98、Java 语法格式 99、代码注释:单行/,多行/* */,文档注释/* */ .910、Java 中的标识符 1011、java 中的常量和变量 1012、Java 成员变量和局部变量 1014、基本数据类型转换之向上转型和向下转换 1215、Java 的运算符 1316、表达式和三目运算符 1317、程序流程控制 1418、三大循环结构: .1619、嵌套循环与流程控制 18二、方法

3、与数组 201、什么是方法(Method)? .202、 Java 中方法的格式: 203、方法里的属性 214、方法特点 215、什么是方法的重载(Overload)? .226、 可变参数 237、数组简介: 238、一维数组的声明与初始化: 249、数组的使用: 2510、分配内存空间 2711、二维数组: 2712、操作数组的工具类-Arrays .2813、Java5 新特性对数组的支持: 29三、面向对象(1) 291、什么叫面向对象? 292、类 303、构造方法 314、static 关键字 325、匿名对象 336、this 关键字 .337、面向对象之封装 338、访问修饰

4、符 349、类的设计分析 3510、面向对象之继承 3511、子类访问父类和方法覆写 3612、super 关键字和调用父类构造方法 3713、面向对象之多态 3814、引用变量类型转换 40四、面向对象(2) 401、基本数据类型的包装类 402、基本数据类型和包装类相互转换 413、基本类型和 String 之间的转换 424、Object 类 425、代码块 436、构造方法的私有化 457、 Singleton 模式(单例模式) 饿汉式和懒汉式 .458、final 关键字 479、抽象类 4810、抽象类的体现-模板模式 5011、接口(interface) .5112、接口的使用

5、5313、面向接口编程之制定标准和简单工厂模式 5314、面向接口编程之适配器模式 5515、 接口和抽象类的比较 5616、匿名内部类 5717、枚举类 57五、异常处理和常用类 601、异常 602、异常处理格式 613、多异常处理 614、异常的分类 625、声明异常(throws) .636、throw 638、throw 和 catch 同时使用 .659、常用类 6510、String 方法 .6711、StringBuffer 与 StringBuilder7012、Math 和 Random 和 UUID7213、Date 和 Calendar7414、System 78六、线

6、程技术 781、进程和线程 782、创建线程方式 793、两种进程创建方式比较 814、线程的生命周期 825、控制线程 836、多线程安全问题 857、多线程安全问题的解决方法 868、线程通信 90七、集合框架(1) 941、集合类 它是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,它是 Java 最具吸引力的特性之一,JVM 读取并处理编译过的与平台无关的字节码(class)文件。Java 编译器针对 JVM 产生 class 文件,因此是独立于平台的。Java 解释器负责将 JVM 的代码在特定的平台上运行。Java 虚拟机是不跨平台的.6、Java 程序运行机制

7、编译: javac 文件名.文件后缀名运行: java 类名我的总结:Java 程序的组成:Java 源文件,字节码文件。7、学习 java 注意的地方Java 语言拼写上严格区分大小写;一个 Java 源文件里可以定义多个 Java 类,但其中最多只能有一个类被定义成 public 类;若源文件中包括了 public 类,源文件必须和该 public 类同名;一个源文件中包含 N 个 Java 类时,编译后会生成 N 份字节码文件,即每个类都会生成一份单独的 class 文件,且字节码文件名和其对应的类名相同;我的总结:一个 Java 源文件只定义一个类,不同的类使用不同的源文件定义;将每个

8、源文件中单独定义的类都定义成 public 的;保持 Java 源文件的主文件名与源文件中的类名一致;8、Java 语法格式任何一种语言都有自己的语法规则,Java 也一样,既然是规则 ,那么知道其如何使用就可以了。代码都定义在类中,类由 class 来定义,区分 public class 和 class;代码严格区分大小写,如 main 和 Main 是不一样的;Java 中的标识符与关键字;注释;main 方法的作用:程序的入口保证程序的独立运行被 JVM 调用9、代码注释:单行/,多行 /* */,文档注释 /* */1.单行注释 /:/后到本行结束的所有字符会被编译器忽略;2.多行注释

9、 /* */:/* */之间的所有字符会被编译器忽略3.文档注释 /* */:在/* */之间的所有字符会被编译器忽略,java 特有的(用于生成文档);我的总结:多行和文档注释都不能嵌套使用。10、Java 中的标识符可简单理解为在 Java 程序中为了增强阅读性自定义的名称。比如:类名,方法名,变量名等。命名规则:(1) 由字母、数字、下划线、$组成,不能以数字开头注意:此处的字母还可以是中文 ,日文等;(2) 大小写敏感(3) 不得使用 java 中的关键字和保留字(4) 别用 Java API 里面的类名作为自己的类名。11、java 中的常量和变量变量的概念:占据着内存中的某一个存储

10、区域;该区域有自己的名称(变量名)和类型(数据类型);该区域的数据可以在同一类型范围内不断变化;为什么要定义变量:用来不断的存放同一类型的常量,并可以重复使用;使用变量注意:变量的作用范围, 初始化值定义变量的格式:数据类型 变量名 = 初始化值;注:格式是固定的,记住格式,以不变应万变。作用范围:定义开始到定义它的代码块结束;同一范围内,不允许多个个局部变量命名冲突12、Java 成员变量和局部变量局部变量:不是声明在类体括号里面的变量;局部变量使用前必须初始化值;局部变量没有默认初始化值;局部变量的作用域是从定义开始到定义它的代码块结束;成员变量:在方法体外,类体内声明的变量,又称字段 (

11、Field)或全局变量;(其实 Java 中没有全局变量,由于 Java 是面向对象语言,所有变量都是类成员)成员变量的作用域是整个类中;我的总结:注意成员变量和局部变量的区别package reviewDemo;public class Demo2 public static void main(String args) int i;System.out.println(i);备注:局部变量调用前没有初始化,所以编译的时候就会报错!package reviewDemo;public class Demo2 static int i;public static void main(String

12、 args) System.out.println(i);备注:此时 i 为全局变量,未初始化会被赋予默认的初始化值!程序正确!我的总结:局部变量是定义在方法中的变量,出了该方法就不能访问该变量了成员变量是在类中定义,并且在类的成员方法中都能访问的变量13、基本数据类型在数据类型中,最常用也是最基础的数据类型,被称作基本数据类型。可以使用这些类型的值来代表一些简单的状态。Java 语言的基本数据类型总共有以下 8 种,下面是按照用途划分出的 4 个类别: 定点类型:整数型是一类代表整数值的类型。当需要代表一个整数的值时,可以根据需要从 4 种类型中挑选合适的,如果没有特殊要求的话,一般选择 i

13、nt 类型。4 种整数型区别主要在每个数据在内存中占用的空间大小和代表的数值的范围。浮点类型:小数型是一类代表小数值的类型。当需要代表一个小数的值时,可以根据需要从以下 2 种类型中挑选合适的。如果没有特殊要求,一般选择 double 类型。由于小数的存储方式和整数不同,所以小数都有一定的精度,所以在计算机中运算时不够精确。根据精度和存储区间的不同,设计了两种小数类型。字符型:字符型代表特定的某个字符,按照前面介绍的知识,计算机中都是以字符集的形式来保存字符的,所以字符型的值实际只是字符集中的编号,而不是实际代表的字符,由计算机完成从编号转换成对应字符的工作。Java 语言中为了更加方便国际化

14、,使用 Unicode 字符集作为默认的字符集,该字符集包含各种语言中常见的字符。在程序代码中,字符使用一对单引号加上需要表达的字符来标识,例如A 、 a等,当然也可以直接使用字符编码,也就是一个非负整数进行表示。布尔型:布尔型代表逻辑中的成立和不成立。Java 语言中使用关键字 true 代表成立,false 代表不成立。布尔型是存储逻辑值的类型,其实很多程序中都有逻辑值的概念,Java 把逻辑的值用布尔型来进行表达。14、基本数据类型转换之向上转型和向下转换向上转换:整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:容量小的类型可自动转换为容量大的数据类型;byte,sh

15、ort,char int long float doublebyte,short,char 之间不会相互转换,他们在计算时首先会转换为 int 类型。boolean 类型是不可以转换为其他基本数据类型。Eg:int i = 123;long l = i;/自动转换,不需强转float f = 3.14F;double d = f;向下转换:整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:容量小的类型可自动转换为容量大的数据类型;byte,short,char int long float doublebyte,short,char 之间不会相互转换,他们在计算时首先会转换为

16、 int 类型。boolean 类型是不可以转换为其他基本数据类型。Eg:long l = 123L;int i = (int) l;/必须强转double d = 3.14;float f = (float) d;我的总结:类型转化小转大,自动!自动类型转换(也叫隐式类型转换) 大转小,强转!强制类型转换(也叫显式类型转换) 15、Java 的运算符运算符是一种特殊符号,用以表示数据的运算、赋值和比较等共分以下几种: 算术运算符(+ 、 、* 、/ 、%)赋值运算符(= 、+=、-=、*=、/=,、%=)关系运算符(、=、)我的总结:逻辑运算符用于连接布尔型表达式,在 Java 中不可以写成

17、 33 else if (i 4)System.out.println(“变量 i 小于 4“);elseSystem.out.println(“其他“);switch 控制语句格式:switch(表达式)case 表达式可能的结果值 1:执行语句;break;case 表达式可能的结果值 2:执行语句;break;.default:执行语句;break;/最后这个一般不写备注:case 之间与 default 没有顺序。先执行第一个 case,都没有匹配的 case 值执行 default。结束 switch 语句的两种情况:遇到 break,switch 语句执行结束。如果匹配的 case

18、 或者 default 没有对应的 break,那么程序会从第一次匹配的 case 语句开始继续向下执行,运行可以执行的语句,直到遇到 break 或者 switch 结束为止。class switch2 public static void main(String args) int a = 7,b = 5;switch(a-b)case 3:/表达式可能的值;System.out.println(“33!“);break;case 4:System.out.println(“44!“);break;default:/都没有执行则 执行该语句!System.out.println(“其它的“

19、);18、三大循环结构:用于处理需要重复执行的操作;根据判断条件的成立与否,决定程序段落的执行次数,而这个程序段落我们称为循环体;while:事先不需要知道循环执行多少次;do while:同上,只是至少要执行一次( 先做,后判断);for:需要知道循环次数;循环结构(while 我的总结:do while 特点是无论条件是否满足,循环体至少被执行一次。循环里的条件表达式不能直接写 false 或直接写结果是 false 的表达式,不过可以使用变量来传递 false 值;循环结构(for)格式:for(初始化表达式(1) ;循环条件表达式( 2) ;循环后的操作表达式(3))执行语句;(4)执

20、行顺序:(1) (2) (4) (3) (2) (4) (3)备注:1, for 里面的 3 个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。2, while 与 for 可以互换,区别在于 for 为了循环而定义的变量在 for 循环结束就在内存中释放。而 while 循环使用的变量在循环结束后还可以继续使用。3, 最简单无限循环格式:while(true) , for(;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。Eg:用三种循环控制求出 100 以

21、内前 5 个 3 的倍数的数字;class whilepublic static void main(String args) int i = 1,k = 0;while(i agej)int temp = agei;agei = agej;agej = temp;System.out.println(Arrays.toString(age);/输 出 为:1, 2, 12, 32, 36, 56, 95, 363, 1232, 326310、分配内存空间分配内存空间数组名=new 数据类型数组长度;new 关键字用来实现为数组或对象分配内存数组具有固定的长度。获取数组的长度: 数组名.len

22、gth定义数组+分配内存空间数据类型数组名=new 数据类型 数组长度;定义数组时不指定长度,分配空间时指定数组长度;如:String cities = new String6;数组元素:数组名下标值;数组下标从 0 开始 scores0=75;数组的内存分配 栈内存和堆内存如定义一个数组 intscores 将在栈内存中为 scores 分配内存空间,其值是一个不确定的值。当执行语句 scores=new int5时,将在堆内存分配连续 5 个空间,每个空间 4 个字节,用于存放整型数据,其初始值为 0,然后将该段空间首地址,也就是第一个元素的地址,比如0*3000,赋给 scores 变量

23、。该地址相当于一个指针,指向堆内存中分配的空间。此时堆内存中分配的 5 个空间可以分别使用 scores0,一直到 scores4来表示。当执行四个赋值语句时,分别用指定值填充到对应元素位置。如果此时将 null 值赋给 scores 时,scores 变量将不再指向任何位置,此时堆内存中分配的空间就变成了垃圾,由垃圾回收器在某一时间进行回收。在方法中定义的变量,包括基本数据类型变量和引用数据类型变量,都将在栈内存中分配空间,当超过变量作用范围后,自动回收我的总结:初始化=定义数组+分配空间+赋值11、二维数组:二维数组:(其实是一个一维数组,它的每一个元素又是一个一维数组),可以看做是一张表

24、格。初始化:动态初始化int arr = new int32;定义了一个二维数组,其中有 3 个一维数组,每一个一维数组中有 2 个元素静态初始化int arr = new int1,2,3,4,5,6;int arr = 1,2,3,4,5,6;Eg:public class Demo3 public static void main(String args) int age = new int1,2,3,4,5,6,7;System.out.println(age0.length);/2System.out.println(age2.length);/312、操作数组的工具类-Arrays

25、static int binarySearch(type a, type key) 使用二分搜索法来搜索 key 元素在数组中的索引;若 a 数组不包括 key,返回负数。 (该方法必须已按升序排列后调用) 。 static int binarySearch(type a, int fromIndex, int toIndex, type key) 使用二分搜索法来搜索key 元素在数组中从 fromIndex 到 toIndex 的索引;若 a 数组不包括 key,返回负数。 (该方法必须已按升序排列后调用) 。static boolean copyOf(type original, int

26、 newLength) 复制指定的数组见下面备注static byte copyOfRange(type original, int from, int to) 将数组的指定范围复制到一个新数组。 static boolean equals(type a, type a2) 如果两个数组长度相等和元素一一相等,则返回 true static void fill(type a, type val) 将 a 数组所有元素都赋为 val。static void fill(type a, int fromIndex, int toIndex, type val) 将 a 数组从 formIndex 到

27、 tiondex索引之间的元素都赋为 val。 static void sort(type a) /sort(int arr)对指定的数组按数字升序进行排序。 static void sort(type a, int fromIndex, int toIndex) 对指定数组的从 formIndex 到 tiondex 索引之间的元素按数字升序进行排序。 static String toString(type a) 返回指定数组内容的字符串表示形式。多个数组元素之间用英文逗号或空格隔开。我的总结:使用数组工具类可以节省时间,提高效率,注意常查阅 api;Eg:package reviewDem

28、o;import java.util.Arrays;/使用Arrays 类public class Demo4 public static void main(String args) int age = new int 12, 26, 3, 60, 55, 6, 48, 4, 98 ;System.out.println(Arrays.toString(age);/直接打印出数组的方法int age2 = 1,2,3,4,5,6,98,65,23;int i = Arrays.binarySearch(age2, 98);System.out.println(i);13、Java5 新特性对

29、数组的支持:增强 for 循环 for-eachfor (参数类型 参数名 : 数组名) 代码块Eg:package reviewDemo;public class Demo6 public static void main(String args) int age = 1,2,3,69,36,636,459;for (int i : age) System.out.println(i);这样就用 for-each 把数组遍历输出!我的总结:for-each 用于数组和 Iterable 对象!在以后的集合学习中还会经常用到 for-each循环。三、 面向对象(1)第三篇:1、什么叫面向对象

30、?面向对象(Object-Oriented,简称 OO)就是一种常见的程序结构设计方法。面向对象思想的基础是将相关的数据和方法放在一起,组合成一种新的复合数据类型,然后使用新创建的复合数据类型作为项目的基础。面向对象是一个很抽象的概念,它相对面向过程而言。过程与对象都是一种解决问题的思想。面向过程:强调的是功能行为,一种过程,先干啥,再干啥;面向对象:将功能封装到对象里,强调的是具备某功能的对象;按照面向对象的思想,可以把任何的东西看做对象!面向对象的三个特征:封装(Encapsulation);继承(Inheritance);多态(Polymorphism)。我的总结:面向过程:强调的是具体

31、的功能实现;(执行者)面向对象:强调的是具备功能的对象。 (管理者)2、类类(class)是 Java 语言的最小编程单位,也是设计和实现 Java 程序的基础,本部分将深入介绍类的相关知识。类的概念类是一组事物共有特征和功能的描述。类是对于一组事物的总体描述,是按照面向对象技术进行设计时最小的单位,也是组成项目的最基本的模块。类的概念是抽象的,类似于建筑设计中的图纸,是对于现实需要代表的具体内容的抽象。类只包含框架结构,而不包含具体的数据。所以类代表的是总体,而不代表某个特定的个体。我的总结:类是抽象的,对象是具体的,实实在在的!类的定义:修饰符 class 类名1n 个构造方法;0n 个字

32、段;0n 个方法定义类,其实就是定义类里面的对象对象包含:状态;(属性)功能、行为;(方法)通过类来描述对象;状态-成员变量;功能、行为方法;Eg:class Person/属性private String name;private int age;private int sal;/方法public void show()System.out.println(“个人情况:“+name+ age+sal);3、构造方法构造方法:用来构造类的实例(每一个类都默认有一个无参的构造方法,得使用 new 调用)字段:类或对象所包含的数据,对类状态的一种描述;方法:类或对象的特征或行为作用:给类中的字段进行初始化,可以用来创建对象。特点:方法名与类名相同不用定义返回值类型 不需要写 return 语句我的总结:注意:默认构造方法的特点。多个构造方法是以重载的形式存在的。构造方法的重载:(需要哪个就去适配哪个,调用哪个)this(实参); 调用当前类的构造方法注意: this(实参);必须放在构造器的第一行;对象的产生格式:

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报