光阴似箭,一晃眼一学期的学习生活就快要过去了,而我们的Java课程也接近了尾声。在这一学期自己学到了很多关于Java语言的
编程方法,感觉很高心,自己也是能够打出一些操作代码出来的人了,也弥补了上学期一些关于编程知识的不足,因为上学期的C
语言并不是学得很好,而且在这学期能够学到更加适用于对象的操作很开心。
课程总结:
方法的声明的使用:方法的定义一般是 public static+返回值类型+方法名+(参数){+方法主体};方法分为有无返回值的两种,
public class ASKM { public static void main(String[] args) { Test(); Test("asdsdf"); } public static void Test() { int a[]= {51,60,80,90,70};//静态初始化赋值 for(int i=0;i<5;i++) { System.out.println(a[i]); } } //方法的重载 public static String Test(String str) { char s[]=str.toCharArray(); for(int i=0;i<6;i++) { System.out.print(s[i]+" "); } System.out.print(" "); byte b[]=new byte[str.length()];//声明一个字节数组b for(int i=0;i<s.length;i++) { b[i]=(byte) (s[i]-32);//动态初始化赋值 System.out.print(b[i]+" "); } return str; } }
this.方法名称用来访问本类的成员方法
注意:
-
static修饰的成员变量和方法,从属于类
-
普通变量和方法从属于对象
-
静态方法不能调用非静态成员,编译会报错
异常的捕获及处理:
异常:导致程序终端的一种指令流。异常的五个关键词:try、catch、throw、throws和finally。异常处理一般有三种处理方式立即处
理、稍后处理和不处理。
1、立即处理一般是用try、catch对异常进行处理,try语句内放可能存在的异常,catch是用来激发被捕获的异常 ,有时还会在catch
后加一个finally块用来清除程序没有释放的资源。
2、稍后处理一般是用throw关键词将异常抛出,抛给上层调用者,throw是将一个明确的异常抛出。
多线程:
1.多线程问题:关于实现多线程有两种办法。第一种通过继承Thread类,这种方法不能够实现数据共享;第二种实现Runnable接口。
2.同步问题:要实现数据同步可以通过同步代码块和同步方法实现,关键词synchronized。
3.操作文件的类--File;学到了File的一些方法,使用File类去修改文件的操作。 注:使用File类要引入java.io。
4、购票问题:
package demo; public class MyThread implements Runnable{ private int ticket=100; public void run() { for(int i=0;i<100;i++) { synchronized(this) { if(ticket>0) { try{ Thread.sleep(1000); }catch(InterruptedException e) { e.printStackTrace(); } System.out.println("出票成功:"+ticket--); } } } } }
package demo; public class test { public static void main(String[] args) { MyThread mt=new MyThread(); for(int i=0;i<9;i++) { Thread i1=new Thread(mt); i1.start(); } } }
Java IO:
1、File类是唯一表示与文件本身有关的类,使用File类时,必须要设置路径;使用File类可以对文件进行删除文件、创建文件、
判断文件是否存在等一系列操作。
2、RandomFile类:通过该类可以同文件的数据进行读出和输入的操作。1、
3、字符流与字节流基本操作:字节流通过OutputStream与InputStream可以对文件进行输出和输入的操作,还学到了一些其他
的方法;字符流则是通过Writer与Reader类对分件进行操作的,这两种办法大同小异。
4、管道流主要作用是可以进行两个线程间的通信,管道输出流:PipedOutputSream;管道输入流:PipedInputStream用
connect()方法来连接输出和输入流。
5、后面还有些类的其方法的作用。
图形界面:
学习了关于创造界面,对界面进行一些操作,比如:设置界面大小、位置,在界面上显示文字、组件等。
设置图形界面肯定是要学习AWT和Swing包中一些类和类方法的;关于这两个包的区别是AWT主要是针对于Windows系统的,
AWT中引入了大量的Windows函数,并不适合跨平台使用,Swing包是以AWT平台为基础构建起来的新组件,它更适用于各
平台之间使用,且可以更加轻松地构建用户界面。我们主要学习Swing包的一些操作。
Swing包:
基本容器JFrame:我们可以直接使用JFrame类来构造一个窗口,还可以用JFrame类的一些方法来设置窗口的位置、大小、
背景颜色,主要是界面组件的添加也是通过JFrame类的一个方法去实现的。(关于界面的大小还可以通过Dimession去实现
;point类可以实现窗口的位置,并且还可以移动窗口)。
标签组件JLabel和按钮组件JButton:界面上的文字、图片是通过JLabel的一些方法去实现的;按钮组件呐是写一些可以点击
的组件,比如:QQ上的登陆,游戏界面刚进去显示的“开始游戏”,这些是通过JButton实现的。
布局管理器:FlowLayout、BorderLayout、GirdLayout、CardLayout和绝对定位。
这五个布局管理器都有各自的特点,其目的就是为了让界面上的组件按一定的次序或者说自己设置的位置去摆放,若是没有
布局管理器那么当两个组件放在一起时后面的组件则会覆盖前面的组件。
事件和监听器:每按下一个按钮时,就会发生事件,想要对事件进行处理则需要对事件进行监听。监听器都
是监听接口实现的。本周学习了WindowListener和ActionListener这两个接口方法,WindowListener主要是针对
窗体事件的,ActionListener呐则是对一些动作进行反应处理,比如按按钮。监听适配器是为了解决监听器的抽
样方法过多的问题,比如你通过实现WindowListener接口的话,则需要覆写它所有的抽样方r法,那么过于麻烦,
因为有时候我们又不需要用到所有的方法。WindowListener它具有多个抽样方法,但ActionListener它只有一个
抽样方法,我们在使用它的时候只需要配合采用匿名内部类(它就是在一个方法中去声明一个接口方法,再去覆
写使用)在覆写它的抽样方法就可以了,很方便。本周我们就学习了这么多。
其他容器:JPanel、JTabbedPane、JScrollPane、JDesktopPane与JInternalFrame,JPanel没什么好讲的,他就是
一个普通的容器,它有一个默认的FlowLayout布局管理器;JTabbedPane是在一个面板上设置多个选项卡,这个一
般在网页,文件上面的一些操作都会用到,还有它的一些方法,对了这次的实验测试题计算器也是可以用到这个,但
我没用到,因为我一开始对着不熟悉;JScrollPane则是则是通过它的一些方法让不显示在界面窗口的内容可以显示在
窗口中;JDesktopPane与JInternalFrame这两个是一起用的,通过它的方法可以在在主窗体内创建多个子窗口,这个
很有用,我们浏览的网页应该也是这个方法实现的。
组件:文本组件JTestComponent、文本框组件JTextFiled、密文输入组件JPasswordFiled。这些没什么好说的,主要
是主要掌握了它们的方法和用途就行了。文本框组件JTextFiled这个一般就是帐号输入;密文输入组件JPasswordFiled
则是密码输入,你可以将你输入的内容定义成你想要显示的字符。