上一次还有一点点string类没讲完全的东西,就是有关于string构建器的。
一.string构建器
在Java中要不断的增加一个string对象内容可以通过不断创建一个新的string对象使用拼接符“+”来实现。如下:
String str1="abc";
String str2="def";
str1+=str2;
System.out.println(str1);
但是这样存在一个缺点,就是在于每一次的拼接都需要构造一个新的string对象,浪费空间和时间。那么Java中的字符串构造器StringBuilder类就解决了这一个问题,代码如下:
StringBuilder strb=new StringBuilder();
strb.append("asdas");
strb.append("asdasd");
String str=strb.toString();
System.out.println(str);
两个主要方法:append()向构建器中添加字符串,tostring转化为string对象。
二.输出输入
输入首先要定义一个Scanner对象,并将System.in关联。导入包Java.util;
对于Scanner类的方法就比较多了,主要有以下几个:
nextline()读取一行,这个这个主要在于将一行中的空格也读取进去。要是想读取一个单词就用next()这个方法。代码如下:
Scanner scan=new Scanner(System.in);
System.out.println("读取一行包括空格!");
String str1=scan.nextLine();
System.out.println("读取一个单词一空格分开!");
String str2=scan.next();
System.out.println(str1);
System.out.println(str2);
结果:
格式化输出:
Java中引用了c的printf()函数,通过引号%的穿插规定输出的格式。
常见printf的转化符:
d 十进制数 x 十六进制数 o八进制数 f 定点浮点数 e 指数输出浮点数 g 通用浮点数 a 十六进制浮点数 s 字符串 c 字符 %百分号 代码如下:
System.out.printf("%o",20);
System.out.printf("%s", "asdafa");
其他的转化符:
+打印正数时和负数的符号
在正数之前添加空格
-左对齐
代码如下:
System.out.printf("%-8.6f",6.012);
格式为:“(起始符)% (是否含有)-(含有进行左对齐) 格式m.n(m表示输出长度,n表示小数点后的位数)(字母)f,l等进行输出是的数值的形式修改”。
语法图如下: