java中级课程总结

时间:2024.4.27

java中级课程总结

1、JAVA是面向对象的语言,具有继承,多态,封装三大特点。

2、常见的dos命令有:

cd

cd。。回到上一个目录

cd/回到根目录

dir 查看当前目录列表

cls 清屏

echo 文件的内容>文件名 创建文件名

del删除文件

md创建文件

rd删除文件

3、关键字和标示符

无论是关键字和标示符都是具有一定意义的字符序列

关键字的意义是sun公司或是Oracle赋予的,标识符的意义是开发者自己赋予的,标识符赋予的过程中要按照一定的命名规则进行

4、final最终 可以用修饰变量、方法、类、方法参数

5、值传递和引用传递

//值传递和引用传递的区别

class TestSendMsg

{

public static void main(String[] args)

{

/*

int a = 5;

int b = 6;

System.out.println(a+","+b);

change(a,b);

System.out.println(a+","+b);

*/

int arr[] = {5,6};

System.out.println(arr[0]+","+arr[1]);

change(arr);

System.out.println(arr[0]+","+arr[1]);

}

public static void change(int [] arr){

int temp = arr[0];

arr[0] = arr[1];

arr[1] = temp;

}

/*

public static void change(int a,int b){

int temp = a;

a = b;

b = temp;

}

*/

}

6、数据类型的转换

自动类型转换 范围小的向范围大的自动转换 【char short byte】-->int -->long -->float -->double

强制性转换 7、数组:用来存放数据类型一致的数据有序的序列集合 8、JAVA中常用的类 1)Object是所有类的祖先,超类,基类。 常用的方法是: equals() toString() hashCode() getClass() 2)String 3)StringBuffer 4)StringBulider 在常量中的常量具有唯一性 9、Integer 特点: 封装类 被final修饰的类,叫最终类,不可被继承 重要的方法 equals(Object obj) parseInt(String s):把字符串类型转换成整形 valueOf(String s):把字符串转换成整形的封装类 valuof(int i):把基本类型转换成封装类型 10、String String被final修饰,不可改变 charAt(int index):从字符串中取出一个值,index下标从0开始 concat(String s):把指定字符串连接起来 getChar(int srcBegin , in srcEnd,char[] dst,int dstBegin) length()字符串的长度 replace(char oldchar,char newchar) 替换字符串 split(String regex):按照指定的字符规则进行切分字符串为数组 subString(int beginIndex):从字符串中从指定的索引位置进行截取 toCharArray():将字符串转换成新的字符数组 toLowercase() trim() StringBuffer线性安全 效率低

StringBulider现行不安全 效率高 append() 二、 1、抽象:把现实的事物通过想象进行概念化 2、具体化:把抽象的东西实例化 3、抽象类:在JAVA中被abstract关键词修饰的类 抽象类中可以放: 普通方法 属性 抽象方法,抽象方法要求abstract,抽象方法的特点是没有方法体 抽象类的特点是: 抽象类必须被继承 abstract不可以和final连用 abstract在一定条件下可以和static连用 普通类中不可以放抽象方法 抽象类中可以放普通方法 抽象类中可以放抽象类 抽象类是不完整的类,抽象类不能实例化 抽象方法可以有构造方法 抽象类中可以用static?不一定,要是修饰内部类或者是外部类 抽象类不能用final修饰 普通类和抽象类 class Person {

String name;

public void setName(){}

}

VS

abstract class Anaimal{ String name;

public void setName(){ }

abstaract void eat();

}

4、匿名类和匿名对象

匿名对象只能使用一次。不能多次被调用自身的方法

5、内部类:

普通内部类

静态内部类

局部内部类

匿名内部类

6、接口,可以把它理解抽象类的抽象,接口的重要性大于抽象类

接口使用interface修饰,不需要class标识,接口本身也是一个类是一个特殊的类,因为它编译之后也是.class文件。

接口的成员:

常量,这里的public static final 是可以省略的

抽象方法,这里的public abstract 也是可以省略的

接口中变量的意义:

接口中的属性的使用public static final 修饰,即使定义是不添加这三个修饰符,系统会自动添加上,因为接口规定只存在常量,并且是可以访问的。

普通类继承抽象类用extends

类要实现接口需要用关键字implements

7、在JAVA中类和类之间都是单继承关系。

JAVA中的接口的作用解决类JAVA中的单继承问题。

重点:“子类对象指向父类引用”

8、抽象类和接口的不同点

