- 浏览: 116960 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (130)
- JUnit4学习 (0)
- Spring3.X学习 (2)
- 日记 (1)
- 文学类 (2)
- Java (15)
- Thingking In Java (11)
- org.apache.poi (4)
- XML (2)
- Log4j (1)
- Jar包收集 (2)
- ExtJs (1)
- 汇编语言 (11)
- 开发工具 (0)
- 电子书 (2)
- Oracle (6)
- Ajax (1)
- Jquery (2)
- myBatis (1)
- Spring2.5学习 (6)
- Tomcat (1)
- MyEclipse (1)
- JSP (1)
- Linux shell 脚本攻略 (7)
- Python3 (2)
- HTML5 (5)
- JavaScript (7)
- Hadoop-1.2.1 (2)
- Python2.7 (12)
- Django (3)
- 软件安装 (1)
- 高级Bash脚本编程指南 (7)
- Linux命令 (3)
- Ansible (2)
- MySQL (2)
- 病历 (1)
- 操作系统 (1)
- CSS (0)
- CSS3 (0)
- 面试题 (1)
最新评论
-
hw1287789687:
http://www.cnblogs.com/hccwu/p/ ...
Java获取真实的IP地址 -
liubey:
String ip = request.getHeader(& ...
Java获取真实的IP地址 -
bewithme:
我记得uploadify这破东西只能在chrome浏览器中才有 ...
Struts2结合Jquery.uploadify上传插件的应用 -
MrLee23:
http://mrlee23.iteye.com/admin/ ...
Struts2结合Jquery.uploadify上传插件的应用 -
crysik:
import com.eshore.ppm.model.com ...
Struts2结合Jquery.uploadify上传插件的应用
2013年8月1日 星期四 21时05分59秒
第十三章 字符串
可以证明,字符串操作是计算机设计中最常见的行为
13.1 不可变String
String类中每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象。
13.2 重载“+”与StringBuilder
可以用javap命令来反编译class文件,查看代码是如何工作。
例如:类Concatenation
package chapter13;
public class Concatenation {
public static void main(String[] args) {
String mango="mango";
String s="abc"+mango+"def"+47;
System.out.println(s);
}
}
通过javap -c Concatenation后,得到如下字节码:
D:\Program Files\Java\jdk1.6.0_13\bin>javap -c Concatenation
Compiled from "Concatenation.java"
public class chapter13.Concatenation extends java.lang.Object{
public chapter13.Concatenation();
Code:
0: aload_0
1: invokespecial #8; //Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: ldc #16; //String mango
2: astore_1
3: new #18; //class java/lang/StringBuilder
6: dup
7: ldc #20; //String abc
9: invokespecial #22; //Method java/lang/StringBuilder."<init>":(Ljava/la
ng/String;)V
12: aload_1
13: invokevirtual #25; //Method java/lang/StringBuilder.append:(Ljava/lang
/String;)Ljava/lang/StringBuilder;
16: ldc #29; //String def
18: invokevirtual #25; //Method java/lang/StringBuilder.append:(Ljava/lang
/String;)Ljava/lang/StringBuilder;
21: bipush 47
23: invokevirtual #31; //Method java/lang/StringBuilder.append:(I)Ljava/la
ng/StringBuilder;
26: invokevirtual #34; //Method java/lang/StringBuilder.toString:()Ljava/l
ang/String;
29: astore_2
30: getstatic #38; //Field java/lang/System.out:Ljava/io/PrintStream;
33: aload_2
34: invokevirtual #44; //Method java/io/PrintStream.println:(Ljava/lang/St
ring;)V
37: return
}
由此可知,编译器创建了一个StringBuilder对象,用于构造最终的String。
注解:dup指令是复制之前分配的java/lang/StringBuilder空间的引用并压入栈顶,invokevirtual指令通过22这个常量池入口需找到了java/lang/ StringBuilder.append()方法,构造方法虽然找到了。但是必须还得知道是谁的构造方法,所以要将之前分配的空间的应用压入栈顶让 invokespecial命令应用才知道原来这个构造方法是刚才创建的那个引用的,调用完成之后将栈顶的值弹出。之后调用astore_1将此时的栈顶值弹出 存入局部变量中去。
13.3 无意识的递归
package chapter13;
import java.util.ArrayList;
import java.util.List;
/*@name InfiniteRecursion.java
* @describe 13.3 无意识的递归
* @since 2013-08-03 00:06
* @author 张彪
*/
public class InfiniteRecursion {
public String toString(){
return "InfiniteRecursion"+ this +"\n"; //this应该改为super.toString()
}
public static void main(String[] args) {
List<InfiniteRecursion> list=new ArrayList<InfiniteRecursion>();
for(int i=0;i<3;i++){
list.add(new InfiniteRecursion());
}
System.out.println(list.toString());
}
}
//报错
/*Exception in thread "main" java.lang.StackOverflowError
at java.lang.StringBuilder.append(StringBuilder.java:119)
at java.lang.StringBuilder.<init>(StringBuilder.java:93)*/
报错原因是由于编译器看到一个String对象之后跟一个“+”号,而后边的对象不是String类型,于是编译器试图将this转换成一个String。正式通过调用this上的 toString()方法,于是发生了递归调用。
如果你这的想打印对象的内存地址,应该用Object.toString()方法。这才是负责此任务的方法。
13.4 String上的操作
String对象的常用方法。
String类的方法都会返回一个新的String对象。同时,如果内容没发生改变,String()方法只是返回指向原对象的引用而已。
13.5 格式化输出
13.5.1 printf()
13.5.2 System.out.format()
J2SE5引入的format()方法。format()方法模仿于C的printf()方法。
package chapter13;
public class SimpleFormat {
public static void main(String[] args) {
int x=5;
float y=4.5f;
System.out.println(x+" "+y);
System.out.printf("%d,%f\n",x,y);
System.out.format("%d,%f",x,y );
}
}
13.5.3 Formatter类
13.5.4 格式化说明符
package chapter13;
import java.util.Formatter;
/*@name Receipt.java
* @describe 13.5.4 格式化说明符
* @since 2013-08-03 01:24
* @author 张彪
*/
//打印一个购物收据
public class Receipt {
private double total=0;
private Formatter f=new Formatter(System.out);
public void printTitle(){
f.format("%-15s %5s %10s\n","Item","Qty","Price");
f.format("%-15s %5s %10s\n","----","----","----");
}
public void print(String name ,int qty, double price){
f.format("%-15.15s %5d %10.2f\n", name,qty,price);
total+=price;
}
public void printTotal(){
f.format("%-15s %5s %10.2f\n","Tax","",total*0.06);
f.format("%-15s %5s %10s\n","","","----" );
f.format("%-15s %5s %10.2f\n","Total","",total*1.06 );
}
public static void main(String[] args) {
Receipt t=new Receipt();
t.printTitle();
t.print("Jack's Magic Bean", 4, 4.25);
t.print("Princess Peas", 3, 5.1);
t.printTotal();
}
}
Formatter提供了对空格与对其的强大功能。
13.5.5 Formatter转换
13.5.6 String.format()
13.6 正则表达式
正则表达式是一种强大而灵活的文本处理工具。
13.6.1 基础
\d 表示一位数字
在 Java中,"\\"的意思是我要插入一个正则表达式的反斜线。
-?\\d+ 表示可能有一个负数,后面有多个数字
13.6.2 创建正则表达式
13.6.3 量词
量词描述一个模式吸收输入文本的方式
贪婪型:
勉强型:用?号来指定,
占有型:
charSequence 接口。
package chapter13;
import java.util.Arrays;
/*@name IntegerMatch.java
* @describe 13.6 正则表达式
* @since 2013-08-03 10:24
* @author 张彪
*/
public class IntegerMatch {
public void match1(){
System.out.println("-123".matches("-?\\d+")); //true
System.out.println("-a3".matches("-?\\d+")); //false
//"+"在正则表达式有特殊的意义,所以这个地方要用转义
System.out.println("+56".matches("(-|\\+)?\\d+")); //true
}
public void splitMethod(){
String knights="Tree in the fores... wih ....a herring!";
String regex1="\\w+";
System.out.println(Arrays.toString(knights.split(" "))); //以" "进行分割
System.out.println(Arrays.toString(knights.split("\\W"))); // "\W"意思是非单词字符 ,"\w"表示一个单词字符
System.out.println(Arrays.toString(knights.split("n\\W+"))); //表示字母n后面跟着一个或多个非单词字符
//split(regex, limit) 重载方法, 第二个参数为限制分割的次数
}
public void replaceMethod(){
System.out.println("abc".replaceFirst("a|b|c","uu")); //uubc
}
//创建正则表达式
public void createRegex(){
for(String patter:new String[]{"Rudolph","[rR]udolph","[rR][aeiou][a-z]ol.*","R.*"}){
System.out.println("Rudolph".matches(patter));
}
}
public static void main(String[] args) {
new IntegerMatch().createRegex();
}
}
13.6.4 Patter和Matcer
Matcher.find()方法可以在CharSequence中查找多个匹配。
package chapter13.string;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Finding {
public void findMethod(){
//模式 "\\w+" 将字符串划分为单词
Matcher m=Pattern.compile("\\w+").matcher("Evening is full of the linet's wings");
while(m.find()){
System.out.print(m.group()+"-");
}
System.out.println();
int i=0;
while(m.find(i)){
System.out.print(m.group()+"-");
i++;
}
}
public static void main(String[] args) {
new Finding().findMethod();
}
}
组(Groups)
组是用括号划分的正则表达式,可以根据组的编号来引用某个组。组号为0表示整个表达式。
start()和end()
Pattern标记
package chapter13.string;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReFlags {
public static void main(String[] args) {
Pattern p=Pattern.compile("^java", Pattern.CASE_INSENSITIVE|Pattern.MULTILINE);
Matcher m=p.matcher("java has regex\nJava has regex\n" +
"JAVA has regex\n" +
"Regular exression are in Java");
while(m.find()){
System.out.println(m.group()+"-");
}
}
}
/*java-
Java-
JAVA-*/
该例子中的模式将匹配以"java,Java,JAVA"等开头的行。注意group()方法只返回已匹配的部分。
13.6.5 split()方法
split()方法将输入字符串断开成字符串对象数组,断开边界由下列正则表达式确定。
package chapter13.string;
import java.util.Arrays;
import java.util.regex.Pattern;
public class SplitDemo {
public static void main(String[] args) {
String input="This!!unusal use!!of exclamation!!points";
System.out.println(Arrays.toString(Pattern.compile("!!").split(input))); //[This, unusal use, of exclamation, points]
//第二个参数可以限制分割成字符串的数量
System.out.println(Arrays.toString(Pattern.compile("!!").split(input,3))); //[This, unusal use, of exclamation!!points]
}
}
13.6.6 替换操作
replaceFirst(),replaceALl(),appendReplacement()..........
13.6.7 reset()
13.6.8 正则表达式与Java I/O
13.7 扫描输入
Scanner类
Scanner类在 Java SE5中新增的类。
package chapter13.string;
import java.io.BufferedReader;
import java.io.StringReader;
import java.util.Scanner;
public class BetterRead {
public static void main(String[] args) {
Scanner scanner=new Scanner(new BufferedReader(new StringReader("Sir Robin of Camelot\n22 1.61803")));
System.out.println(scanner.nextLine()); //Sir Robin of Camelot
System.out.println(scanner.nextInt()); //22
}
}
13.7.1 Scanner定界符
Scanner默认情况下根据空白字符对输入进行分词。但是你也可以根据正则表达式进行指定自己所需要的定界符
package chapter13.string;
import java.util.Scanner;
public class ScannerDelmiter {
public static void main(String[] args) {
Scanner scanner=new Scanner("12,34,56,78");
scanner.useDelimiter("\\s*,\\s*");
while(scanner.hasNext()){
System.out.println(scanner.nextInt());
}
}
}
13.7.2 用正则表达式扫描
13.8 StringTokenizer
有了正则表达式和Scanner之后,StringTokenizer基本上可以废弃不用了。
13.9 总结
个人总结: 通过这章的学习,对正则表达式有了新的认识。。。。。。。。。。
2013-08-06 0:47 记 @jinrongdajie31.xichengqu.beijing
第十三章 字符串
可以证明,字符串操作是计算机设计中最常见的行为
13.1 不可变String
String类中每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象。
13.2 重载“+”与StringBuilder
可以用javap命令来反编译class文件,查看代码是如何工作。
例如:类Concatenation
package chapter13;
public class Concatenation {
public static void main(String[] args) {
String mango="mango";
String s="abc"+mango+"def"+47;
System.out.println(s);
}
}
通过javap -c Concatenation后,得到如下字节码:
D:\Program Files\Java\jdk1.6.0_13\bin>javap -c Concatenation
Compiled from "Concatenation.java"
public class chapter13.Concatenation extends java.lang.Object{
public chapter13.Concatenation();
Code:
0: aload_0
1: invokespecial #8; //Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: ldc #16; //String mango
2: astore_1
3: new #18; //class java/lang/StringBuilder
6: dup
7: ldc #20; //String abc
9: invokespecial #22; //Method java/lang/StringBuilder."<init>":(Ljava/la
ng/String;)V
12: aload_1
13: invokevirtual #25; //Method java/lang/StringBuilder.append:(Ljava/lang
/String;)Ljava/lang/StringBuilder;
16: ldc #29; //String def
18: invokevirtual #25; //Method java/lang/StringBuilder.append:(Ljava/lang
/String;)Ljava/lang/StringBuilder;
21: bipush 47
23: invokevirtual #31; //Method java/lang/StringBuilder.append:(I)Ljava/la
ng/StringBuilder;
26: invokevirtual #34; //Method java/lang/StringBuilder.toString:()Ljava/l
ang/String;
29: astore_2
30: getstatic #38; //Field java/lang/System.out:Ljava/io/PrintStream;
33: aload_2
34: invokevirtual #44; //Method java/io/PrintStream.println:(Ljava/lang/St
ring;)V
37: return
}
由此可知,编译器创建了一个StringBuilder对象,用于构造最终的String。
注解:dup指令是复制之前分配的java/lang/StringBuilder空间的引用并压入栈顶,invokevirtual指令通过22这个常量池入口需找到了java/lang/ StringBuilder.append()方法,构造方法虽然找到了。但是必须还得知道是谁的构造方法,所以要将之前分配的空间的应用压入栈顶让 invokespecial命令应用才知道原来这个构造方法是刚才创建的那个引用的,调用完成之后将栈顶的值弹出。之后调用astore_1将此时的栈顶值弹出 存入局部变量中去。
13.3 无意识的递归
package chapter13;
import java.util.ArrayList;
import java.util.List;
/*@name InfiniteRecursion.java
* @describe 13.3 无意识的递归
* @since 2013-08-03 00:06
* @author 张彪
*/
public class InfiniteRecursion {
public String toString(){
return "InfiniteRecursion"+ this +"\n"; //this应该改为super.toString()
}
public static void main(String[] args) {
List<InfiniteRecursion> list=new ArrayList<InfiniteRecursion>();
for(int i=0;i<3;i++){
list.add(new InfiniteRecursion());
}
System.out.println(list.toString());
}
}
//报错
/*Exception in thread "main" java.lang.StackOverflowError
at java.lang.StringBuilder.append(StringBuilder.java:119)
at java.lang.StringBuilder.<init>(StringBuilder.java:93)*/
报错原因是由于编译器看到一个String对象之后跟一个“+”号,而后边的对象不是String类型,于是编译器试图将this转换成一个String。正式通过调用this上的 toString()方法,于是发生了递归调用。
如果你这的想打印对象的内存地址,应该用Object.toString()方法。这才是负责此任务的方法。
13.4 String上的操作
String对象的常用方法。
String类的方法都会返回一个新的String对象。同时,如果内容没发生改变,String()方法只是返回指向原对象的引用而已。
13.5 格式化输出
13.5.1 printf()
13.5.2 System.out.format()
J2SE5引入的format()方法。format()方法模仿于C的printf()方法。
package chapter13;
public class SimpleFormat {
public static void main(String[] args) {
int x=5;
float y=4.5f;
System.out.println(x+" "+y);
System.out.printf("%d,%f\n",x,y);
System.out.format("%d,%f",x,y );
}
}
13.5.3 Formatter类
13.5.4 格式化说明符
package chapter13;
import java.util.Formatter;
/*@name Receipt.java
* @describe 13.5.4 格式化说明符
* @since 2013-08-03 01:24
* @author 张彪
*/
//打印一个购物收据
public class Receipt {
private double total=0;
private Formatter f=new Formatter(System.out);
public void printTitle(){
f.format("%-15s %5s %10s\n","Item","Qty","Price");
f.format("%-15s %5s %10s\n","----","----","----");
}
public void print(String name ,int qty, double price){
f.format("%-15.15s %5d %10.2f\n", name,qty,price);
total+=price;
}
public void printTotal(){
f.format("%-15s %5s %10.2f\n","Tax","",total*0.06);
f.format("%-15s %5s %10s\n","","","----" );
f.format("%-15s %5s %10.2f\n","Total","",total*1.06 );
}
public static void main(String[] args) {
Receipt t=new Receipt();
t.printTitle();
t.print("Jack's Magic Bean", 4, 4.25);
t.print("Princess Peas", 3, 5.1);
t.printTotal();
}
}
Formatter提供了对空格与对其的强大功能。
13.5.5 Formatter转换
13.5.6 String.format()
13.6 正则表达式
正则表达式是一种强大而灵活的文本处理工具。
13.6.1 基础
\d 表示一位数字
在 Java中,"\\"的意思是我要插入一个正则表达式的反斜线。
-?\\d+ 表示可能有一个负数,后面有多个数字
13.6.2 创建正则表达式
13.6.3 量词
量词描述一个模式吸收输入文本的方式
贪婪型:
勉强型:用?号来指定,
占有型:
charSequence 接口。
package chapter13;
import java.util.Arrays;
/*@name IntegerMatch.java
* @describe 13.6 正则表达式
* @since 2013-08-03 10:24
* @author 张彪
*/
public class IntegerMatch {
public void match1(){
System.out.println("-123".matches("-?\\d+")); //true
System.out.println("-a3".matches("-?\\d+")); //false
//"+"在正则表达式有特殊的意义,所以这个地方要用转义
System.out.println("+56".matches("(-|\\+)?\\d+")); //true
}
public void splitMethod(){
String knights="Tree in the fores... wih ....a herring!";
String regex1="\\w+";
System.out.println(Arrays.toString(knights.split(" "))); //以" "进行分割
System.out.println(Arrays.toString(knights.split("\\W"))); // "\W"意思是非单词字符 ,"\w"表示一个单词字符
System.out.println(Arrays.toString(knights.split("n\\W+"))); //表示字母n后面跟着一个或多个非单词字符
//split(regex, limit) 重载方法, 第二个参数为限制分割的次数
}
public void replaceMethod(){
System.out.println("abc".replaceFirst("a|b|c","uu")); //uubc
}
//创建正则表达式
public void createRegex(){
for(String patter:new String[]{"Rudolph","[rR]udolph","[rR][aeiou][a-z]ol.*","R.*"}){
System.out.println("Rudolph".matches(patter));
}
}
public static void main(String[] args) {
new IntegerMatch().createRegex();
}
}
13.6.4 Patter和Matcer
Matcher.find()方法可以在CharSequence中查找多个匹配。
package chapter13.string;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Finding {
public void findMethod(){
//模式 "\\w+" 将字符串划分为单词
Matcher m=Pattern.compile("\\w+").matcher("Evening is full of the linet's wings");
while(m.find()){
System.out.print(m.group()+"-");
}
System.out.println();
int i=0;
while(m.find(i)){
System.out.print(m.group()+"-");
i++;
}
}
public static void main(String[] args) {
new Finding().findMethod();
}
}
组(Groups)
组是用括号划分的正则表达式,可以根据组的编号来引用某个组。组号为0表示整个表达式。
start()和end()
Pattern标记
package chapter13.string;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReFlags {
public static void main(String[] args) {
Pattern p=Pattern.compile("^java", Pattern.CASE_INSENSITIVE|Pattern.MULTILINE);
Matcher m=p.matcher("java has regex\nJava has regex\n" +
"JAVA has regex\n" +
"Regular exression are in Java");
while(m.find()){
System.out.println(m.group()+"-");
}
}
}
/*java-
Java-
JAVA-*/
该例子中的模式将匹配以"java,Java,JAVA"等开头的行。注意group()方法只返回已匹配的部分。
13.6.5 split()方法
split()方法将输入字符串断开成字符串对象数组,断开边界由下列正则表达式确定。
package chapter13.string;
import java.util.Arrays;
import java.util.regex.Pattern;
public class SplitDemo {
public static void main(String[] args) {
String input="This!!unusal use!!of exclamation!!points";
System.out.println(Arrays.toString(Pattern.compile("!!").split(input))); //[This, unusal use, of exclamation, points]
//第二个参数可以限制分割成字符串的数量
System.out.println(Arrays.toString(Pattern.compile("!!").split(input,3))); //[This, unusal use, of exclamation!!points]
}
}
13.6.6 替换操作
replaceFirst(),replaceALl(),appendReplacement()..........
13.6.7 reset()
13.6.8 正则表达式与Java I/O
13.7 扫描输入
Scanner类
Scanner类在 Java SE5中新增的类。
package chapter13.string;
import java.io.BufferedReader;
import java.io.StringReader;
import java.util.Scanner;
public class BetterRead {
public static void main(String[] args) {
Scanner scanner=new Scanner(new BufferedReader(new StringReader("Sir Robin of Camelot\n22 1.61803")));
System.out.println(scanner.nextLine()); //Sir Robin of Camelot
System.out.println(scanner.nextInt()); //22
}
}
13.7.1 Scanner定界符
Scanner默认情况下根据空白字符对输入进行分词。但是你也可以根据正则表达式进行指定自己所需要的定界符
package chapter13.string;
import java.util.Scanner;
public class ScannerDelmiter {
public static void main(String[] args) {
Scanner scanner=new Scanner("12,34,56,78");
scanner.useDelimiter("\\s*,\\s*");
while(scanner.hasNext()){
System.out.println(scanner.nextInt());
}
}
}
13.7.2 用正则表达式扫描
13.8 StringTokenizer
有了正则表达式和Scanner之后,StringTokenizer基本上可以废弃不用了。
13.9 总结
个人总结: 通过这章的学习,对正则表达式有了新的认识。。。。。。。。。。
2013-08-06 0:47 记 @jinrongdajie31.xichengqu.beijing
- chapter13.rar (5.1 KB)
- 下载次数: 0
发表评论
-
第十二章 通过异常处理错误
2013-08-01 21:04 7222013年7月10日 星期三 00时04分21秒 第十二章 ... -
第十一章 持有对象
2013-07-09 00:49 9272013年6月24日 星期一 20时57分09秒 第十一章 ... -
第十四章 类型信息
2013-07-02 01:26 9162013年6月25日 星期二 23时12分42秒 第十四章 ... -
第十章 内部类
2013-06-24 20:47 9662013年6月23日 星期日 16时50分56秒 第十章 内 ... -
第九章 接口
2013-06-23 16:46 8412013年6月20日 星期四 21时41分40秒 第九章 接 ... -
第八章 多态
2013-06-19 23:06 6742013年6月17日 星期一 23 ... -
Thinking in Java Fourth Edition Source Code
2013-06-17 23:10 490Thinking in Java F ... -
第七章 复用类
2013-06-17 22:36 5512013年6月16日 星期日 21时06分54秒 第七章 复 ... -
第六章 访问权限控制
2013-06-16 21:05 8452013年6月16日 星期日 11时10分46秒 第六章 访 ... -
第五章 初始化与清理
2013-06-16 10:58 5972013年6月15日 星期六 16 ...
相关推荐
第13章 字符串处理函数 C语言
Java编程思想第十三章字符串.pptx
Python从入门到精通 第13章 文件及目录操作.ppt Python从入门到精通 第14章 操作数据库.ppt Python从入门到精通 第15章 GUI界面编程.pptx Python从入门到精通 第16章 Pygame游戏编程.pptx Python从入门到精通 第17章...
【完整课程列表】 ... 完整版精品java课件 ...完整版精品java课件 Java基础入门教程 Java程序设计 第13章 多线程(共24页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第14章 socket网络编程(共24页).ppt
第13章 基于thinter的GUI编程.ppt 第14章 Python的高级技术.ppt 第15章 数据库的应用.ppt 第16章 网络编程的应用.ppt 第17章 CGI程序设计.ppt 第18章 Web网站编程.ppt 第19章 经典游戏应用-开发弹球游戏.ppt 第20章 ...
第3章 字符串转换 68 3.1 ToString()方法 68 3.2 把数值表示为字符串 69 3.3 把日期和时间表示为字符串 74 3.4 把其他对象表示为字符串 76 3.5 用字符串表示字符串 78 3.6 把字符串转换为其他类型 79 3.6.1 把字符串...
数据结构与算法课程03 第三章 数组和字符串(共101页).ppt 数据结构与算法课程04 第四章 树(共221页).ppt 数据结构与算法课程05 第五章 图(共215页).ppt 数据结构与算法课程06 第六章 递归(共62页).ppt 数据...
POINTERS ON C 第九章编程练习16按照指定的格式字符串对一个数字字符进行格式化。VC6.0编译通过。
第 13章 字符串处理第 14章java.lang研究 第 15章java.util第 1部分:类集框架 第 16章java.util第 2部分:更多的实用工具类第 17章 输入/输出:探究java.io第18章网络 第 19章Applet类第 20章事件处理 第 21章 介绍 ...
Python从入门到精通 第13章 文件及目录操作.ppt Python从入门到精通 第14章 操作数据库.ppt Python从入门到精通 第15章 GUI界面编程.pptx Python从入门到精通 第16章 Pygame游戏编程.pptx Python从入门到精通 第17章...
第一章 C语言基础 第二章 变量和数据类型 第三章 运算符 ... 第九章.函数(下) 第十一章 字符串 第十二章 结构
第1章 C++面向对象程序设计 1.1 抽象数据类型 1.2 封装 1.3 继承 1.4 指针 1.4.1 指针与数组 1.4.2 指针与复制构造函数 ...第13章 字符串匹配 附录A 计算大O 附录B 标准模板库中的算法 附录C NP完整性
【完整课程列表】 ... 完整版精品java课件 ...完整版精品java课件 Java基础入门教程 Java程序设计 第13章 多线程(共24页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第14章 socket网络编程(共24页).ppt
计算机二级C语言等级考试,43小时,3.3g,视频教程,由于一次只能上传1g,所以分3个资源上传 目录: 第01章 程序设计 ...第13章 宏昔换 第14章 结构体 第15章 位运算符及其功能 第16章 六组文件函数的应用
第一章 java概述 第二章 数据类型 第三章 运算符和表达式 ...第十三章 用Swing创建用户界面 第十四章 Java小应用程序\(Applet和JApplet\) 第十五章 集合框架 第十六章 网络通信 第十七章 JSP技术 以及它们的例子
计算机二级C语言等级考试总16章,43小时,3.3g,视频教程,由于一次只能上传1g,所以分3个资源上传 12-16章 ...第13章 宏昔换 第14章 结构体 第15章 位运算符及其功能 第16章 六组文件函数的应用
计算机二级C语言等级考试总16章,43小时,3.3g,视频教程,由于一次只能上传1g,所以分3个资源上传 6-11章 总目录: ...第13章 宏昔换 第14章 结构体 第15章 位运算符及其功能 第16章 六组文件函数的应用
由于上传文件大小限制该资源为上下篇 ...第13章 字符串 第14章 类型信息 第15章 泛型 第16章 数组 第17章 容器深入研究 第18章 Java I/O系统 第19章 枚举类型 第20章 注解 第21章 并发 第22章 图形化用户界面
第13章 容器和泛型.pptx 第14章 流与文件(1).pptx 第14章 流与文件(2).pptx 第15章 网络编程.pptx 第1章 Java概述.pptx 第2章 Java基础.pptx 第3章 数组.pptx 第4章 类和对象(1).pptx 第4章 类和对象(2)....