1、正则表达式的三种形式首先我们应该知道 Perl 程序中,正则表达式有三种存在形式,他们分别是:
匹配:m/<regexp>/ (还可以简写为 /<regexp>/ ,略去 m)
替换:s/<pattern>/<replacement>/
转化:tr/<pattern>/<replacemnt>/
这三种形式一般都和 =~ 或 !~ 搭配使用(其中 "=~" 表示相匹配,在整条语句中读作 does,"!~" 表示不匹配,在整条语句中读作 doesn't),并在左侧有待处理的标量变量。如果没有该变量和 =~ !~ 操作符,则默认为处理 $_ 变量中的内容。另外还有:
fo...
1. 首先String不属于8种基本数据类型,String是一个对象。
因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。
2. new String()和new String(“”)都是申明一个新的空字符串,是空串不是null;
3. String str=”kvill”; String str=new String (“kvill”);的区别:
在这里,我们不谈堆,也不谈栈,只先简单引入常量池这个简单的概念。
常量池(constant pool)指的是在编译期被确定,并被保存在已...
Java作为最开放的语言,已越来越受到网络程序员的青睐。但这一青睐族有着同样的经历——曾经都为网络上通信的Java数据格式而烦脑。
笔者也不例外,曾经为此而查阅了很多文档,经过反复测试才得以解决,如今笔者已经在所从事的很多电子政务项目中顺利的应用。今天笔者写此文,介绍用Java解析网络数据的三种特殊方法,希望对正在寻求这方面问题答案的读者有所帮助。
UTF8转换成GB2312 当我们在基于HTTP协议的JSP或Servlet的应用中获取数据或发送请求时,JVM会把输送的数据编码成UTF8格式。如果我们直接从HTTP流中提取中文数据,提取的结果为“????”(可能更多问号),为...
1.List是接口,List特性就是有序,会确保以一定的顺序保存元素.ArrayList是它的实现类,是一个用数组实现的List.Map是接口,Map特性就是根据一个对象查找对象.HashMap是它的实现类,HashMap用hash表实现的Map,就是利用对象的hashcode(hashcode()是Object的方法)进行快速散列查找.(关于散列查找,可以参看<<数据结构>>)2.一般情况下,如果没有必要,推荐代码只同List,Map接口打交道.比如:List list = new ArrayList();这样做的原因是list就相当于是一个泛型的实现,如果想改变list的类型,只需要...
Hashtable类 Hashtable继承Map接口,实现一个key-value映射的哈希表。任何非空(non-null)的对象都可作为key或者value。 添加数据使用put(key, value),取出数据使用get(key),这两个基本操作的时间开销为常数。Hashtable通过initial capacity和load factor两个参数调整性能。通常缺省的load factor 0.75较好地实现了时间和空间的均衡。增大load factor可以节省空间但相应的查找时间将增大,这会影响像get和put这样的操作。使用Hashtable的简单示例如下,将1,2,3放到H...
本文转自 --http://www-128.ibm.com/developerworks/cn/java/j-mer0730/index.html
Swing 体系结构一直为开发者提供创建类似于本地 UI 的 Java 应用程序用户界面的方法。Java 2 平台标准版(Java 2 Platform,Standard Edition)的最新版本进一步拓展了这个观念,它提供了一种将反馈声音与 UI 操作关联起来的机制 — 这里所说的反馈声音也就是用户习惯于从计算机扬声器中听到的哔哔声和叮当声。尽管该功能在缺省情况下是关闭的,John Zukowski 在 Magic 的魔力 的这篇...
一:理解多线程多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。如果系统只有一个CPU,那么真正的“同时”是不可能的,但是由于CPU的速度非常快,用户感觉不到其中的区别,因此我们也不用关心它,只需要设想各个线程是同时执行即可。多线程和传统的单线程在程序设计上最大的区别在于,由于各个线...
package lovo.com;
import java.io.*;
public class Dir{ public void find(String fileName) { File flDir = new File(fileName); System.out.println("Files in "+flDir.getAbsolutePath()); String strFiles[] = flDir.list();
//分别用来记录子目录的个数和文件的个数 int intDirCount = 0,intFileCount = 0; //用来记录所有文件的总...
java中常见的日期时间类 Date 类 最基础的日期时间类,返回一个相对日期的毫秒数。 DateFormat类 可以接受字符串输入 输出 SimpleDateFormat类 功能更强大的日期时间格式化类 GregorianCalendar类 提供处理日期的方法,用于计算日期 Calender类
转换字符串为日期String strDate = "2004-08-13";SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");Date sDate = sDateFormat.parse(strDate...
字符串格式化,只是在字符串的前面或后面添加指定的字符,以达到指定的长度
public String FormatStr(String str/*源字符串*/,String frtstr/*用于填充的字符*/,int len/*格式化后的总长*/,int Flag/*从左边-1还是右边-2开始格式*/)
{
if(str==null) str="";
if(frtstr==null) frtstr=" ";
int num=str.length();
if(Flag==1)//从左
{
for(int i=0;i<len...
为什么要编码规范
编码规范为什么是重要的?有以下一些理由:
l 一份软件80%的生命周期是维护期
l 任何软件都很难说他的整个生命周期都是由他的原始作者来维护
l 编码规范改善软件的可读性,使得软件工程师充分理解新的代码变得非常的快速。
l 如果你要把你的原码作为产品发布,你需要确保他像你的其他产品一样干净并且封装的好。
为了按照规范工作,每个人写软件的时候,都必须遵守编码规范。记住,是每个人!
1.2 致谢
这本书是反映的是Java Language Specification 中关于...
程序是由对象组成,这些对象具有一定特性并能执行某些操作,当前状态可能瞬间改变,但可始终依赖相互间完备文档想联系的对象。
面向对象的第一个原则是把数据和对该数据的操作都封装在一个类中,在程序设计时要考虑多个对象及其相互间的关系。有些功能并不一定由一个程序段完全实现,可以让其它对象来实现,面向对象的另外一个好处是实现代码的重复使用.
1. 所有的东西都是对象。 可以将对象想象成为一种新型变量,它保存着数据,而且还可以对自身数据进行操作。 2. 程序是一大堆对象的组合。 通过消息传递,各对象知道自己应该做些什么。如果需要让对象做些事情,则须...