比如String str="we are happy!!";
char[] ch=new char[30];
for(int i=0;i<str.length();i++){
ch[i]=str.charAt(i);
}数组长度为30,但是字符没有30个,空位是用什么占据的?c语言的数组有个结尾符号'\0',并且结尾符号会算进数组长度里面。Java数组有结尾符号么?
char[] ch=new char[30];
for(int i=0;i<str.length();i++){
ch[i]=str.charAt(i);
}数组长度为30,但是字符没有30个,空位是用什么占据的?c语言的数组有个结尾符号'\0',并且结尾符号会算进数组长度里面。Java数组有结尾符号么?
解决方案 »
- pdf到png的转换(java)
- javascript 保存cookie 有时候不成功 怎么回事儿,有
- 十万火急求各位高手帮忙,要写一个能够自由添加文字的程序,文字最好能移动的,最后还要保存,我该怎么做呢?最好有代码,谢谢啦(十万火急)
- 这样的公司还要不要呆?郁闷中,散分!
- 一个线程start()后,正常运行终止后,能否再次被start()????
- 如何把java程序弄成.exe文件啊?
- 如何配置JAVA的开发环境
- Java中有什么方法判断字节中的每一个bit位是0还是1?
- 基于JXTA的P2P视频系统设计
- wait()、notify()、notifyAll()在使用是对象锁和调用这些方法的对像必须要一直?
- 关于AWT的空指针异常问题
- Java程序循环运行了一部分后,卡住了,之前控制台有内容输出,卡住之后没有内容输出,但显示程序还在运行
如果是char类型等字符数组 未初始化的时候全为“ ”。结尾没有\0,和String没有关系。
public static void main(String[] args) {
String str="wearehappy";
char[] ch=new char[30];
for(int i=0;i<str.length();i++){
ch[i]=str.charAt(i);
}
int len=0;
for(int j=0;j<ch.length;j++){
if(ch[j] != '\0'){
++len;
}
}
System.out.println(len);//输出为10
}
}这个代码的输出为10,如果把代码ch[j]!='\0'改成ch[j]=='\0',输出就为20.感觉char数组的空位就是用'\0'占据的,但是我又没有在书上看到过,所以来求证一下
我觉得,java和c、c++看起来很像,但做的工作不一样,java没有指针,c和c++更适合偏底层的东西。
在java里就不要研究数组了呀,ArrayList多方便啊。