⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java.txt

📁 我的java入门的笔记.可以参考.和
💻 TXT
字号:
07-7-27 10:15
第1章 Java简介
1.Java语言概述
  Java具有简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等特点

第2章 Java语言基础
1.程序结构
  *一个程序包语句(package statement)
  *入口语句(import statements)
  *类的声明(class declarations)
  *界面声明(interface declarations)
2.Java符号集
3.变量和常量
  a.变量名通常以小写字母开头
  1.必须以字母、下划线或美元符标记开始,随后的字符可以用数字0~9。字母包括英文字母A到Z的小写和大写形式;
  2.不能与Java语言中的关键字同名;
  3.不能与同一作用域中的其他变量同名。
  4.变量名称的长度没有一定的限制。 
  5.英文字母区分大小写。
4.static修饰符
  a.指定一个成员变量属于类本身而独立于类中的其他对象
  b.Java.lang包中的System类将所有的公有方法和变量都定义为静态的,所以它所有的变量和方法都可以通过类直接来访问

编程实例------冒泡算法
public class Sort {
public Sort() {  }
  public static void main(String[] args) {
  Sort sort1 = new Sort();
  int a[] = new int[8];
    a[0] = 49;a[1] = 38;    a[2] = 65;    a[3] = 97;    a[4] = 76;
    a[5] = 13;a[6] = 27;    a[7] = 49;
    int tmp; //定义临时变量,作为寄存器
    for (int i = 0; i <= 7; i++) {
      for (int j = 0; j < 7 - i; j++) { //以下进行每趟排序
        if (a[j] > a[j + 1]) { //比较大小,交换
          tmp = a[j + 1];
          a[j + 1] = a[j];
          a[j] = tmp;
        }
      }
    }
    //将比较完成的结果打印出来
    for (int i = 0; i <= 7; i++) {
      System.out.print(a[i] + ";");
    }
  }
}

编程实例------汉诺塔小游戏
汉诺塔是非常经典的关于递归程序的例子
a) 一次只能移一个盘子。
b) 盘子只能在三个柱子上存放。
c) 任何时候大盘不能放在小盘上面。
简化问题:
设盘子只有一个,则本问题可简化为a→b。
对于大于一个盘子的情况,逻辑上可分为两部分:第n个盘子和除n个以外的n-1个盘子。如果将除n以外的n-1个盘子看成一个整体,则要解决本问题,可按以下步骤:
a、将a杆上n-1个盘子借助于b先移到c杆; a→c (n-1,a,c,b)
b、将a杆上第n个盘子从a移到b杆; a→b
c、将c杆上n-1个盘子借助a移到b杆。 c→b (n-1,c,b,a)
public class Hanio {
   public static void main(String args[]) {
  //一共有两个盘子
    byte n = 2;
  // 定义三个杆子的名称
    char a = 'A', b = 'B', c = 'C';
  // 调用汉诺塔执行函数
    hanio(n, a, b, c);
  }
  public static void hanio(byte n, char a, char b, char c) {
    if (n == 1) {  //如果只有一个盘子则直接把盘子从a 移到b
      System.out.println("move " + a + " to " + b);
    }
    else { //超过一个盘子的情况
      hanio( (byte) (n - 1), a, c, b); //将a杆上n-1个盘子借助于b先移到c杆
      System.out.println("move " + a + " to " + b); //将a杆上第n个盘子从a移到b杆
      hanio( (byte) (n - 1), c, b, a); //将c杆上n-1个盘子借助a移到b杆
    }
  }
}
第3章 面向对象的编程基础
1.OOP语言有三个特征:封装、多态性及继承
2.抽象数据类型(ADT)
3.类的声明:关键字class、类名classname、变量variable和方法method
4.关键字this是用来指向当前对象或类实例的
5.封装:一个是保护类中的数据,不让这些数据被错误的使用或破坏;第二个就是隐藏一些不需要让别人知道的细节,以防止别人误用
6.抽象类:声明方法的存在而不去实现它的类被叫做抽象类
7.构造函数:一个新对象的初始化就是去调用一个叫做构造函数的方法
  a.方法名称必须与类名称完全相匹配;
  b.对于方法,不要声明返回类型
8.调用重载构造函数:对于this的任何调用,如果出现,在任何构造函数中必须是第一个语句
9.Object是Java语言中惟一一个没有超类的类
第4章 Java的语言基础类库
1.StringTokenizer类java.util这个包中,所以使用前,需要import进来,StringTokenizer类默认会用5个符号当作字符串的分解符号,这5个符号分别是空格(“ “)、定位(Tab,\t)、换行(\n)、Carriage-return(\r)和form feed(\f)。
   String str="person1@cnsoft4u.com;person2@cnsoft4u.com;person3@cnsoft4u.com"
   StringTokenizer st = new StringTokenizer(str,”;”);
   While(st.hasMoreTokens())  System.out.println(st.nextToken());