抽象类单继承,接口支持多继承

抽象类中可以有构造方法接口中没有构造方法

抽象类中可有普通方法,接口中没有非抽象方法

抽象类的成员:变量、常量、抽象方法、接口中成员只有静态常量抽象方法 抽象类是由关键字abstract修饰,接口是由interface修饰

抽象类中方法的修饰符石自己制定的,而接口中的方法或成员常量的修饰符石固定的写不写都一样

抽象类的扩展性差,接口的扩展性强

类实现接口是可以实现多个接口

【9、】内部类的优点:

内部类作为外部类的成员,可以访问外部类的成员或属性

用内部类定义外部的其他类中的不可访问的属性。这样就在外部类中实现了比外部类的private还要小的访问权限

10、内部类

结构

class A{

class B{}

}

静态内部类

}

class A{ static class B{ } } 【匿名内部类】 A a =new A(){ public void ma(){ 局部内部类 class A{ public void ma(){ class B{ } new B(); } }

11、

1、数组:具有相同数据类型。有序的数据序列。集合是用来存放数据,组织数据,通过集合使用数据。

数组的弊端

1)数组中存放的数据类型必须一致

2)数组长度一旦定义就不可改变

2、Collection是所有【List、Set】集合的父接口

3、集合的概念是:存放数据,按照一定组织顺序,按照一定的数据结构,任何数据类型的容器。

4、Collection:

JAVA.util

接口Collection<e> 5、List的实现类是Arraylist 特点是 1)可以像数组一样使用 2)存放数组的大小是可以改变的 3)允许存放null值,并且允许放多个空值 4)不同步线程不安全 5)查找效率高,但删除效率低 6)存储的数组有序 如果出现多个线程对Arraylist,如何解决? List list= Collections.synchronizedlist(new ArrayList(..)) 6、Arraylist常用的方法 addAll(Collection<e> e):向集合中添加另外一个集合 add(Object obj)添加Object对象 add(int index,Object o):在指定的索引位置上插入元素 clear 清除所有的元素 contains (Object obj):判断集合中是否存在指定的元素

get(int index)从集合中获取指定索引的元素 indexOf(Object obj)返回指定元素在集合中第一次出现的索引 isEmpty():判断集合中是否存在元素 remove(int index):移除集合中指定的索引元素,并返回要移除的元素 Set(int index,E element)把集合中指定索引的元素给替换成指定的元素 size()集合中的个数 7、集合元素的遍历方法 直接打印 通过for循环 通过遍历器Iterator 通过foreach进行遍历 Stack

Stack类表示后进先出(LIFO)

的对象堆栈,实现list接口

Pubsh(E e) :向栈集合中压入一个元素

Pop(E e):从栈集合中弹出一个元素

Peek(): 查看当前集合顶部的元素,但不删除

8、Vector也实现了list接口

Vector类可以实现可增长的对象数组,像Arraylist一样,按索引取集合中的元素 Vector

Add(E e) Add (int index,E element) Addelement(E obj)

Contains(Object o)

containsAll(Collection<?> c):判断集合中是否在指定集合元素

elementAt(int index) 获取指定索引的元素

firstElement() 获取集合中的第一个元素

Vector相对于Arraylist做了一个优化是支持多线程的操作

9、Set是Collection的子接口

Set 常见的实现类集合类

Set的特点

1) set集合中不能存在重复的元素

2) set中最多包含一个null

3) set集合中的元素无序

4) set所有是无序因为它的底层存储结构是Hash结构 5) 允许放空值但只能放一个

HashSet

TreeSet

特点

1) TreeSet是sortedset接口的实现类,使用元素的自然排序对元素进行排序

2) 此实现不是同步县城不安全

常用的方法是

Comparator():安排指定规则进行排序

10、Collections类和Collection对比

1)Collection是个接口,Collections是个类 2)Collection是set,list接口的父接口 Collection是封装集合操作的一类 3)Collection中都是抽象方法Collections中都是静态方法 4)comparator比较器 12、linkedlist List接口的链接列表实现。实现所有可选的列表炒作,并且允许所有元素(包括null) 此实现不是同步的 方法 Addfirst(E e):在链表的前面添加 Addlast(E e)在链表的后面添加 Getfirst()从链表中获取第一个元素 Getlast()从链表中获取最后一个元素 Collections常用的方法 Reverse(list<?> list)反转指定列表中的元素

