数字和字符串之间的相互转化
数字转字符串只要加 “”;
public void testNumber(){
int age=25;
String agestr=age+"";
}
字符串转数字
不能够强转(强转一般只出现在数字之间,跟String不一样)
可以通过包装类进行转化
public void testNumber(){
String agestr="25";
int age=Integer.parseInt(agestr);
}
double型的
@Test
public void testNumber(){
String pricestr="25.8";
double age=Double.parseDouble(pricestr);
System.out.println(age);
}
double两数边缘相加减并不精确,可用BigDecimal做精确计算(decimal:十位数)
double num1=2.0;
double num2=1.9;
double result=num1-num2;
System.out.println(result);
//结果为“0.10000000000000009
BigDecimal bigdecimal1=new BigDecimal("2.0");
BigDecimal bigdecimal2=new BigDecimal("1.9");
BigDecimal bresult=bigdecimal1.subtract(bigdecimal2);
System.out.println(bresult);、
//结果为:0.1
bigdecimal 做除法保留小数,第二个参数表示保留小数的位数,第三个参数表示保留的方式(四舍五入,向上,向下取整)
BigDecimal bigdecimal1=new BigDecimal("10");
BigDecimal bigdecimal2=new BigDecimal("3");
BigDecimal bresult=bigdecimal1.divide(bigdecimal2,5,RoundingMode.HALF_UP);
System.out.println(bresult); //结果为:3.33333
String的一些方法
- 长度
- 判断相等,忽略大小写
- 获得字符串的指定位置的字符
- 大小写转化
- 截取子字符串(substring)
- 指定子字符串出现的 位置索引(indexof)
- 判断包含子字符串(contains boolean型)
- 替换字符串(replace)(当替换成空时,相当于删除)
- 分割字符串(splite)
- 去掉前后的空格(trim)
- 将字符串转化成数组(Arrays.toString)
通过map去计算各字母所出现的次数(空格也算一个字符)
@Test
public void testString(){
String str="I love you";
int len=str.length();
System.out.println("长度"+len);
//长度
//判断相等,忽略大小写
//获得字符串指定位置的字符
Map<String,Integer> map =new HashMap<String,Integer>();
for (int i = 0; i < str.length(); i++) {
String key=str.charAt(i)+"";
if(map.containsKey(key+"")){
Integer value=map.get(key)+1;
map.put(key, value);
}else{
map.put(key, 1);
}
System.out.println(key);
}
for (String key:map.keySet()) {
System.out.println(key+":"+map.get(key));
}
} // :2 e:1 u:1 v:1 I:1 y:1 l:1 o:2
String 大小写之间的转化
String str1=str.toUpperCase();//转大写
String str2=str.toLowerCase();//转小写
System.out.println(str1);
String 获得子字符串
str.substring(2,6);
StringBuilder 用于将两个字符串连接起来(String 操作时自己不变 StringBuilder 自己会改变)
性能会好,因为没有创造新的字符串,在原先的基础上更改。
StringBuilder sb=new StringBuilder("hello");
sb.append("world");
System.out.println(sb);
插入
sb.insert(6,"hangzhou");
//结果为: hello hangzhou world