Java学习总结 16个亮点

Java学习总结 16个亮点

1.八大基本数据类型

byte(字节型8) int(整型;32;程序中一般默认为int型) short(短整型 16) long(长整型 32) float(浮点型 32) double(双精度浮点型 64) char(字符型 16) boolean(布尔型 只有true和false) 小范围内的整数类型可以通过赋值转化成大范围的数据类型.而大范围的数据类型要想转换为小范围的数据类型,则需要强制转换,使用”(数据类型)”进行强制转换

string不是java中的一种基本数据类型,它是一个特殊的类,它的对象是引用类型.

2.类

类中定义了对象所共有的方法和属性,就像一个模板,可以通过类创建多个对象 类的定义:格式:public class 类名{}

在类中写方法和属性

属性的定义:private 数据类型 属性名;

主程序入口(主函数): public static void main (Sring args [ ]){}

创建类的对象: 类名 对象名= new 类名();

*都要注意大小写,类名要与class文件名相同

3.方法

1.一般方法

方法的定义格式:访问限制符 返回类型 方法名 (参数类型 参数){} 方法的分类:1.有参无参 2.有返回值,无返回值

方法的调用: 对象名.方法名(参数);

*方法调用时,要根据定义方法时是否有参数来调用,若方法有参数,调用时也要加上相应的参数,也可以传入对象

方法的重载:方法名相同,而参数类型和参数的个数不同

2.构造方法

每个类都有一个默认的无参的构造方法

如果自己再定义一个构造方法,程序就会使用重新定义的构造方法,即构造方法的重载 主要用途:初始化对象的属性值

构造方法没有任何返回值类型,且必须与类名相同

访问限制符 方法名(参数类型 参数){}

4.this关键字

在类中用来指代当前对象 this.name =name; 第一个name为属性值,第二个name为传入的参数值

5.值传递与引用传递

值传递传递的是变量中的内容,引用传递传递的是变量的首地址

6.类的继承

public class 子类名extends 父类名{}

使用extends关键字,子类自动具有父类的方法和属性,当子类调用方法时,是在调用父类中的方法,子类也可自己定义方法.

子类中方法的重写:和父类的方法要一致,方法体不一样.

*在java中子类只能继承一个父类

7.多态指的是一种不确定性,只有在运行之后才知道具体的内容

8.接口

子类重写父类飞的方法是必须要定义接口

接口的定义是interface,而不是class

接口默认的限制符是public

接口定义的规则:1.接口中定义的方法不能有任何方法体,只定义方法的返回值类型,方法名,参数,不能用任何的实现.

2.不能直接使用接口创建对象

3.接口中可以定义属性,但这些属性定义后不可以在改变

接口的实现使用的是implements

public class 类名 implements 接口名{}

实现类中必须重写接口中的方法名(接口中方法没有方法体,类中要重写)

类和接口的关系和比较:

*继承的关键字不同,interface和extends

*一个类可以继承多个接口,而一个类只能继承一个父类,一个接口可以继承多个接口 *类通过extends继承类

类通过implements继承接口

接口通过extends继承接口

9.抽象类

抽像类定义使用abstract关键字。

抽象类的定义:修饰限制符 abstract class 类名{}

在抽象类中可以定义像接口中没有实现的方法,也可以定义实现了的方法,所以说抽象类是介于类的接口之间的

定义抽象方法的格式:限制修饰符abstract void方法名();

*子类继承抽像类时,使用extends关键字,在子类中,必须实现抽象类中的抽象方法。子类只能同时继承一个抽象类,与接口不同

*抽象类也不能直接创建对象,与接口相同

10.关键字

1.可见性修饰关键字:

public:公有的,公开性最高。抽象类,接口的默认关键字

放在方法前,表示方法可以被其他包中的类调用

private:私有的。只能由类内部的方法或构造器来调用,属性一般定义为private的 protected:受保护的。类的默认关键字

2.static关键字:

static方法:使用static限定的方法称为静态方法

它与非静态方法的区别是:非静态方法的调用需要通过创建该类的对象来调用

静态方法直接使用类名。静态方法名()调用

static属性:可以在任何方法中直接使用,不创建类的对象

3.super:调用父类方法

