JAVA学习总结

来源:互联网 发布:淘宝外卖会员卡好用吗 编辑:程序博客网 时间:2024/05/18 03:14

Java虚拟机(Java virtual machineJVM

是运行Java程序必不可少的机制。编译后的Java程序指令并不直接在硬件系统的CPU上执行,

而是由JVM执行。

JVM是编译后的Java 程序和硬件系统之间的接口,程序员可以把JVM看作一个虚拟的处理器。

它不仅解释执行编译后的Java指令,而且还进行安全检查。它是Java程序能在多平台间进行

无缝移植的可靠保证,同时也是Java程序的安全检验引擎

Java解释器经过优化,字节码的执行速度已有很大提高

 

在字节码执行之前先经过JIT编译器进行编译,生成针对具体平台的本机执行代码。执行效率可

比解释执行的效率大幅度提高。并仍不失跨平台的特点

 

小程序:

public class Hello

{

         public static void main(String[]args)

         {

                   System.out.println ("hello world!");

         }

}

 

标识符是以字母,下划线(_,美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符号,数字。

 

整数类型

byte

1字节

-2727-1

short

2字节

-215215-1

int

4字节

-231231-1

long

8字节

-263263-1

 

 

 

 

浮点型

float

4字节

double

8字节

 

什么是oop?

 oop中,把事物称为对象,把属性称为属性。Oop是面向对象的程序设计,采用:封装,继承和多态三大技术。封装是指将数据及对数据的操作捆绑在一起为类;继承是指将一个已有的类中的数据和方法保留,并加上自己特殊的数据和方法从而构成新类;多态性是指在一个类或多个类中,可以让多个方法使用同一个名字。

 

访问控制

   私有的——private修饰符指定;

   保护的——protected修饰符指定;

   公开的——public修饰符指定;

默认的,也称为defaultpackage——不使用任何修饰符指定

 

关键词this

    用来指向对象自身

  用来访问当前对象的数据成员;

  用来访问当前对象的成员方法;

  重载构造方法时,用来引用同类的其他构造方法。

This super

 This指代本类,super指代父类。

Static即可以修饰数据成员又可以修饰成员方法,表明所说明的对象时静态的。静态的成员与类相对应,它可被类的所有对象共享,定义了类之后即已存在。

Final

 final修饰的类不能再派生,它已经达到类层中的最底层

Abstract

abstract可以修饰抽象类。抽象方法只需要给出原型说明,方法体是空的,抽象类一定要派生子类。

 

自动初始化和null引用

当执行new为一个对象分配内存时java自动初始化所分配的内存空间,对于数值型变量赋值为0,对于布尔型初值为false,对于引用即对象类型的任何变量,使用一个特殊的值null

 

运算符

 

数学函数

  • Math.sin(0)                 //返回0.0,这是double类型的值
  • Math.cos(0)                //返回1.0
  • Math.tan(0.5)             //返回0.5463024898437905
  • Math.round(6.6)                //返回7
  • Math.round(6.3)                //返回6
  • Math.ceil(9.2)             //返回10 .0
  • Math.ceil(-9.8)            //返回-9 .0
  • Math.floor(9.2)          //返回9 .0
  • Math.floor(-9.8)                  //返回-10 .0
  • Math.sqrt(144)          //返回12.0
  • Math.pow(5,2)           //返回25.0
  • Math.exp(2)                //返回7.38905609893065
  • Math.log(7.38905609893065)  //返回2.0
  • Math.max(560, 289) //返回560
  • Math.min(560, 289)           //返回289
  • Math.random()                   //返回0.01.0之间双精度的一个随机数值

 

 

循环语句

switch后面整型表达式的类型只能为:byteshortcharint

case后面的语句可以有break,也可以没有break

case后面只能跟常量表达式;

多个case以及default之间没有顺序的要求;

default为可选项。

 

break  label 不仅能够跳出本层循环,还能够跳出多层循环,而标签label可以指出要跳出的那层循环。

continue语句能够结束本次循环,进行当前所在层的下一次循环。

 

 

For循环

 

数组

 静态数组和动态数组

静态数组在定义数组时同时对数组元素初始化

动态数组使用new为数组分配空间。

   A=new char[20],.

数组边界

 下标从0开始。length

 

多维数组初始化

静态和动态

Vector类的构造方法

 元素添加addElemnt(Object obj);insertElementAt(Object obj,int index);

元素删除;setElementAt(object obj,int index)

          removerElement(object obj)

         removeElementAt(int index)

字符串处理:

Length()

Substring(int beginIndex);

连接

   String类使用concatenatestring str

stringBuffer类使用append();

比较

   Equals()

Boolean a=s1.equals(s2);

 

重载方法名

 

Extends关键字

Public class A extends B{}

虽然一个子类可以从父类继承所有的方法和成员变量,但是不能继承构造方法。只有两种方法可让一个类得到一个构造方法:一种是自己编写一个构造方法;另一个是因为用户没有写构造方法所以系统为类提供一个默认的构造方法。子类不能直接存取其父类中的私有属性及方法,但是可以使用公有方法进行存取。

 

父类构造方法调用

 

接口

 [接口修饰符] interface 接口名称 [extends 父类名]{}

 

 

异常机制的关键步骤

   try {…}

   定义可能产生异常的代码段

   catch (Etype e) {…}

   用于捕获一个异常

   finally {…}

   用于做统一的事后处理,如释放资源

   throw e;

   用于抛出一个异常

   throws Etype1, Etype2 ……

   用于声明方法可能抛出的异常类型

公共异常

ArithmeticException

NullPointer Exception

 IOException

………..

异常抛出

   Throws

 

 

第七章

Jframe

内容窗格

面板

Flowlayout布局管理器

Broderlayout布局管理器

Gridlayout布局管理器

 

事件处理模型

 

 

图片

 

事件类型接口:

Mousemotion

Mouse button

Action

Item

Window

 

第八章

JButton

组合框

文本域

菜单栏

菜单

菜单项

 

 

第十章

文件数据流

文件的处理

第十一章

线程的状态

  • 线程一共有四种状态:新建(new)、可运行状态(runnable)、死亡(dead)及堵塞(blocked

 参照课本279页图11—3

 

 

创建线程

  • 创建线程的方法一——继承Thread
    • 定义一个线程类,它继承类Thread并重写其中的方法run()。在初始化这个类的实例时,目标对象target可以为null,表示这个实例本身具有线程体
  • 创建线程的方法二——实现Runnable接口
    • RunnableJava中用以实现线程的接口,从根本上讲,任何实现线程功能的类都必须实现该接口

线程的启动

  • 通过Thread类中方法start()来启动
  • start()
    • 启动线程对象;
  • run()
    • 用来定义线程对象被调度之后所执行的操作,用户必须重写run()方法;
  • yield()
    • 强制终止线程的执行;
  • isAlive()
    • 测试当前线程是否在活动;
  • sleep(int millsecond)
    • 使线程休眠一段时间,时间长短由参数所决定;
  • void Wait()
    • 使线程处于等待状态;

线程的基本控制

  • 结束线程
    • 当一个线程从run()方法的结尾处返回时,它自动消亡并不能再被运行,可以将其理解为自然死亡 
    • 利用stop()方法强制停止,可以将其理解为强迫死亡,这种方法必须用于Thread类的特定实例中

 

挂起线程

  • 暂停一个线程称为挂起。在挂起之后,必须重新唤醒线程进入运行
  • 挂起线程的方法
    •  sleep()

         线程不是休眠期满后就立刻被唤醒,因为此时其他线程能正在执行,重新调度只在以下几种情况下才会发生:

         1) 被唤醒的线程具有更高的优先级;

         2) 正在执行的线程因为其他原因被阻塞;

         3) 程序处于支持时间片的系统中

  • suspend()resume()
  • join() :引起现行线程等待,直至方法join所调用的线程结束

 

原创粉丝点击