首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

1.根本数据类型和String ( 2013.7.5 )

2013-07-08 
1.基本数据类型和String( 2013.7.5 )1.java的基本数据类型,内容如下:byte字节型(8)*****表示范围:-128-127

1.基本数据类型和String ( 2013.7.5 )
1.java的基本数据类型,内容如下:
byte字节型(8)   *****表示范围:-128-127
short短整型(16)
long长整形(64)
int整型  (32)  *****默认值为0
boolean 布尔类型    *****默认值为false
char    字符型(16)  *****无符号
浮点型
float   浮点型(32)  *****默认为double ,若需使用float,可在数字后加F/f,或强制转型
double  双精度(64)

****若大范围数据强制转为小范围数据时,会产生轮回。


2.String类 【类的首字母大写】
//定义字符串变量
String str1 = "hds";(赋值的是内容)
String str2 = new string("djs");(new是开辟内存的,赋值的是地址)
char [] array = ('s','d','f');
****** 一般情况不使用用双等号比较字符串,用a.equals(b)比较存储的内容。
******获取指定的索引位置的字符(长度从1开始,索引从0开始)
//返回指定索引处的 char 值
str.charAt(int i)  
//判断字符串是否包含在另一个字符串中
str1.contains(str2)
//用一个字符串替换另一个
str1.replace(str2,"str3");【可用来删除str1中的str2部分】
//spilt将字符串根据给定字符串拆分成两部分
str1.spilt(str2);
//找到某个字符第一次出现的位置
str1.indexof("str2");
//static 调用时String valueOf(int i)即可。




3.练习:输出一字符串str中出现的每个字符的个数

?思路:
      1.首先建立一个java project,在其下建一个package stringcount,然后在package下建一个class ctest0705;

      2.实现一个内循环,使其与它自己及其后各个字符进行比较,int k = 0,若相等,则k+1;

      3.实现一个外循环,将被比较字符存入str1中,并用""替换str中的str1部分,str变为更改后的字符串;

      4.外循环始终从str的第一个字符开始,为内循环中被比较的字符;输出k的值。


?代码:
package stringcount;

public class ctest0705 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "hdjsakhdjksahkdjhasyrtr";
int n;
//外循环:从字符串第一个开始与后面的比较
for(int i = 0;i < str.length();){
char a = str.charAt(i);
int k = 0;
//内循环:从被比较的开始进行比较,相同k+1
for(n = 0;n < str.length();n++){
char b = str.charAt(n);
if(a == b)
k++;
}
System.out.println(a+"的个数为"+k);
String str1 = str.valueOf(a);
str = str.replace(str1, "");
}

}
}


? 遇到的问题:一开始没有使用String str1 = str valueOf(a),找不到方法删除已经被比较过的字符。



?小组成员的代码:


package ss;

public class string {

/**
* 主函数
*/
public static void main(String[] args) {
//定义一个字符串变量
String str="euriyui3743289^%^&*&DJHK2312";

//第一个循环:返回第i个引索处的char值
for(int i=0;i<str.length();i++){
char a=str.charAt(i);

int index=str.indexOf(a);
int n=str.lastIndexOf(a);//第i个字符所在的最后位置
int k=0;
//第二个循环:在给定字符串中找出与第一个循环中相同的字符
for(int j=index;j<str.length();j++){
char b=str.charAt(j);

if(a==b&&b!=' '){
k++;
if(j>=n)//当且仅当找到最终出现的相同字符才输出个数
System.out.println(a+"字符出现的次数为"+k);
}
}
//第三个循环:用空格替换找出的相同字符
for(int x=0;x<str.length();x++){
char c=str.charAt(x);
if(c==a)
str=str.replace(c,' ');}

}
}
}
该方法是用' '替换已被比较的字符,在下一次的比较时进行判断,若被比较字符为' '则不进行比较,开始下一次的循环,选取下一个字符使之与其他字符进行比较。



运行结果:






  


 






     

热点排行