4.final:最终的,表示不可改变,放在属性前表示不可更改,放在方法前,当子类继承时,不可以重写此方法

11.数组

一维数组的定义:数据类型 数组名 [ ] = new 数据类型[数组长度];

数据类型 数组名 [ ] = {值,……};

二维数组的定义:数据类型 数组名 [ ] [ ] = new 数据类型 [数组长度][数组长度];

数组排序的方法:冒泡法,插入排序,选择排序……

12.对列

队列可以像数组一样有序的存放对象,也可以自动增长

实现队列的思路:在实现类的内部,使用数组保存装入队列的对象,每次添加新的对象时,创建一个比原来数组长度大一的数组

泛型:定义接口时 接口名<E>,相当于一个模板

在创建队列时,指定队列中存放对象的类型即可

13.集合框架:

Set:无序的

List:相对有序的,以线性方式存储,没有特定的顺序,只有一个开头和结尾

Queue:有序的

14.文件:

通过File对象的方法创建文件或目录,删除文件和获取列表目录下的文件

文件分类:真实文件,目录文件,虚拟文件

递归:是通过自己调用自己进行计算,关键是找好终止运算的条件,否则将陷入死循环

15.异常:

在程序运行的过程中,发生一些情况,导致程序可能出错(中断运行)

常见的异常:空指针异常,文件异常,IO异常

异常处理的一般方法:将异常往外抛

1. try{}catch(){}finally{}

2. throws

16.IO流:

流是java中输入输出的抽象

流的分类:按方向分:输入流(InputStream)和输出流(OutputStream)

按性质分:基础字节流,过滤流,基与具体数据类型的流,基与对象读写

InputStream/OutputStream子类:文件读写

FileInputStream:从文件中读取数据

FileOutputStream:写数据到文件

缓冲流:BufferedInputStream/BufferedOutputStream

使用流读写数据时,一般是一个字节一个字节的读取

经历的过程为:输入文件—>操作系统内存—>JVM内存—>代码变量—>操作系统内存—>输出文件而缓冲流则是开辟了一块一定大小的区域,使得每次传送缓冲区字节相对较多的字节,大大提高了效率

 

第二篇:java学习总结

Java学习总结

一、三种JDK平台

1.java SE:java标准版,可以开发桌面应用和低端的服务器应用,也可开发Applet程序。

2.java EE:java企业版,可以构建企业级服务应用,包含了SE平台,增加了附加类库。

3.java ME:java 微型版,用于嵌入式的消费产品,如电话、掌上电脑等。

二、基本类型、数组和枚举类型

1.标识符:由字母(包含Unicode字符)、下划线、美元符、数字组成,长度不限;第一位不能为数字;不能是关键字;不能是ture、false、null;区分大小写。

2.基本数据类型

? boolean来声明;常量有ture、false

? byte,1字节,-128~127;short,2字节,-32768~32767;int,4字节;long,8字节。

? char声明变量,单引号引用,常量为Unicode中的一个字符;2字节,char变量取值范围0~65535,对应Unicode编码中的字符位序。观察顺序可将字符变量强制转换为整型输出,得到指定位置字符可以将整型变量强制转换为字符型输出。 ? float,4字节,保留8位有效数;double,8字节,保留16位有效数。

3.数据输入:Scanner reader = new Scanner(System.in); double x = reader.nextDouble();

4.数组

? java不允许在声明数组的方括号内指定元素个数

? 创建数组时允许使用int型变量指定元素个数

? [数组名.length]可获取数组长度,二维数组时是获取其一维数组的个数

? 输出数组元素:Arrays.toString(数组名);//import java.util.Arrays

? 复制数组:arraycopy()、copyOf()、copyOfRange()

? 数组排序:sort();

? 二分查找:binarySeach();

三、运算符、表达式、语句

1.运算符

? 自增自减运算符前后两种对单个变量无影响,只对整个表达式的值有影响 ? 逻辑运算符的两边必须是布尔值或逻辑表达式

? instanceof运算符,左边为对象,右边为类,返回值为布尔型

2.语句

? for循环中,表达式2的值为ture则先执行循环体再执行表达式3

? break语句用于终止循环,continue语句用于结束本次循环继续下一次循环