21天学通Java学习笔记-Day11(常用类)

java 常用类(重点):

String 类:

 

    String 类代表字符串。创建以后不能更变。

 

public class tests { 
 public static void main(String[] args) {
  String s1 = "hello";
  String s2 = "hello";
  System.out.println(s1==s2);//true,指向String池中的同一块内存
s1 = new String("hello"); 
  s2 = new String("hello");
  System.out.println(s1==s2);      //false,两个不同的对象
  System.out.println(s1.equals(s2));      //true,String类重写了Object类的equals方法,内容相同就相等
 char[] c = {'s','u','n',' ','j','a','v','a'}; 
  s1 = new String(c);      //将一个字符数组赋值给一个字符串
  s2 = new String(c,4,4);      //截取字符数组的一部分赋值给字符串(从c中第4个字符开始截取4个)
  System.out.println(s1);      //sun java
  System.out.println(s2);      //java
 }
}


 

String 类常用方法:

char     chasrAt( int index )返回字符串中第index个字符( 字符串实际是一个字符数组)

 

    int     length( ) 返回字符串长度

 

    int     indexOf( String str, int fromIndex ) 返回字符串从 fromIndex 开始出现 str 的第一个位置    

 

    boolean     equalsIgnoreCasr( String another )  比较字符串与 another 是否一样(忽略大小写)

 

    String     replace( charoldChar, char newChar )  在字符串中用 newChar 字符替换 oldChar 字符

 

    boolean     startsWith( String prefix )  判断字符串是否以 prefix 字符串开头

 

    boolean     endsWith( String suffix )  判断字符串是否以 suffix 字符串结尾 

 

    String     toUpperCase( ) 返回字符串大写形式

 

    String     toLowerCase( )  返回字符串小写形式

 

    String     substring( int beginIndex )   返回该字符串从 beginIndex 开始到结尾的字符串 

 

  String     substring( int beginIndex, int endIndex )  返回该字符串从 beginIndex 开始到 endIndex 结尾的子字符串

 

    String     trim( ) 返回该字符串去掉开头和结尾空格的字符串

 

    String     value    Of( ...... )  可以将基本类型(对象类型)装换为字符串类型(相当于调用toString( )方法)

 

String[ ] split( String regex )   可以将一个字符串按照指定的分隔符 regex 分隔成一个个子串,放进一个字符串数组中

 

 

StringBuffer 类:

    StringBuffer 类代表可变字符序列。

 

StringBuffer 常用方法:

    StringBuffer     append( ...... )     参数可以是基本类型,String,StringBuffer,char数组,对象类型,可以为该 StringBuffer 对象添加字符串序列,返回添加后的该StringBuffer对象引用

 

    StringBuffer     insert( int offset , ...... )     参数可以是基本类型,String,StringBuffer,char数组,对象类型,可以为该 StringBuffer 对象在指定位置插入字符序列,返回修改后的该StringBuffer对象引用

 

    Stringuffer     delete( int start , int end )  可以删除 start 开始到 end-1 为止的一段字符序列,返回修改后的该 StringBuffer 对象引用

 

    StringBuffer     reverse( )   将字符序列逆序排列

 

 

 

 枚举类   :

    java.lang.Enum 枚举类型

 

    使用关键字 enum 

 

public class TestEnum {
 public enum MyColor {  red, green, blue  };
 public enum MyDoorOpener { me, mywife };
 
 public static void main(String[] args) {
  MyColor m = MyColor.red;
  switch(m) {
   case red:
    System.out.println("red");
    break;
   case green:
    System.out.println("green");
    break;
   default:
    System.out.println("default");
  }
  System.out.println(m);
 }
}


 

日期类:

 

格式化日期:

import java.text.*;
import java.util.*;
public class testd {
 public static void main(String[] args)throws Exception {
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");  //以这种模式格式化日期
   Date d = new Date();   //获得当前时间
   System.out.println(sdf.format(d));   //将日期以指定模式输出
 }
}
 


 

System.currentTimeMillis( ) 返回从1970年1月1日零时开始到当前以毫秒为单位的时间。

 

 

将String类型转换为日期类型:

import java.sql.*;
public class testd {
 public static void main(String[] args)throws Exception {
   String s = "1990-11-12 08:24:27";
   Timestamp ts = Timestamp.valueOf(s);
   System.out.println(ts);
 }
}
 


 

 

正则表达式:

    用途:1. 字符串匹配(字符匹配);2. 字符串查找;3. 字符串替换

 

    类:1. java.lang.String;2. java.util.regex.Pattern ; 3. java.util.regex.Matcher

 

java.lang.String 类中与正则表达式相关的方法:

 

    boolean     matches( String regex )   告知这个字符串是否匹配给定的正则表达式。

 

    String     replaceAll( String regex , String replacement )    使用给定的 replacement 替换这个字符串匹配给定的正则表达式的子字符串。

 

    String     replaceFirst( String regex , String replacement )   使用给定的 replacement 替换这个字符串匹配给定的正则表达式的第一个子字符串。

 

    String[ ]     split( String regex )   根据给定正则表达式的匹配拆分此字符串。

 

    String[ ]     split( String regex , int limit )   根据匹配给定的正则表达式来拆分这个字符串。

 

public class testd {
 public static void main(String[] args)throws Exception {
  System.out.println("abc".matches("..."));  //true, .代表任何字符
  System.out.println("a56t879a".replaceAll("\\d","-"));  //a--t--a, \\d 代表一个数字
 }
}


 

 

 

import java.util.regex.*;
public class testd {
 public static void main(String[] args)throws Exception {
  Pattern p = Pattern.compile("[a-z]{3}");  //compile()方法:返回在其中编译过此模式的正则表达式。
  Matcher m = p.matcher("fgh");  //matcher()方法:创建匹配给定输入与此模式的匹配器。
  System.out.println(m.matches());  //matches()方法:尝试将整个区域与模式匹配,当且仅当整个区域序列匹配此匹配器的模式时才返回 true。
 }
}


    

关于  .  *  +  ?  的例子代码:

 

