随笔 - 5  文章 - 11  trackbacks - 0
<2006年9月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿(2)

随笔档案

文章档案

最新随笔

搜索

  •  

最新评论

很久没来了,上阵子参加一个量子信息的会,一直折腾了好久,呵呵,今天继续写我的java之旅^_^
这次会从字符串讲起,试着回忆到不规则数组吧,(基本按照当时学习corejava这本书来的)还是初级的
java本身没有内置的字符串类型的,但是标准java库里有一个叫string的预先定义的类,至于类的定义,上一篇好像讲过了,我就不说了。所以java里用起字符串来其实是相当的方便滴^_^
下面讲讲几个常用的方法:
串连接:
String  Tom = "Old";
String Jim = "Young";
String Hellen = Tom+Jim;
那么Hellen的值就变成TomJim,呵呵,很简单是吧
子串的提取:
String greeting = "Hello";
String s = greeting.substring(0,4);
我们得到的是Hell这个字符串,这就是子串的提取,其中0,4表示的是从位置0到位置4(不包括位置4)的字符
(源代码有很多直接从core java2里copy的,要是有错误大家直接翻书去哦)
字符串的长度:
String greeting = "Hello";
int n = greeting.length();
 然后就计算得到字符串的长度是5,在这里有一个有趣的问题,在java中,String类的对象是不可变的,这是什么意思呢?就是说Hello这个string,它的内容是不可变的,它永远是字符序列s t r i n g ,如果要改变字符串的内容,纳闷就要使它指向一个不同的字符串,这样势必降低了程序的效率,而书中将的很清楚,效率可能会降低,但是它的有点很明显,那就是:编译器可以安排共享的字符串
其实这个道理很简单,我们可以把Hello这个字符串想象成一个模版,一个比较重要的模版,那么我们共享使用它的机会一定比较多,说白了就是我们一般不会去使用helso.helto.helmo,之类的东东的嘛,所以这样来看使用这样的共享程度比较大的字符串的优势就比它的降低效率犯的错误大类^_^
其实,java是很贴心的,它专门提供了一个单独的stringbuffer类,它就把上面的所谓低效率的情况给解决了。
测试两字符串相等:
s.equals(t)
就是测试字符串s和t是不是相同
!!注意:不要使用== 来检测两个字符串是否相等,它只是测定两个字符串是否存储在同一个位置。虽然在同一个位置的串一定相等,但是如果两个相等的串在不同位置,那不究歇菜了。。。
书里提示了一点,我觉得熟悉c++的哥们要注意一下啊,因为在c++中可是用==来检测两个字符串是否相等的,所以嘛。。。
喝口水,继续拉^_^
下面是读取输入的问题,调用System.out.println方法很容易输出的嘛,第一个hello例子大家都看到了嘛,但是输入呢?学过c的哥们都知道c里的输入ms也是比输出稍稍麻烦一点的,怎么说也还要先输入sth嘛,呵呵。java中,可以给键盘一个对话框,调用的方法是:
JoptionPane.showInputDialog(promptstring)
返回值是用户的输入,

posted on 2006-09-03 16:03 jiqihuman 阅读(311) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: