java关于length的问题,高手来解答,谢谢

publicclassTestString{publicstaticvoidmain(String[]args){Strings="AaaaBbbbcc@!!@*asdJ... public class TestString {
public static void main(String[]args) {
String s = "AaaaBbbbcc@!!@*asdJKinoml - -haHA";
int lCount = 0, uCount = 0, oCount = 0;
for(int i=0; i<s.length(); i++) {
char c = s.charAt(i);
if(c >= 'a' && c <= 'z') {
lCount++;
}
if(c >= 'A' && c <= 'Z') {
uCount++;
}
else {
oCount++;
}
}
System.out.println(lCount + " " + uCount + " " + oCount);
}
}

在本程序的第五行中,有for(int i=0; i<s.length(); i++) {
我就想问下,length不是属性吗?既然是属性,为什么后面还要有括号?
于是我把括号去掉后,程序提醒说我错了TestString.java:5: 找不到符号
符号: 变量 length
位置: 类 java.lang.String
for(int i=0; i<s.length; i++) {
^
1 错误

但我在其他的程序里面(比如数组),当用到length的时候,就不用写length后面的括号。比如:
public class TestArray2wei {
public static void main(String[] args) {
String[][] s;
s = new String[3][];
s[0] = new String[2];
s[1] = new String[3];
s[2] = new String[2];
for(int i=0; i<s.length; i++) {
for(int j=0; j<s[i].length; j++) {
s[i][j] = new String("我的位置是:"+ i +","+ j);
}
}
for(int i=0; i<s.length; i++) {
for(int j=0; j<s[i].length; j++) {
System.out.println(s[i][j]+ " ");
}
System.out.println();
}
}
}

你们看,这个程序里的第八行,length后面就没有括号,我想问下,这是怎么回事?

由于我家里条件困难,无法去培训班,所以现在在家自学java,有很多的问题要问,所以悬赏分不是很高,希望大家能帮助我,再次感谢你们了!
展开
 我来答
百度网友97530805f
2008-10-22 · TA获得超过253个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:131万
展开全部
String s;
这是定义了一个String 类型的对象s
length()是String类的一个方法,当然要括号,
但是在数组中length是数组的一个属性不用括号
oatn
2008-10-22 · TA获得超过144个赞
知道小有建树答主
回答量:407
采纳率:0%
帮助的人:0
展开全部
只有数组类型才有length属性。
String是对象只有方法。所以取得字符串长度的就是方法。

String[][] 字符串二维数组。
s[1].length是指数组一维下标为1的二维数组长度。
s[1][0].length(); length()方法在java.lang.String 里。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Anson0370
2008-10-22 · TA获得超过1462个赞
知道小有建树答主
回答量:702
采纳率:100%
帮助的人:703万
展开全部
第一个length()是String的一个方法 用来得到这个字符串有多长的
而没有括号的length则是数组的一个属性 用来得到这个数组有多少个元素的

两个是不一样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帛畴Qt
2008-10-22 · 超过32用户采纳过TA的回答
知道答主
回答量:161
采纳率:0%
帮助的人:113万
展开全部
数组的length是属性 如 int[] a = new int[10]; a.length 就是得到数组的长度
字符串的length()是方法,如String str = "sdsdfsdf"; str.length() 就是调用length()方法取得str的长度
这是两个概念
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d19a82b09
2008-10-22 · TA获得超过1610个赞
知道小有建树答主
回答量:398
采纳率:0%
帮助的人:447万
展开全部
数组有length属性
String是length方法
一定要记住,面试有可能会问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzj203355
2008-10-22 · TA获得超过2022个赞
知道小有建树答主
回答量:3147
采纳率:100%
帮助的人:1023万
展开全部
建议你看看j2se API 上面明明说的很清楚 s是String类型 而length()是String类的方法
下面的数组是数组的大小 所以是属性 length
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式