Shuffle(list <?> list)使用默认的随机源对指定列表进行置换 Sort(list<T> list )根据元素的自然排序对指定列表按升序排列

13、HashSet类是set接口的实现类

特点是

1) 无序

2) 不允许有重复值

3) 允许有null值但只有一个

4) 实现不是同步就表示线程不安全

常用的方法

Add(E e)向HashSet中添加一个元素

Clear清楚所有元素

Contains判断集合中是否存在指定的元素

14、map是一个接口它实现类是hashMap

包含了key-value对。Map不能包含重复键key

Map集合特点是以双元素存在的而list和set都是单元素存在 Map的key不能重复值是可以重复的

hashMap特点

允许有null键 null值不是同步 线程不安全不允许有重复的键 常用的方法有

ContainsKey(Object key)判断集合中是否包含指定的键 ContainsValue(Object value) 判断集合中是否包含指定值 isEmpty判断是否为空

entryset

keyset()获取键值

put

泛型是jdk1.5引入的

作用和目的解决安全性问题

泛型的格式

数据类型类类型

举例ArrayList<Integer> list = new Arraylist<Integer>();

14、Hashtable和hashmap的区别 Hashtable 特点 线程安全 Hashtable的键、值不能为null 不允许有重复键 Treemap特点 其键的自然顺序进行排序 不同步的,存在线程安全问题 类型转换不成功的问题 Java.lang.String.cannot be cast to Java.lang.integer

15、异常

在JAVA中异常分为严重异常和一般异常

严重异常:编译阶段出现的异常,一般都是有系统处理(JVM)对应的异常类是Error 一般异常:编译通过,执行时出现的异常中断或者不正常现像,对应的异常类是Exception

JAVA异常处理机制

抛出异常try

捕获异常catch

处理异常finally

异常处理类

Throwable:子类Error、Exception

Exception又分为运行时异常和非运行时异常

运行时异常类:

ArithmeticException :数学计算异常类

ArrayIndexOutOfBoundsException: 数组下表越界异常

非运行异常

IOException

实例代码:

