中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 基础 > Java语言基础
字符串操作 浮点运算
作者:佚名 时间:2005-07-23 15:07 出处:互连网 责编:chinaitpower
              摘要:字符串操作 浮点运算

在WEB开发中,数据类型中有一半是字符串的操作,Java本身对CHAR字符支持比较好,字符串就稍微复杂点.关于中文字符串处理可以参考我的另外一篇文章.这里主要讨论字符串的查找 替换等常用操作:

查找字符

/**
* 寻找特定字符匹配
*
* @param regex java regular-expression constructs
* @param s 原始字符串
* @return boolean
*/
public boolean FindSpec(String regex,String s)
{
  Pattern p = Pattern.compile(regex);
  Matcher m = p.matcher(s);
  if (m.find())
    return true;
  else
    return false;
  
}

 

在J2se1.4中,已经包含了类似PERL的强大字符串处理.例如,要检查字符串是否属于"<!--任意字符串-->"形式:

String strs="<!--sdfsdfsfdsfdsfdsfsdfsd-->";
boolean result=Pattern.matches("<!--(.*)-->",strs);
if (result)
out.println("ok");
else
out.println("no");

结果是 ok, 如果strs="<!-sdjfsjkfhkjsdhfjksfd"; 则结果是no

具体文章见:Java的正则表达式应用

字符串替换

/**
* 字符串替换,将 source 中的 oldString 全部换成 newString
*
* @param source 源字符串
* @param oldString 老的字符串
* @param newString 新的字符串
* @return 替换后的字符串
*/
public static String Replace(String source, String oldString, String newString) {
StringBuffer output = new StringBuffer();

int lengthOfSource = source.length(); // 源字符串长度
int lengthOfOld = oldString.length(); // 老字符串长度

int posStart = 0; // 开始搜索位置
int pos; // 搜索到老字符串的位置

while ((pos = source.indexOf(oldString, posStart)) >= 0) {
  output.append(source.substring(posStart, pos));

  output.append(newString);
  posStart = pos + lengthOfOld;
}

if (posStart < lengthOfSource) {
  output.append(source.substring(posStart));
}

return output.toString();
}

在j2se1.4当中,String提供了replaceAll().例如:

String strs="pppppqqqq abcdef sdfsdf";

String result1=strs.replaceAll("abc", "&&");

结果是pppppqqqq &&def sdfsdf


浮点运算
浮点运算一般欠缺是小数点后一位数,经常用到的是两个整数型相除要得到小数点后面好几位数.

使用字符型除整数型 得多个小数位的结果:
float num3=0.0f;
String click="0.023";
int view=8;
String radio=null;
if (view!=0){
  num3=Float.parseFloat(click)/view;
}
radio= new java.text.DecimalFormat("###.###").format(num3);
out.println("小数点后面保留三位:"+radio);

整数型除整数型 ,得多个小数位的结果:
int total=0.023;
int total2=8;
float num3=0.0f;
float total4 = (float)total2;
float total3 = (float)total;
if (total!=0){
  num3=total4/total3;
}
String radio= new java.text.DecimalFormat("###.###").format(num3);
out.println("小数点后面保留三位:"+radio);

DecimalFormat("###.###")可以任意定义位数,如DecimalFormat("###.##") 表示小数点后面保留两位!

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有