编程实例------在字符串中查找给定的字符串
   public int indexOf(String str) 该函数首先在当前字符串搜索子串str的匹配,返回第一次出现的下标值,若未发现匹配,返回-1。str为要搜索的字符串
public class Search
{
 public Search(){}
 public static void main(String[] args)
 {
    String str = new String("This is a test of searching."); //设置初始化字符串
    System.out.println("String's contents:" + str);
    int place = str.indexOf("test"); //欲搜索的字符串为test
    if (place > 0)
    { //找到则打印出位置
      System.out.println("The Sub String 'test' is found.place:" + place);
    }
    else
    {
      System.out.println("The Sub String 'test' is not found");
    }
    place = str.indexOf("The"); //欲搜索的字符串为The
    if (place > 0)
    {
      System.out.println("The Sub String 'The' is found.place:" + place);
    }
    else
    {
      System.out.println("The Sub String 'The' is not found");
    }
  }
}
执行结果:
String's contents:This is a test of searching.
The Sub String 'test' is found.place:10
The Sub String 'The' is not found

07-7-28  8:09
第5章 Java的异常处理
1.在程序执行中,任何中断正常程序流程的异常条件就是错误或异常
2.Java.lang.Throwable类充当所有异常类的父类
3.引发(throw):throw new ,异常类throw语句用来明确地抛出一个“异常”。
4.throws用来标明一个成员函数可能抛出的各种异常
5.每个try语句都需要至少一个相匹配的catch子句或finally子句


第6章 Java的输入输出与文件处理
1.标准I/O:Java遵循I/O模式,提供了System.in,System.out和System.err
2.读取控制台输入,read()方法每次从输入流中读取一个字节并返回对应的整数值System.in通过read()方法读取控制台的输入,read()方法每次从输入流中读取一个字节并返回对应的整数值
3.System.out->PrintStream->OutputStream.PrintWriter的构造函数:PrintWriter(OutputStream out);
  PrintWriter out = new PrintWriter(System.out, true);
4.文件操作File f1 = new File(“c:\\temp\\abc.txt”);
5.文件访问
  a.FileInputStream、FileOutputStream、FileReader和FileWriter
  b.利用RandomAccessFile来做更进一步数据的访问。
6. 随机文件的读写
   a.public RandomAccessFile(String filename, String mode);
   b.public void seek(long pos);
   c.public int length();
   d.文件操作完毕后,必须关闭文件。用close( );
   e.读文件操作方法:
     public int read () ;                       //读一个字节  指针后移八位
     public int read ( byte b[ ] ) ;                 //把数据读到一个字结数组
     public int read (byte b [] ,int offset , int length) ;
     public final String readline( );     //读一行数据。
7.对象序列化
   a.需要将对象的状态保存到文件中,而后能够通过读入对象状态来重新构造对象,恢复程序状态。
   b.使用套接字在网络上传送对象的程序来说,是很有用的
   c.对象序列化支持把对象编码以及将通过它们可访问到的对象编码变成字节流
   d.声明为static和transient类型的成员数据不能被序列化。因为static代表类的状态, transient代表对象的临时数据
8.I/O streams的运用
   a.Java的I/O系统中有超过60个不同流类型,每种流提供了不同的功能,Java采用了Decorator模式,通过叠合多层对象动态而透彻地地添加单个对象的能力
   b.Decorator模式规定封装于初始化对象中的所有对象都拥有相同的接口,使得装饰器(decorators)的基本运作方法非常透彻可以将相同的消息发给一个对象,无论它是否已被"装饰"

第7章 Java多线程机制
1.Java语言里,线程表现为线程类,线程类封装了所有需要的线程操作控制。线程类是控制线程行为的惟一的手段,一个Java程序启动后,就已经有一个线程在运行。可通过调用Thread.currentThread()方法来查看当前运行的是哪一个线程
2.实现多线程 继承类java.lang.Thread或实现Runnable接口
3.继承Thread类,覆盖方法run()
  a.run()方法必须进行覆写,把要在多个线程中并行处理的代码放到这个方法中。
  b.虽然run()方法实现了多个线程的并行处理,但不能直接调用run()方法,而是通过调用start()方法来调用run()方法。在调用start()的时候,start()方法会首先进行与多线程相关的初始化(这也是为什么不能直接调用run()方法的原因),然后再调用run()方法。
4.实现Runnable接口
  a.Runnable接口只有一个方法run(),声明自己的类实现Runnable接口并提供这一方法
  b.必须创建Thread类的实例,这一点通过Thread类的构造函数来实现