import java.util.regex.*;
public class testd {
 public static void main(String[] args)throws Exception {
  print("a".matches("."));   //. 所有字符
  print("aa".matches("a*"));   //* a出现零次或者多次
  print("aaa".matches("a+"));   //+ a出现一次或者多次
  print("a".matches("a?"));   //? a出现零次或者一次
  print("".matches("a*"));   //* a出现零次或者多次
  print("".matches("a?"));   //? a出现零次或者一次
  print("2134567898767895".matches("\\d{3,20}"));   // \\d{ ,} 数字出现最少3次,最多20次
  print("192.168.0.aaa".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\D{1,3}"));    // \\. 代表点,\\D 代表非数字
  print("192".matches("[0-2][0-9][0-9]"));  // [ ] 范围 ,一个[]只匹配一个字符
 }
 public static void print(Object b){ 
  System.out.println(b);
 }
}


    

 

关于[ ] 例子代码:

 

import java.util.regex.*;
public class testd {
 public static void main(String[] args)throws Exception {
  print("a".matches("[abc]"));    //范围 abc
  print("a".matches("[^abc]"));   //范围 非abc,^ 为取反
  print("A".matches("[a-z]|[A-Z]"));   //范围 a-z或者A-Z
  print("A".matches("[a-z[A-Z]]"));    //范围 a-z或者A-Z
  print("R".matches("[A-Z&&[RFG]]"));   //范围 A-Z 并且在 RFG 中
 }
public static void print(Object b){
  System.out.println(b);
 }
}


 

 

 

关于 \\d , \\D , \\s , \\S , \\w , \\W

    

import java.util.regex.*;
public class testd {
 public static void main(String[] args)throws Exception {
  print(" ".matches("\\s"));   // \\s 表示空字符
  print("a".matches("\\S"));    // \\S 非空字符
  print("5w".matches("\\w{2}"));    // \\w 单词字符(范围[a-zA-Z_0-9]字母加下划线加数字) {3} 正好出现三次
  print("1qazxsw2".matches("\\W{2,7}"));   // \\W 非单词  {2 , 7}最少出现2次,最多出现7次
  print("R".matches("\\D"));   // \\D 非数字
  print("3".matches("\\d"));   // \\d 数字
  print("\\".matches("\\\\"));   // 匹配一个反斜杠"\\" , 需要"\\\\"
 }
public static void print(Object b){
  System.out.println(b);
 }
}


 

        

关于边界符 ^ , $  , \\b 例子代码:

 

import java.util.regex.*;
public class testd {
 public static void main(String[] args)throws Exception {
  print("hello world".matches("^he.*"));    // ^ 表示以什么开头
  print("hello java".matches(".*va$"));    // $ 表示以什么结尾
  print("hello sir".matches("^h[a-z]{1,3}o\\b.*r$"));   // \\b 表示单词边界(空格,换行等符号)
 }
public static void print(Object b){
  System.out.println(b);
 }
}


 

邮箱匹配的正则表达式:

import java.util.regex.*; 

public class testd { 
public static void main(String[] args)throws Exception {
String email1 = "show_123@126.com";
String email2 = "454768978@qq.com.cn";
print(email1.matches("[\\w[.-]]+@[\\w[.-]]+.[\\w]+"));
print(email2.matches("[\\w[.-]]+@[\\w[.-]]+.[\\w]+"));
}
 
public static void print(Object b){
System.out.println(b);
}
}
 


 

分组:

 

import java.util.regex.*;
public class testd {
 public static void main(String[] args)throws Exception {
  Pattern p = Pattern.compile("(\\d{1,5})([a-z]{3})");   //用小括号表示分组,一个小括号表示一个分组,根据左小括号表示是第几个分组
  String s = "123aaa-4567bbb-89ccc-000";
  Matcher m = p.matcher(s);
  while(m.find()) {           //find() 尝试查找与该模式匹配的输入序列的下一个子序列。
   print(m.group(1));        //group() 返回由以前匹配操作所匹配的输入子序列。 0 代表原来的字符,1代表第一个分组
  }
 }
public static void print(Object b){
  System.out.println(b);
 }
}


 

 

 

反射机制:

 

    ClassLoader 的类加载机制

        并非一次性加载,而是需要的时候加载(运行期间动态加载)

        static 语句块在加载后执行一次