try {

int i = System.in.read();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

try catch finally的执行顺序

try{

int i = 3;

程序语句; try是尝试对{}中的代码进行捕获,一旦有异常,就会把异常信息提交由catch中的代码进行捕获并且进行处理

}

catch(Exception e){

//捕获异常对象并进行处理

}

finally{

}

注意:

Try - catch -finally 的使用方式为标准使用

Try 也可以和finally直接连用

Try 可以和多个catch进行连用

Finally可以省略不用

Try – catch - finally 可嵌套

如果try和多个catch并用的时候catch从参数对象的大小事从小到大的或是并行 Try - catch – finally 和throws基本具有同样的效果

区别在于,前者是经过开发者进行处理异常,后者是对方法进行声明异常处理异常交给JVM

Throw的效果就是根据需要在任何位置根据开发者抛出指定的异常

17、方法块和代码块

public void ma(){ } //方法块

{ 语句;} //实例代码块

static { 语句;} //静态代码块

18、异常类及异常处理方法

IOException:非运行时异常,编译的时候就会提醒可能会出现异常,要求进行捕获 示例代码:

try{

System.in.read();

}catch(IOException e){

}finally{

}

RuntimeException:运行时异常的父类

子类ArithmeticException为运行时异常

示例代码:

Systme.out.println(5/0); //运行时异常,只有在运行时才会发现异常并进行处理。

IndexOutOfBoundsException为运行时异常(重要)

示例代码:

int arr[] = {1,2,3,4};

System.out.println(arr[4]);

ClassCastException:类转换异常,运行时异常(重要)

示例代码:

Object obj1 = new Object();

Integer inteter1 = (Integer)obj1;

System.out.println(inteter1);

Object obj2 = new Integer(2);

Integer inteter2 = (Integer)obj2;

System.out.println(inteter2);

NullPointerException(重要)

自定义异常

class MyException extends Exception{

public MyException(){

}

}

JDBC

JDBC:全称是 JAVA database connectivity(JAVA数

据库链接)

通过代码实现链接数据库并操作数据库

是一组专门负责链接并操作数据库的标准在整个JDBC中 实际上大量的提供的接口

JDBC的主要作用

建立与数据库的链接

向数据库发起查询请求

数据库相应的请求并处理

返回结果给客服端

DriverManager依据数据的不同管理JDBC驱动

Conection负责连接数据库并承担传送数据的任务 Statement 有connnection产生、负责执行sql语句 Resultset负责保存statement执行后所有的查询结果 Statement接口的常用方法

用于产生单个结果集的语句,

用于执行inset,update或者delete语句以及sql、ddl语句 关闭statement对象

Public void close () throws sqlexception

Resultset包含符合SQL语句条件的所有行,并且他通过一套getxxx()方法提供了对这些行中数据的访问

预编译

Preparedstatement和statement之间的异同

两者的关系:父子类关系

Preparedstatement继承statement

前者不能进行预编译后者可以增加灵活性

调用方法不一样,前者调用createstatement()该方法无参数返回Statement对象

后者调用preparestatemet(String sql)方法,返回的对象 Preparedstatement

Close数据库的链接

关闭的顺序先打开的后关闭

后打开的先关闭

事务:具有一系列流程的工作。

做任何一个流程的时候,有一个环节出问题,其他都回滚。 常见的异常类: IOExceptin(IO输入输出异常) NullPointerException(空指针异常)

RuntiameException(运行时异常): ArithmeticException(数学异常) IndexOutOfBoundsException(下标越界异常)

ClassCastException(类转换异常) ClassNotFoundException(找不到类异常)

List,set ,map 是否继承了自Collection接口

List ,set是继承了Collection接口,set不允许有重复值list允许有重复值set接口派生的类有Treeset,HashSet,linkedlHashSet,list派生的有Arraylist,Vector等,map是单独的接口不继承Collection。

是否可以继承String类?不可以,String是final修饰不能被继承

更多相关推荐:
java学习总结

JAVA论文姓名:耿岩班级:信学号:09220xx314202Java学习总结Java有三个体系,JavaSE、JavaME、JavaEE。JavaSE是桌面应用;JavaME属于企业级应用,用于网络编程,是对…

Java程序设计课程学习总结与心得

Java程序设计课程学习总结20xx学习java须知与必备知识java面向对象OOP类与对象继承抽象类与接口java程序的数组与字符串java程序的流技术以及异常处理java语言高级部分Java窗体应用程序一j...

Java 课程知识点复习总结

Java是一种解释性的语言垃圾收集机制自动地不定期检查内存自动删除垃圾JavaApplicationJava应用程序JavaJavaAppletJava小程序Java由类组成类是Java的基本组成单位JavaA...

java课程总结123123

湖南税专理论课程教学大纲

java培训课心得总结

Java培训课心得总结在参加java培训的过程中,我感觉其实生活中很多时候与java编程是存在相似点。比如说我们想做一件什么事情,总是要先考虑下这件事的目的,做这件事需要先准备些什么,中间需要哪些步骤,最后怎样…

学习java课程的学习心得

学习java课程的学习心得记得当时拿着Oracle授权学习中心颁发的毕业证书时喜悦的心情,到现在对着电脑写心得体会的时间,才发现,半年的的时间,一眨眼就过去。回顾这半年的生活,心里总充满着感激,感激Oracle…

关于java学习的总结

关于java学习的总结Java是一门编程语言。想对java有所了解,必须清晰的认识到这一点。但是java又不仅仅是编程语言那么简单。从它的产生到发展壮大都离不开编程思想的指导。因此想深入学习java就必须深刻理…

java web 编程课程总结

javaweb编程课程总结这次的课程和以往的课程有一些不同一是需要理解的概念专业术语很多比如JavaWeb里引入了Web体系结构MVC设计模式等的概念出现了ServletJavaBeanScriptletJST...

图书管理系统java课程设计报告

滨江学院Java程序设计实习课程设计题目图书管理系统学生姓名张立檑学号20xx2346035院系滨江学院专业年级11网络工程1指导教师二一三年6月20日沈阳工程学院课程设计报告目录目录第1章引言1第2章系统功能...

Java小日历 课程设计报告

Java小日历1.课程设计的目的Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java…

Java课程设计报告

辽宁科技大学Java课程设计课程名称画笔系统学院系电信学院计算机101学生姓名杨丽指导教师龙艳宾目录一设计题目211设计题目与要求212设计要求2二需求分析2三概要设计331设计准备332需用的类3四详细设计3...

java课程设计报告

河南理工大学计算机科学与技术学院课程设计报告20xx20xx学年第一学期课程名称Java基础入门设计题目PSO算法解决TSP问题姓名陈玲娇学号专业班级计算机本1501指导教师刘志中20xx年1月6日目录一课程设...

java课程总结(25篇)