5.线程同步:一个Java程序的多线程之间可以共享数据。当线程以异步方式访问共享数据时,有时候是不安全的或者不合逻辑的,两种用法:synchronized方法和synchronized块。
  a.synchronized方法:public synchronized void accessVal(int newVal);
  b.synchronized块:synchronized(syncObject){//允许访问控制的代码}
6.线程优先级:可以调用Thread类的方法getPriority()和setPriority()来存取线程的优先级
7.线程间通信,死锁的原因如下
  a.相互排斥: 一个线程或者进程永远占有一共享资源,例如,独占该资源。 
  b.进程A等待进程B,而后者又在等待进程C,进程C又在等待进程A。 
  c.资源被部分分配。
  d.一个进程访问了某个资源,但是一直不释放该资源,即使该进程处于阻塞状态。 
8.挂起、恢复和终止线程 
  a.Thread类拥有一个suspend()函数,可使线程进入停滞状态。通过suspend()使线程进入停滞状态后,除非收到resume()消息,否则该线程不会变回可执行状态
  b.当调用suspend()函数后,线程不会释放它的"锁标志"。

第8章 事件处理
1.Java的事件处理方法就是向Java的组件对象注册事件监听器(Listener),注册之后,该组件就成为事件的监听器对象。当事件源产生了一个事件后,事件源就会给为这个事件进行注册的所有监听器对象发送通知,然后执行相应操作。
2.Java中,关于事件的信息被封装在一个事件对象中。所有的事件对象都是从java.util.EventObject派生出来的。
3. 事件类介绍
  a.ActionEvent类
  b.AdjustmentEvent类
  c.   FocusEvent类
  d.ItemEvent类
  e.KeyEvent类
  f.MouseEvent类
  g.WindowEvent类

第9章 Java图形用户界面设计简介
1.Java图形界面组件是专门用于建立图形界面的Java类:常用的组件有:视窗框架(JFrame)、标签(JLabel)、命令按钮(JButton)、文本框(JTextField)等
2.组件之间还可以具有层次关系。一个组件中可以包含另一个组件,这个组件称为容器组件Container,否则称为原子组件(Atomic Component)

第10章 Applet技术及应用
1.应用小程序Applet能够完成以下的事情
  a.Applet能够播放声音;
  b.Applet运行在Web浏览器中,它提高了HTML文档的交互性;
  c.Applet能够调用在同一页中其他应用小程序的公共(public)函数;
  d.Applet可以从本地文件系统中装载(用户在CLASSPATH中定义的路径),那么从网络装载时所产生的约束将不再适用于这个Applet;
2.Java语言提供了一个SecurityManager类,Java虚拟机为Applet提供的能够良好运行的沙箱。当SecurityManager检查到违反安全限制的行为时,将抛出一个SecurityException异常事件。

第11章 Java数据库编程
1.JDBC是Java DataBase Connectivity
2.JDBC与数据库的连接
  a.一种加载驱动程序Class.forName(driverName);
    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    另一种加载驱动程序的方法是通过System类
    System.setProperty("jdbc.drivers","oracle.jdbc.driver.OracleDriver");
  b.建立连接调用DriverManager.getConnection方法
    String url = "jdbc:oracle:thin:@TESTSERVER:1521:TESTDB";
    Connection con = DriverManager.getConnection(url,  "test", "testjava");
  c.JDBC URL jdbc:<subprotocol>:<subname>
    String dbURL="jdbc:odbc:student";
    jdbc:rmi://192.168.107.1:1521/jdbc:testserver:db
  d.发送SQL语句
    Statement:由方法createStatement()所创建。Statement对象用于发送简单的SQL语句。
    PreparedStatement:由方法prepareStatement()所创建,从 Statement 继承而来
    CallableStatement:由方法prepareCall()所创建,从 PreparedStatement 继承而来
  e. ResultSet
     (1)行和游标
     (2)列的取值
     (3)数据集的元数据:元数据是有关数据的数据
     (4)可被更新和滚动的结果集
3. 驱动程序管理器DriverManager
  a.加载驱动程序
  b.建立连接


第12章 Java高级编程
1.JavaBeans组件:是描述Java的软件组件模型
   a.一个公共(public)类;
   b.有一个公共的(public)无参数的构造器;
   c.有正确构造了存取其方法的属性;
   d.可以被定制,因此用户可以修改组建的外观和行为;
   e.修改的状态能够通过串行化(serialization)保存。
2.EJB简介
   a.EJB组件开发者(Enterprise Bean Provider) 、应用组合者(Application Assembler)、部署者(Deployer)、EJB 服务器提供者(EJB Server Provider)、EJB 容器提供者(EJB Container Provider)、系统管理员(System Administrator)
   b.EJB包括三种基本类型:session beans、Entity beans和MessageDriven bean
3.Jsp.Servlet


    




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -