第一次总结(java 数据类型及string类的方法应用)
第一次练习
1.将String类中每一个方法都使用一遍。
2.统计一段字符串中每一个字符出现的次数。
3.总结:
Java数据类型的总结
※※※关于string类的方法※※※
string类的方法,在JDK_API_1_6_zh_CN.
CHM可以查到。常用的有:
length()长度,charAt()检索指定位置字符,contains()检验包含,equals()检验等价,indexOf()检索首次出现位置,lastindexOf()检索末次出现位置,substring()截取..等等。
可惜在我的电脑中
CHM文件无法打开,
错误提示如下图。尝试了搜索到的很多方法,还没解决这一问题,现将网上找到的各种方法作一总结。
解决方法1:
1、开始运行,输入:regsvr32 C:\windows\
system32\hhctrl.ocx ,确定,重新关联文件。2、执行一下windows目录里的hh.exe 。有时候chm文件放在中文目录就不行。包括中文chm名字。试着把文件考出来.中文名字一改.二.1.在微软网站上下载hhupd.exe,安装hh.exe后并运行。 2.实际上,下载hhupd.exe后,运行后就可以了。这个东西大小为461kb 3.在c:\windows\system32里找到“Hhctrl.ocx”文件,然后运行:“regsvr32“c:\windows\system32\hhctrl.ocx...网上的解决方法不可行,下载不了hhupd.exe.我直接执行regsvr32 c:\windows\system32\hhctrl.ocx就ok了。解决方法2:1,右键关联chm文件的“打开方式”到\Windows\HH.exe2,在命令行运行regsvr32 itss.dll3,在命令行运行regsvr32 hhctrl.ocx
※※※统计制定字符在一个字符串中出现的次数※※※
public
class shijian3
{
public static void main(String [] args)
{
String sa="aaabebbccb";
String sb="b";//指定要统计的字符
int len=sa.length();
int n=0;
int x=sa.indexOf(sb);//确定sb在sa中第一次出现的索引位置x
while(x != -1)//若x值为-1说明sb在sa中不存在
{
n++;//不为-1则说明至少还有一个sb,当前位置为第一次出现,n累加统计出现次数
sa=sa.substring(x+1,len);//截取第一个出现的字符之后的部分即x+1到len的部分替代原字符串,再进行
循环的截取
len=sa.length();//重新计算长度
x=sa.indexOf(sb);//
递归确定新的sb第一次出现的索引位置
}
System.out.print(n);
}
}
运行结果如下:
※※※若要统计所有字符出现的次数,思路如下※※※
public class tongji {
public static void main(String[] args) {
String sr = "abbcfccd";
for (int i = 0; i < sr.length(); i++) {//外循环遍历每个字符
int count = 0;
for (int j = 0; j < sr.length(); j++) {//内循环再次遍历,时间开销为n^2,效率较低
if (sr.charAt(i) == sr.charAt(j))//检查是否有重复出现的字符
count++;//找到已有字符,count累加(count至少++一次,在i=j时)
}
System.out.println(sr.charAt(i) + " " + count);
}
}
}
运行结果如下:
笔者对这个输出不是很满意,可以看到所有字符被逐次一一列举出来,故有多次重复的输出。熊哥说string类有某个方法可以移除重复的字符,目前我还没有找到该方法。
※※※关于java的八种数据类型※※※
八大基本数据类型:
byte 字节型 8bit -128~127
short短整型 16bit
int 整型 32bit
long 长整型 64bit
float 单精度 32bit
double双精度 64bit
boolean布尔类型 true和false
char 字符型 16bit 只有正整数,每一个整数对应一个字母或者汉字
256个 ascii从0-255.
其他:
引用数据类型(对象类型或者类类型):
类,
接口,抽象类,数组
String 在Java中是一个类,由class定义的类。
心得:
学习c、c++也有好久了,以前认为可以查到的东西不必要记忆,用到时翻书即可;现在倒是觉得那些基础的东西还是要烂熟于心的,java自然不例外。比如数据类型及其范围,很多时候如在赋值时要考虑到其精度损失,避免此类错误,可以提高
写代码的效率和正确率。