码迷,mamicode.com
首页 > 其他好文 > 详细

String类和StringBuffer类

时间:2018-08-06 23:19:13      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:字节   cat   不用   处理   个数   ringbuf   bye   键盘输入   一个   

位于java.lang包中,这个包中的类使用时不用导入

String类一旦初始化就不可以改变,而stringbuffer则可以。它用于封装内容可变的字符串。它可以使用tostring()转换成string字符串。

String x=”a”+4+”c”编译时等效于String x=new StringBuffer().append(“a”).append(4).append(“c”).toString();

字符串常量是一种特殊的匿名对象,String s1=”hello”;String s2=”hello”;则s1==s2;因为他们指向同一个匿名对象。

如果String s1=new String(“hello”);String s2=new String(“hello”);则s1!=s2;

 

/*逐行读取键盘输入,直到输入为“bye”时,结束程序

注:对于回车换行,在windows下面,有‘\r‘和‘\n‘两个,而unix下面只有‘\n‘,但是写程序的时候都要把他区分开*/

 

 1 public class readline
 2 {
 3 public static void main(String args[])
 4 {
 5 String strInfo=null;
 6 int pos=0;
 7 byte[] buf=new byte[1024];//定义一个数组,存放换行前的各个字符
 8 int ch=0; //存放读入的字符
 9 system.out.println(“Please input a string:”);
10 while(true)
11 {
12 try
13 {
14 ch=System.in.read(); //该方法每次读入一个字节的内容到ch变量中。
15 }
16 catch(Exception e)
17 {
18 }
19 switch(ch)
20 {
21 case ‘\r‘: //回车时,不进行处理
22 break;
23 case ‘\n‘: //换行时,将数组总的内容放进字符串中
24 strInfo=new String(buf,0,pos); //该方法将数组中从第0个开始,到第pos个结束存入字符串。
25 if(strInfo.equals("bye"))   //如果该字符串内容为bye,则退出程序。
26 {
27 return;
28 }
29 else   //如果不为bye,则输出,并且竟pos置为0,准备下次存入。
30 {
31 System.out.println(strInfo);
32 pos=0;
33 break;
34 }
35 default:
36 buf[pos++]=(byte)ch;  //如果不是回车,换行,则将读取的数据存入数组中。
37 }
38 }
39 }
40 }

 

String类和StringBuffer类

标签:字节   cat   不用   处理   个数   ringbuf   bye   键盘输入   一个   

原文地址:https://www.cnblogs.com/borter/p/9434062.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!