Java知识点期末总结

说明:该份总结为中南大学2022年春季郭老师班总结,仅供参考。

题型:选择(单选)+填空+判断+改错+问答(问概念)+程序

其中程序题一道会设计面向对象思想,另一道是考察对API的使用

一、Java语言基本语法(10%)

1.1 特点

  • 跨平台

  • 运行基本原理(java文件、class文件是什么要知道->前者是源代码,后者是编译后产生的字节码)

  • 语法与C大致相同,无指针、程序入口是main函数

1.2 语法

  • 变量

  • 数据类型:float后加f,long后加l;不能直接把高精度类型赋值给低精度类型;0和1不能表示true和false;转移字符\

    long l1=54232661826166;     //会报错
    long l1=54232661826166L;    //整数后加l或L不会报错
    float f1=3.14;              //会报错,系统默认浮点是double,double赋给float所以报错
    double d1=4578.568923;      //不会报错
    float f1=3.14f;             //后面加f或F不会报错

  • 运算

    • 算术运算:+、-、、/、%、+=、-=、=、/=、++、--

    • 关系运算:>、<、>=、<=、==、!=

    • 逻辑运算:&&、||、!

  • 流程

    • 顺序

    • 选择:if--else--;switch--case

    • 循环:for、while、do--while、(配合break、continue)

  • 数组:重点掌握一维数组和二维数组的定义

    //一维数组
    int[] a=new int[10];
    //二维数组
    int[][] b=new int[10][10];

二、面向对象基本概念

2.1 类和对象

  • 类的定义

    class Customer{
        String name;
        String sex;
        int age;
    }

  • 由类实例化对象:相当于生成了一个对象,然后对象名指向它

    Customer zhangsan=new Customer()

  • 引用性质,对象名指向新的对象

2.2 成员变量和成员函数

  • 成员变量和成员函数的定义

  • 成员变量和成员函数的访问->通过.来访问

  • 成员函数参数传递时的值传递和引用传递

(1)构造函数(constructor)

  • 定义方式:与类名相同,无返回类型

  • 调用特点:对象实例化时自动调用

  • 无析构->有垃圾回收机制

(2)函数重载(overload)

  • 三个条件:函数参数个数不同;参数个数相同,类型不同;参数个数和类型相同,顺序不同。

(3)静态变量

  • 定义方式:static

  • 性质特点:类的所有对象共用;

  • 如何调用:可以通过类名或对象名访问

(4)静态函数

  • 性质特点:只能访问静态成员

编程题可能设计静态变量与静态函数的使用

三、面向对象基本特征(50%)

3.1封装(Encapsulation)

(1)包

  • 定义包

    package chinasei;

  • 导入包中类

    package chinasei;   //在同一个包中的类可以直接访问
    //不在一个包中的类不能直接访问,需要导入
    import school.admin.Teacher;
    import school.*;    //导入school包中的所有类,但是没有导入school子包中的类

(2)类

  • public类

  • 普通类

(3)成员

四个访问控制符

  • pubic->all

  • protected->同包,包外子类(通过super访问)

  • 默认->同包

  • private->only self

    开放程度:public>protected>默认>private

3.2 继承

  • 如何实现->extends

  • 特点->1.只能使用继承的非public成员;2.JAVA不支持多重继承

  • 覆盖(Override)->子类定义的与父类名称、返回类型、参数皆相同;要求——不允许缩小子类成员的权限,否则会报错

  • 父类构造函数的初始化->父类构造函数有参数时,用super(参数列表)写在子类构造函数的第一句

3.3 多态

  • 定义(父类引用->子类对象)

  • 性质:该引用调用重写成员时,使用的是子类成员的

3.4 抽象类和接口

  • 抽象类

    abstract class Dialog{
        public abstract void show();
    }

    • 抽象类不能被实例化;

    • 抽象函数必须被重写,除非子类也是抽象类

    • 抽象类中可以有普通成员函数

  • 接口

    抽象类中函数都是抽象的,则称为接口

    类通过implements实现接口

3.5 其它

  • final+变量:不能被改变

  • final+函数:不能被重写

  • final+类:不能被继承

四、Java语言基本功能

4.1 异常

(1)结构

try(1)……catch(1..多)……finally(0,1)

(2)常见异常

  • NullPointerException:未分配内存异常(空指针异常)

  • NumberFormatException:数字格式异常

  • IOException:输入输出异常

  • ArithmeticException:算数异常,如除数为0异常

  • ……

(3)区分throw和throws

  • 需要异常向前抛出的函数后面加throws ...Exception

  • throw后直接跟异常对象

  • throws标记为可能异常,throw将异常抛出

4.2 多线程

(1)定义和调用线程

这部分考察的要求是能编写代码

import java.lang.Thread
//1.继承ThreadA类
class FileThread extends Thread{
    //2.编写run函数
    public void run(){
        //线程要运行的代码
    };
}
//3.通过start函数开启进程
FileThread f1=new FileThread();
f1.start();
//1.实现Runnable接口
class FileTransRunnable implements Runnable{
    //2.重写run函数
    public void run(){
        //线程要运行的代码
    }
}
//3.实例化以上编写的Runnable实现类
FileTransRunnable f1=new FileTransRunnable("文件1");
new Thread(f1).start(); 
/*或者写为:
Thread th1=new Thread(f1);
th1.start();
*/

(2)控制线程的运行

  • 线程暂停:让run函数结束,可以通过while(flag){...}中的flag变为false即可。

  • 线程继续:新开启一个线程。

4.3 基本API

(1)java.lang包

这部分的要求是会编程

  • Math.random()->生成一个0~1的double随机数

  • String->获得长度:length();获得某个位置字符charAt(int index);……

  • StringBuffer->掌握其与String的区别:StringBuffer是可变字符串,修改的时候原地修改,而String是修改后返回一个新字符串,原字符串不变。

  • 基本数据类型的包装类:java.lang.Integerjava.lang.Characterjava.lang.Float……

  • 字符串与数值的转化:

    int i=Integer.parseInt("123");
    String str=String.valueOf(65.25);   //valueOf可以将其它各种类型转换成字符串

(2)java.util包

这部分不要求自己会编程,所以每个类的函数可以不用记忆,考试可能以写伪代码的形式考察

  • List系列

    • ArrayList

    • LinkedList

    • Vector

ArrayList没有实现线程安全,要频繁增删则建议使用LinkedList,Vector实现了线程安全

  • Set系列

    • HashSet

    • TreeSet(集合内元素有序)

  • Map系列

    • HashMap

五、其它内容:Java IO、GUI、事件处理、网络编程

其实这章的每一部分也是十分重要的,但是考查重点不在这(别的班没讲,只会考一点点),因此把这些内容归到一起总结.

5.1 Java IO

这部分只了解各自功能即可,不要求编程:

  • java.io.File

  • java.io.FileInputStream(将内容从文件读入,文件输入流->字节流)

  • java.io.FileOutputStream(写内容到文件中,文件输出流->字节流)

  • java.io.BufferedReader(可以一行一行读文件)

  • java.io.PrintStream(输出流)

  • java.io.RandomAccessFile(既能读也能写)

5.2 界面与控件

  • javax.swing中有JFrame\JDialog\JButton等控件

  • java.awt中有颜色Color/Font/Image/Icon等等

  • 布局:在java.awt包中

    • FlowLayout:流式布局

    • BorderLayout:边界布局

    • GridLayout:网格布局

5.3事件开发

在java.awt.event包中

5.4 网络编程

  • 在java.net包中

  • Socket

  • ServerSocket:accept函数等待Socket对象

  • 端口由Server决定

  • Client端有ip地址+端口号

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值