java期末总结:
java语言特点:1.简洁有效 2.可移植性 3.面向对象 4.解释型 5.适合分布式计算 6.拥有较好的性能 7.健壮、防患于未然 8.具有多线程处理能力
9.具有较高的安全性 10.是一种动态语言 11.是一种中性结构
JDk的安装与配置
自动类型转换是从低级到高级的转换,强制类型装换是从高级到低级的装换;从低级到高级:Byte、short、char →int→long→float→double;然后学习简洁表达式。
与(&)和短路与(&&)、或(|)和短路或(||),短路与:如果第一个条件为false,则后面的条件将不再判断。短路或:如果第一个条件为true,则后面的条件将不再判断
面向对象三大主要特性 1.封装性 2.继承性 3.多态性
封装有两层含义:一、指把对象的属性和行为看成一个密不可分的整体,二、指“信息隐蔽”,就是把不需要让外界知道的信息隐藏起来,
封装的实现:属性的封装:private属性类型属性名称;方法的封装:private方法返回值 方法名称(参数列表){ }。
类与对象:类是所有面向对象的语言的共同特征,所有面向对象的语言都提供了这种类型。类是现实世界或思维世界中的实体在计算机中的反映,它将数据以
及这些数据上的操作封装在一起。对象是具有类类型的变量。类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存
储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。C++中的类实际上就是由一组描述对象属性或状态的数据
项和作用在这些数据项上的操作构成的封装体。类的定义由关键字class打头,关键字后跟类名,类名之后的括号内是类体,最后以“;”结束。
继承的基本实现:在java中使用extends关键字完成继承关系;在子类中可以使用“super.方法()”的形式,从子类访问父类的方法 ;super的作用:super可以从
子类中调用父类的结构方法、普通方法、属性;
final在java中表示的意思是最终,也可以称为完结器;使用final修饰的方法不能被子类覆写;
抽象类与普通类:抽象类就是比普通类多定义了一个抽象的方法,除了不能直接进行对象的实例化操作之外并没有任何的不同。
接口:是java中重要的概念,接口可以理解为一种特殊的类,由全局变量和公共的抽象方法所组成;接口中所有抽象方法必须声明为public;子类通过implements关键字实现接口;
String类在实际工作中使用非常的广泛,这里需要我们记住String类常用操作方法的表格,其中用String类进行字符串与字符数组的转换,
从字符串中提取指定位置的字符,字符串与byte数组的装换,取得一个字符串的长度,查找一个指定的字符串是否存在,去掉左右空格,
按照指定的字符串拆分字符串,字符串的大小写转换,不区分字符串大小写进行比较相对重要。
对象数组,包含了一组相关对象,对象数组的使用时一定要记住:数组一定要先开辟空间,但是因为其是引用数组类型,所以数组里面的每
一个对象都是null值,则在使用的时候数组中的每一个对象必须进行实例化操作!
包,其实就是在创建文件夹,使得代码在同一个文件夹里,便于查找。
继承就是继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。它有四个特点:1、继承关系是传递的;
2、提供多重继承机制;3、提高代码的复用性;4、Java只支持单继承。在java中使用extends关键字完成类的继承关系。
Super可以从子类中调用父类的构造方法、普通方法、属性。但是super类不可以跟this同时使用,this可以访问本类中的属性(方法),如果本
类中没有此属性(方法),则从父类中继续查找;而super是直接从父类中直接访问属性及方法。this调用本类构造必须放在构造方法的首行,而
super则是调用父类构造,必须在子类构造方法的首行,this表示当前对象,而super无此概念。
然后就是final关键字,表示最终的意思,也可以称作完结器。使用final声明类不能有子类,声明的方法不能被子类所覆写,声明的变量是常量不能修改。
抽象类:使用了关键词abstract声明的类叫叫做“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象)。“抽象方法”,
属于一种不完整的方法,只含有一个声明,没有方法主体
throws与throw关键字,throws表示不管是否会有异常,在调用此方法处必须进行异常处理;throw关键字表示在方法中手动抛出异常,可以直接抛出异常,
抛出是直接抛出异常类的实例化对象,但是不能单独使用。
Exception类与RuntimeException类:Exception在程序使用中必须使用try...catch进行处理;RuntimeException类可以不使用try...catch进行处理,
但如果有异常产生,则异常将由下一个JVM进行处理。RuntimeException类是Exception类的子类;Exception类定义了必须处理的异常,而RuntimeException
类定义的异常类可以选择性地进行处理。
自定义异常类,在自定义异常类时只需要继承Exception类即可。
进程与线程:
线程(Thread)指程序的运行流程。“多线程”的机制可以运行多个程序块,使程序运行的效率更高,
继承Thread类:不共享变量
Runnable接:共享变量
1.线程状态:
创建状态->就绪状态(新建状态以后,调用该线程的start()就可以启动线程)->运行状态->堵塞状态(一个正在执行的线程在某些特殊情况下,如果被人为的挂起或需要执行耗时的输入操作时,会让出CPU并中止自己的执行)->死亡状态(线程调用spot()方法或run()方法执行结束后,即处于死亡状态)
2.线程操作的相关方法:
3.线程的强制运行:
在线程操作中,可以使用join()方法让一个线程强制运行。在线程强制运行期间,其他线程无法运行,必须等待此线程完成之后才能继续执行。
join()方法会抛出InterruptedException的异常,所以编程时必须把join()方法写在Try...catch块内。
4.线程的休眠:
使用Thread.sleep()方法既可以允许一个线程进行暂时的休眠。
5.File类:
一、字节流与字符流:
字节流在输出数据主要使用OutputStream类完成;输入主要使用的是InputStream类。
OutputStream类:
InputStream类:
字符流中输出主要使用Write类完成;输入主要使用的是Reader类完成。
Write类:
Reader类:
字节流与字符流的区别:字节流操作中没有缓存区而字符流操作中有缓存区。
二、装换流:OutputStreamWriter类与InputStReader类
1.OutputStreamWriter类:是Writer的子类,将输入的字符流变成字节流,即将一个字符流的输出对象变成字节流输出对象。
构造方法:public OutputStreamWriter(OutputStream out)
2.InputStReader类;是Reader的子类,将输入的字节流变成字符流,即将一个字节流的输出对象b变成字符流输出对象。
三、管道流:主要作用是可以进行两个线程间的通信,分为管道输入流(PipedOutputStream)、管道输出流(PipedInputStream)。
四、打印流:
1.PrintStream类:
2.格式化输出:
本周我们学习了Java的图形界面:
一、AWT简介
1、AWT(Abstract Windowing Toolkit):抽象窗口工具包,是Java提供的用来建立和设置Java图形用户界面的基本工具。
AWT中的所有工具都保存在java.awt包中。
2、组件:组件类都是从Component和MenuComponent拓展而来。
3、容器:所有的AWT组件都应该放在容器中,并可以设置其位置、大小等,所有的容器都是Component的子类。
4、布局管理器:可以使容器中组件按照指定的位置进行摆放,另外一个的优点是:即使容器改变了大小,布局管理器也可以
准确地组件放到指定的位置。
二、Swing简介
1、Swing使用Java的语言实现,是以AWT平台为基础构建起来的新组件,直接使用Swing可以更加轻松的构建用户图形界面。
2、Java中Swing都是保存在java.swing包中。
3、Swing中所有的容器都是继承AWT组件包。
三、基本容器JFrame
1、JFrame类的常用操作方法:
2、Dimension类的常用方法:
3、Point类的常用方法:
四、标签组件JLabel:
1、JLabel类的常用方法和变量:
2、Font类法人常用操作方法及变量:
3、Imagelcon类的构造方法:
五、按键组件JButton:
1、JButton类的常用方法:
六、布局管理器:
1、FlowLayout流式布局管理器:像流水一样依次进行排列。默认布局方式:居中对齐。
2、BorderLayout,将一个窗口的版面划分成东、南、西、北、中五个区域。
3、GridLayout布局管理器是以表格形式进行管理。以行优先的布局。
4、CardLayout:是将一组组件彼此重叠地进行布局,就像一张张卡片一样,这样每次只会展现一个界面。
5、绝对定位:使用X、Y的坐标表示方式,以setBounds()方法定位一个组件的坐标。
定义方法:public void setBounds(int x,int y,int width,int height)
一、其他容器
1.JPanel:默认流式布局管理器。
JPanel可以完成各种复杂的界面显示,可以加入任意组件,在直接将JPanel容器加入到JFrame容器中即可显示。
常用方法:
2.JSplitPane:主要功能是分割面板,可以将一个窗体分为两个窗体,可以使垂直排列,也可以是水平排列。
主要方法及常量:
3.JTabbedPane:是在一个面板上设置多个选项卡供用户选择。
常用方法及变量:
4.JScrollPane:主要功能是为显示的内容加水平滚动条。由JVieport和JScrollBar组成,前者主要是显示一个矩形
的区域让用户浏览,后者主要是形成水平或者垂直的滚动条。
常用方法及变量:
5.JDesktopPane与JInternalFrame:前者规定了一个父窗体的基本形态,后者规定各个子窗。
JDesktopPane类的常用方法:
JInternalFrame类的常用方法:
二、时间处理
1.事件和监听器:事件就是表示一个对象发生状态变化,事件的监听器:都是以接口的形式出现。
2.窗体事件:
WindowListerner:是专门处理窗体监听器的监听接口。
方法:
一、键盘事件及监听处理:
1.在Swing的事件处理中可以对键盘的操作进行监听,直接使用KeyListener接口。
KeyListener接口的常用方法
KeyEvent事件的常用方法
二、鼠标事件及监听处理:
1.MouseListener接口方法:
MouseEvent事件的常用方法:
鼠标拖拽事件及监听处理:
在Swing的事件处理中可以使用MouseMotionListener接口完成鼠标的拖拽操作。
三、单选钮:JRadioButton
1.在swing中可以使用JRadioButton完成一组单选钮的操作。
常用方法:
四、菜单组件
1.JMenu与JMenuBar
JMenu组件可以实现菜单类,JMenuBar组件的功能是用来摆放JMenu组件。
JMenuBar类的常用方法:
JMenu类的常用方法:
2.JMenuItem
JMenuItem继承AbstractButton类,
JMenuItem的常用方法:
五、事件处理
1.JMenuItem与JButton都是AbstractButton的子类,事件处理机制是完全一样的选择的菜单项实际上与单击一个按钮的效果是完全一样的。
一、JDBC:
1.JDBC提供里一套与平台无关的标准数据库操作接口和类,只要支持java的数据库厂商,所提供的数据库都可以以使用JDBC操作。
2.JDBC的主要操作类及接口:
3.JDBC的操作步骤:
(1)加载驱动程序:驱动程序有各个数据库产生商提供。
(2)连接数据库:连接时要提供连接路径、用户名、密码。
(3)实例化操作:通过连接对象实例化Statement或PreparedStatement对象。
(4)操作数据库:使用Statement或PreparedStatemen操作,如果是查询,则全部的查询结果使ResultSet进行接收。
二、MySQL数据库:是一个小型关系数据库管理系统。
安装及配置:
常用命令:
连接MySQL数据库:mysql -u用户名 -p密码
创建数据库:CREATE DATABASE 数据库名称
删除数据库:DROP DATABASE 数据库名称
使用数据库:USE 数据库名称
创建数据库表:
CREATE TABLE 表名称(
字段名称1 字段类型[DEFAULT 默认值][约束],
字段名称2 字段类型[DEFAULT 默认值][约束],
...,
字段名称n 字段类型[DEFAULT 默认值][约束]
)
删除数据库表:DROP TABLE 表名称;
查看表结构:DESC 表名称;
查看数据库信息:
查看全部数据库:SHOW ADTABASES;
查看一个数据库的全部表:SHOW TABLES;
个人总结:本学期学的java上课时候听津哥讲感觉可以接受,但是自己写代码的时候就感觉自己像个废物一样。
可能是没有好好复习的结果吧,其实我对代码的英文单词不是记得,很多时候都要照着书上的单词一个一个的写;
所以还要加强自己的英语学习。经过大一对代码的了解这个学期学起来感觉会好一点,至少比之前了解得更多了。
个人的不足就是比较懒,不会提前预习,所以有时上课跟不上津哥的节奏。最后还是要好好学习吧!
附录:
https://www.cnblogs.com/jzq93/p/11487098.html
https://www.cnblogs.com/jzq93/p/11523391.html
https://www.cnblogs.com/jzq93/p/11557258.html
https://www.cnblogs.com/jzq93/p/11595337.html
https://www.cnblogs.com/jzq93/p/11663505.html
https://www.cnblogs.com/jzq93/p/11695655.html
https://www.cnblogs.com/jzq93/p/11739404.html
https://www.cnblogs.com/jzq93/p/11777606.html
https://www.cnblogs.com/jzq93/p/11820512.html
https://www.cnblogs.com/jzq93/p/11869519.html
https://www.cnblogs.com/jzq93/p/11913194.html
https://www.cnblogs.com/jzq93/p/11959998.html