        dynamic (动态)语句块每次 new 新的对象都会执行(等同于构造方法中的语句,用的较少)

 

public class testd {
 public static void main(String[] args){
  new A();
  System.out.println("-------");
  new B();     //new 出来才会加载
  new C();
  new C();    //static 内容只会加载一次
  new D();
  new D();    //动态语句每次都会加载
 }
}
class A{
}
class B{
}
class C{
 static {
  System.out.println("CCCCCCC");
 }
}
class D{
 {
  System.out.println("DDDDDD");
 }
}


 

 

public class testd {
 public static void main(String[] args)throws Exception{
  String s = "T";
  Class c = Class.forName(s);  // forName( )回与带有给定字符串名的类或接口相关联的 Class 对象
  c.newInstance();   // newInstance( ) 创建此 Class 对象所表示的类的一个新实例。
 }
}
class T{
 static {
  System.out.println("T loaded");
 }
public T() {
  System.out.println("T constructed!");
 }
}


图文并茂很适合初学着学习 下面是课程的目录: 第一篇 基础篇   第1章 Java简介(精彩视频:33分钟) 21   1.1 Java的平台简介 21   1.2 安装工具包 22   1.2.1 下载JDK 22   1.2.2 安装JDK 24   1.2.3 查看与设置环境变量 25   1.2.4 JDK常用命令 27   1.2.5 Java各个目录含义 28   1.2.6 要善于使用JDK的帮助文件 28   1.3 程序开发过程 29   1.4 编码规范 29   1.5 HelloWorld:第一个Java程序 30   1.5.1 编写程序代码 30   1.5.2 编译程序代码并运行 30   1.5.3 注意事项 31   1.6 使用Eclipse集成开发工具开发 32   1.7 综合练习 32   1.8 小结 33   1.9 习题 33   第2章 Java的基本数据型(精彩视频:38分钟) 34   2.1 数据型 34   2.1.1 整型 34   2.1.2 浮点型 35   2.1.3 字符型(char) 36   2.1.4 布尔型(boolean) 36   2.2 数据型间的转换 36   2.2.1 自动转换 36   2.2.2 强制转换 37   2.2.3 隐含转换 37   2.3 标识符的命名 38   2.3.1 标识符的命名规则 38   2.3.2 代码演示如何定义标识符 38   2.3.3 不好的标识符命名 38   2.3.4 良好的标识符命名 39   2.4 关键字 39   2.5 代码注释 40   2.5.1 行注释 40   2.5.2 块注释 41   2.5.3 文档注释用户自定义型 41   2.6 综合练习 43   2.7 小结 43   2.8 习题 43   第3章 运算符(精彩视频:43分钟) 45   3.1 算术运算符 45   3.1.1 “+”:加法运算符 45   3.1.2 “-”:减法运算符 46   3.1.3 “*”:乘法运算符 47   3.1.4 “/”:除法运算符 48   3.1.5 “%”:求余运算符 48   3.2 自增自减运算符 49   3.3 关系运算符 51   3.3.1 “==”、“!=” 51   3.3.2 “>”、“<”、“>=”、“<=” 52   3.4 逻辑运算符 53   3.4.1 “&&”:与运算符 53   3.4.2 “||”:或运算符 53   3.4.3 “!”:非运算符 54   3.4.4 逻辑运算符总结 54   3.5 三元运算符 55   3.6 位运算符 55   3.6.1 “&”:按位与运算符 56   3.6.2 “|”:按位或运算符 56   3.6.3 “^”:按位异或运算符 57   3.7 位移运算符 57   3.7.1 “>>”:带符号右移运算符 58   3.7.2 “<<”:带符号左移运算符 58   3.7.3 “>>>”:无符号右移运算符 58   3.8 赋值运算符 59   3.8.1 一般赋值运算符 59   3.8.2 运算赋值运算符 59   3.9 运算符之间的优先级 60   3.10 综合练习 61   3.11 小结 62   3.12 习题 62   第4章 流程控制(精彩视频:58分钟) 64   4.1 if条件语句 64   4.1.1 if语句的语法 64   4.1.2 if语句用法举例 64   4.2 switch分支语句 67   4.2.1 switch分支语句的语法 67   4.2.2 switch分支语句表达式的使用条件 68   4.2.3 switch分支语句举例 70   4.3 while循环语句 72   4.3.1 while循环语句的语法 72   4.3.2 while循环语句举例 73   4.4 do...while循环语句 73   4.4.1 do...while循环语句的语法 74   4.4.2 do ... while循环语句举例 74   4.5 for循环语句 75   4.5.1 for循环语句的语法 75   4.5.2 用for循环来实现其他循环语句 76   4.5.3 for循环语句的举例 77   4.6 如何中断和继续语句的执行 78   4.6.1 break:中断语句执行 78   4.6.2 continue:继续语句执行 79   4.7 综合练习 79   4.8 小结 80   4.9 习题 81   第5章 数组(精彩视频:52分钟) 83   5.1 如何创建数组 83   5.1.1 创建数组 83   5.1.2 创建多维数组 84   5.2 数组的初始化 85   5.2.1 创建并初始数组元素 85   5.2.2 循环初始化 87   5.3 数组操作的举例 88   5.3.1 数组元素值的复制 88   5.3.2 数组元素的排序 90   5.3.3 在数组里查找指定元素 91   5.3.4 利用数组打印26个英文字母 92   5.4 综合练习 93   5.5 小结 94   5.6 习题 94   第二篇 面向对象篇   第6章 与对象(精彩视频:48分钟) 96   6.1 什么是面向对象 96   6.1.1 面向对象编程的特点 96   6.1.2 面向对象编程与面向过程编程的区别 97   6.2 什么是 97   6.2.1 的定义和对象的创建 97   6.2.2 如何使用现有 99   6.2.3 设计的技巧 100   6.3 成员变量 101   6.3.1 成员变量的创建 101   6.3.2 成员变量的初始化 102   6.4 局部变量 105   6.4.1 局部变量的创建和初始化 105   6.4.2 局部变量和成员变量的区别 106   6.5 方法 106   6.5.1 方法的创建和参数 106   6.5.2 方法参数的传递 108   6.6 对象引用的使用 110   6.6.1 调用不存在的对象或成员变量 110   6.6.2 调用对象为null值的引用 111   6.6.3 对象引用间的比较 113   6.7 this 113   6.8 要活用JDK已有的 114   6.8.1 Date 114   6.8.2 Integer 116   6.9 综合练习 117   6.10 小结 118   6.11 习题 118   第7章 控制逻辑(精彩视频:50分钟) 120   7.1 包(package) 120   7.1.1 创建一个包 120   7.1.2 如何使用包 121   7.1.3 什么是静态引入 122   7.2 的访问级别 123   7.2.1 公开的访问级别 123   7.2.2 默认的访问级别 124   7.3 什么是封装 125   7.4 最终修饰符 127   7.4.1 final修饰对象型的成员变量 127   7.4.2 final修饰基本型的成员变量 129   7.4.3 final修饰的局部变量 131   7.4.4 final修饰的方法 132   7.5 静态修饰符 134   7.5.1 什么是静态变量 134   7.5.2 静态变量的访问 135   7.5.3 什么是静态常量 137   7.6 综合练习 139   7.7 小结 140   7.8 习题 140   第8章 继承(精彩视频:72分钟) 141   8.1 什么是继承 141   8.1.1 的继承 142   8.1.2 继承的语法 145   8.2 修饰符 146   8.2.1 public:声明成员变量为公共型 146   8.2.2 private:声明成员变量为私有型 147   8.2.3 default:声明成员变量为默认型 148   8.2.4 protected:声明成员变量为保护型 149   8.3 成员变量的覆盖 150   8.4 对象引用 151   8.5 方法的重写和重载 152   8.5.1 方法重写的特点 152   8.5.2 方法重载的特点 154   8.5.3 重写的返回型 156   8.5.4 重写是基于继承的 158   8.5.5 静态方法是不能重写的 159   8.5.6 三者之间的关系 161   8.5.7 重写toString方法 162   8.5.8 重写equals方法 163   8.6 final与继承的关系 164   8.7 abstract与继承的关系 165   8.8 什么是多态 166   8.9 什么是枚举 168   8.10 什么是反射机制 169   8.11 什么是泛型 170   8.12 综合练习 172   8.13 小结 172   8.14 习题 172   第9章 接口(精彩视频:47分钟) 174   9.1 什么是接口 174   9.1.1 接口的定义 174   9.1.2 访问接口里的常量 176   9.2 接口的使用 177   9.2.1 接口里的方法如何创建 177   9.2.2 接口引用怎么使用 178   9.3 什么是抽象 180   9.3.1 抽象的使用和特点 180   9.3.2 抽象与接口区别 183   9.4 接口的多态 183   9.5 判断型 185   9.5.1 什么是instanceof 185   9.5.2 使用instanceof的注意事项 188   9.6 综合练习 189   9.7 小结 189   9.8 习题 189   第10章 构造器(精彩视频:46分钟) 191   10.1 什么是构造器 191   10.1.1 构造器的使用 191   10.1.2 被修饰的构造器 193   10.1.3 构造器方法与普通方法的区别 196   10.2 如何实例化一个对象 197   10.3 构造器的使用 199   10.3.1 构造器的调用 199   10.3.2 构造器重载 202   10.3.3 父子间的构造器的调用流程 204   10.3.4 如何自定义构造器 207   10.4 什么是单子模式 208   10.5 构造器在程序中是何时运行的 211   10.6 综合练习 214   10.7 小结 215   10.8 习题 215   第11章 异常处理(精彩视频:60分钟) 217   11.1 异常处理基本介绍 217   11.1.1 try和catch捕获异常 217   11.1.2 try-catch语句使用注意点 218   11.1.3 finally语句的使用 220   11.1.4 再谈异常处理注意点 222   11.2 异常的分 223   11.2.1 捕获异常 223   11.2.2 未捕获异常 225   11.3 抛出异常 225   11.3.1 抛出异常的简单介绍 225   11.3.2 使用throws和throw语句抛出异常 227   11.4 自定义异常 227   11.4.1 创建和使用自定义异常 227   11.4.2 自定义异常的实际应用 228   11.5 综合练习 231   11.6 小结 232   11.7 习题 232   第12章 内部(精彩视频:71分钟) 234   12.1 非静态内部 234   12.1.1 创建非静态内部 234   12.1.2 在外部中访问内部 235   12.1.3 在外部外访问内部 236   12.1.4 在内部中访问外部 237   12.2 局部内部 240   12.2.1 创建局部内部 240   12.2.2 在局部内部中访问外部成员变量 240   12.2.3 在局部内部中访问外部的局部变量 241   12.2.4 静态方法中的局部内部 243   12.3 静态内部 244   12.3.1 创建静态内部 244   12.3.2 在外部中访问静态内部 245   12.3.3 在外部外访问静态内部 246   12.4 匿名内部 247   12.4.1 创建匿名内部 247   12.4.2 匿名内部的初始化 249   12.5 综合练习 250   12.6 小结 250   12.7 习题 250   第13章 多线程(精彩视频:55分钟) 252   13.1 多线程简介 252   13.2 定义线程和创建线程对象 252   13.2.1 继承Thread定义线程 252   13.2.2 实现Runnable接口定义线程 253   13.3 运行线程 254   13.3.1 启动线程 254   13.3.2 同时运行多个线程 256   13.4 线程生命周期 257   13.4.1 新建状态 257   13.4.2 准备状态 257   13.4.3 运行状态 257   13.4.4 等待/阻塞状态 258   13.4.5 死亡状态 258   13.5 线程的调度 258   13.5.1 睡眠方法 258   13.5.2 线程优先级 260   13.5.3 yield让步方法 261   13.5.4 join让步方法 262   13.6 综合练习 264   13.7 小结 265   13.8 习题 265   第三篇 应用篇   第14章 Swing桌面程序开发(精彩视频:70分钟) 268   14.1 开发第一个Swing程序 268   14.2 JFrame窗口 269   14.2.1 JFrame窗口简介 269   14.2.2 创建简单窗体 269   14.2.3 设置窗体 271   14.3 JPanel面板 273   14.3.1 容器介绍 273   14.3.2 JPanel面板简介 274   14.3.3 创建面板 274   14.4 JLabel标签 275   14.4.1 JLabel标签简介 275   14.4.2 创建标签 276   14.5 JButton按钮 276   14.5.1 JButton按钮简介 277   14.5.2 创建按钮 277   14.5.3 按钮动作事件 278   14.6 Swing中的事件 280   14.6.1 事件简介 280   14.6.2 同一个事件源注册多个监听器 280   14.6.3 同一个监听器注册给多个事件源 282   14.6.4 窗体获取和失去焦点事件 283   14.6.5 窗体打开、关闭和激活事件 284   14.7 综合练习 286   14.8 小结 288   14.9 习题 288   第15章 布局管理器(精彩视频:62分钟) 290   15.1 流布局 290   15.1.1 流布局介绍 290   15.1.2 使用流布局 291   15.2 网格布局 293   15.2.1 网格布局介绍 293   15.2.2 使用网格布局 293   15.3 边框布局 295   15.3.1 边框布局介绍 296   15.3.2 使用边框布局 296   15.4 空布局 298   15.4.1 空布局介绍 298   15.4.2 使用空布局 298   15.5 卡片布局 299   15.5.1 卡片布局介绍 299   15.5.2 使用卡片布局 300   15.6 综合练习 302   15.7 小结 304   15.8 习题 304   第16章 Swing常用控件(精彩视频:90分钟) 306   16.1 文本框及密码框和多行文本框 306   16.1.1 创建文本框 306   16.1.2 创建密码框 307   16.1.3 创建多行文本框 309   16.2 复选框和单选按钮 310   16.2.1 创建单选按钮 310   16.2.2 创建复选框 313   16.3 选项卡 315   16.3.1 选项卡介绍 315   16.3.2 创建选项卡 315   16.4 分隔窗格 317   16.4.1 分隔窗格介绍 317   16.4.2 创建分隔窗格 317   16.5 滑块和进度条 319   16.5.1 创建滑块 319   16.5.2 创建进度条 320   16.6 列表框 323   16.6.1 列表框介绍 323   16.6.2 创建列表框 324   16.6.3 下拉列表框 326   16.7 菜单 328   16.7.1 菜单介绍 328   16.7.2 创建菜单 329   16.7.3 创建弹出式菜单 330   16.8 综合练习 330   16.9 小结 332   16.10 习题 333   第17章 JDBC数据库编程(精彩视频:63分钟) 335   17.1 数据库基本介绍 335   17.1.1 数据库介绍 335   17.1.2 数据库应用架构 335   17.1.3 数据库模型 336   17.2 JDBC数据库编程介绍 336   17.2.1 JDBC和ODBC的关系 337   17.2.2 为什么使用JDBC数据库编程 337   17.3 SQL数据库操作技术 338   17.3.1 什么是SQL 338   17.3.2 如何进行SQL操作 338   17.4 创建数据库 339   17.4.1 创建Access数据库 339   17.4.2 创建SQL Server数据库 339   17.5 JDBC编程步骤 342   17.5.1 创建数据源 342   17.5.2 加载驱动程序 344   17.5.3 建立数据库连接 345   17.5.4 进行数据库操作 345   17.5.5 获取数据库中信息 346   17.5.6 JDBC数据库编程实例 347   17.6 事务处理 348   17.6.1 事务介绍 348   17.6.2 进行事务操作 349   17.7 综合练习 351   17.8 小结 352   17.9 习题 352   第18章 Java中输入/输出流(精彩视频:55分钟) 353   18.1 I/O流简介 353   18.1.1 什么是I/O流 353   18.1.2 节点流与处理流 353   18.1.3 字节流与字符流 354   18.1.4 抽象基 354   18.2 使用流进行文件操作 356   18.2.1 使用File进行文件与目录操作 356   18.2.2 FileInputStream与FileOutputStream 359   18.2.3 FileReader与FileWriter 362   18.3 综合练习 364   18.4 小结 364   18.5 习题 364   第19章 集合框架(精彩视频:65分钟) 366   19.1 集合框架总论 366   19.1.1 什么是集合框架 366   19.1.2 Collection接口 366   19.2 列表 367   19.2.1 List列表接口 367   19.2.2 Vector 368   19.2.3 ArrayList 371   19.2.4 LinkedList 373   19.3 集合 376   19.3.1 Set接口 376   19.3.2 SortedSet接口 377   19.3.3 TreeSet 378   19.3.4 HashSet 380   19.4 映射 381   19.4.1 Map接口 381   19.4.2 HashMap 382   19.4.3 TreeMap 384   19.5 综合练习 385   19.6 小结 386   19.7 习题 387   第20章 网络编程(精彩视频:58分钟) 389   20.1 网络编程基础 389   20.1.1 TCP/IP协议 389   20.1.2 网络编程模型 389   20.1.3 网络传输协议 390   20.1.4 端口和套接字 390   20.2 基于TCP/IP协议的网络编程 391   20.2.1 Socket套接字 391   20.2.2 ServerSocket 391   20.2.3 Socket 392   20.2.4 网络编程C/S架构实例 393   20.3 综合练习 396   20.4 小结 398   20.5 习题 398   第四篇 综合案例篇   第21章 学生管理系统(精彩视频:54分钟) 399   21.1 系统设计 399   21.2 数据库设计 399   21.3 登录界面开发 400   21.3.1 界面设计 400   21.3.2 程序开发 400   21.4 学生界面开发 402   21.4.1 界面设计 402   21.4.2 程序开发 402   21.4.3 开发插入学生界面 403   21.4.4 查询学生信息界面 406   21.4.5 查询成绩信息 409   21.5 综合练习 412   21.6 小结 413
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值