1.java基本数据类型
数据类型 大小 范围 默认值
byte(字节) 8 -128~127 0
short(短整形) 16 -32768~32768 0
int(整形) 32 -2147483648~2147483648 0
long(长整型) 64 -9233372036854477808~9233372036854477808 0
float(单精度型) 32 -3.40292347E+38~3.40292347E+38 0.0f
double(双精度形) 64 -1.79769313486231570E+308~1.79769313486231570E+308 0.0d
char(字符型) 16 ‘ \u0000~u\ffff ’ ‘\u0000 ’
boolean(布尔型) 1 true/false false
2.string类
常用初始化方法
(1)String s1=new String("abc");
(2)String s2="abc";
(3)String s3="ab"+"c";
(4)char[] array=('a','b','c');
String S3=new String(array);
常用操作方法
public char charAt(int index)
返回指定索引处的 char
值
该方法的作用是按照索引值(规定字符串中第一个字符的索引值是0,第二个字符的索引值是1,依次类推),获得字符串中的指定字符。例如:
String s = “abc”;
char c = s.chatAt(1);
则变量c的值是'b'。
public int length()
返回此字符串的长度。.
String s = “abc”;
int a=s.length();
则变量a的值为'3'。
public int indexOf(String str)
返回指定字符在此字符串中第一次出现处的索引。如果在此 String
对象表示的字符序列中出现值为 ch
的字符,则返回第一次出现该字符的索引。
在此对象表示的字符序列中第一次出现该字符的索引;如果未出现该字符,则返回 -1
String s="abcdefgabc"
int n1=s.indexOf("a")
int n2=s.indexOf("o");
a的位置在字符串的第一个,所以n1为a的索引值为0,因为字符串中不存在'o'这个字符,所以n2为返回值-1。
因indexOf方法通过传不同的参数进行了重载,返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。例如
int n3=s.indexOf(a,3);
查找索引值为3(包括3)之后的第一个出现的字符'a',则索引值n3为7.
public String replace(char oldchar,char newChar)
返回一个新的字符串,它是通过用 newChar
替换此字符串中出现的所有 oldChar
得到的。
如果 oldChar
在此 String
对象表示的字符序列中没有出现,则返回对此 String
对象的引用。否则,创建一个新的 String
对象,它所表示的字符序列除了所有的 oldChar
都被替换为 newChar
之外,与此 String
对象表示的字符序列相同。
String s1="hot woter".replace(o,e);
字符串中的所有字符'o'都将被替换为'e',则新字符串为"het water"。
如果需要将字符串中某个指定的字符串替换为其它字符串,则可以使用replaceAll方法,如
String s2="abcabcd".replaceAll("ab","01");
字符串中所有的子字符串"ab"都将被替换为"01",则新字符串为"01c01cd"。
如果只需要替换第一个出现的指定字符串时,可以使用replaceFirst方法,
String s2="abcabcd".replaceFirst("ab","01");
字符串第一个出现的子字符串"ab"将被替换为"01",则新字符串为"01cabcd"。
public String substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。
String s="abcdefg";
String s1=s.substring(3);
字符串将从索引为3的位置一直截取到原字符串结尾,则s1为"defg"。
如果需要截取字符串的一部分,则可以使用substring的重载方法,如
String s2=s.substring(2,4);
字符串将会从索引为2的位置截取到索引为4的位置,则新字符串为"cde"。
public String trim()
返回该字符串去掉开头和结尾空格后的字符串
String s=" a b c ";
String s1=s.trim();
该方法将会把字符串中头字符之前的空格和尾字符之后的空格全部去掉,但是字符之间的空格不会去掉,则s1为"a b c"。
统计字符串内每个字符字数代码
public class String{
public static void main(String[] arg){
String s1="euriyu13743289^%^&*&DJHK2312";
int length=s1.length();//得到字符串的长度
char[] array=s1.toCharArray();//将s1转换为一个新的array数组
char b;//定义字符串里的字符
for(int i=0;i<length;i++){//得到字符串的每个字符
b=s1.charAt(i);
int num=0;
for(int k=0;k<i;k++){//判断字符是否重复
if(array[k]==array[i])
num++;
}
if(num==0){
int j=0;
for(int k=0;k<length;k++)
if(array[k]==array[i])
j++;//统计字符的次数
System.out.println("字符"+b+"出现了"+j+"次");//输出结果
}
}
}
}
代码基本思路:
将字符串转化字符数组,第一次循环固定某一个元素,第二次循环将查找是否存在与该元素重复的元素。如不重复,进行一次遍历,记录重复元素出现的次数并输出结果。
输出结果:
字符e出现了1次
字符u出现了2次
字符r出现了1次
字符i出现了1次
字符y出现了1次
字符1出现了2次
字符3出现了3次
字符7出现了1次
字符4出现了1次
字符2出现了3次
字符8出现了1次
字符9出现了1次
字符^出现了2次
字符%出现了1次
字符&出现了2次
字符*出现了1次
字符D出现了1次
字符J出现了1次
字符H出现了1次
字符K出现了1次