java编程,这是什么意思? new char[] { '0', '1', '2', '3', '

java编程,这是什么意思? new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E' }[15] = 70;     a = new byte[] { -128 }; 谢谢了

new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E' }[15] = 70;
这句话实际上是两种合在一起了,和下面两句意思一样:
char[] array = new char[]{ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E' };
array[15] = 70;
就是让字符数组的下标为15的元素的ASCII码为70。但是下标15实际上越界了,会出错的。
不过这种写法在真正写程序的时候不会出现,创建的对象没有引用,而且什么也没有做,没有意义。追问

可是这是javaQQ1.0源码中的一部分,这是什么情况?

追答

你运行过试试吗?不知道是哪里提供的,这句话肯定会出错的。

追问

代码是这样写的

追答

能把这个文件上传上来吗,想整体看下。

追问

你邮箱?

追答

1418102203@qq.com

追问

发了

追答

代码挺多,我看到这段代码在e.java的静态初始化块中,如果创建e类的对象,一定会出错的,另外这代码,写得感觉不规范,还没有注释,建议你还是不要研究这个代码了。

追问

好吧,谢谢你了

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-04-24
第一个是给一个匿名数组第16个元素赋值,不过由于这个数组长度为15,所以会报数组下标越界的错误,而第二条给a进行初始化为一个长度为1的byte数组并初始化。
PS:如果你是从书上看到的,建议不要再看这本书了,严重的理论派!!追问

为什么是严重的理论派呢,他这是什么理论?
而且源代码没有处理异常!

追答

首先这种写法在实际工作中完全用不到,其次是写的就是一个错误代码,而且第二条语句如果前面已经定义了byte[] a就算了,如果连定义都没有,直接就这样用,我都不知道这本资料还到底会有多少错误存在。

第2个回答  2014-04-24
new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E' }[15] = 70;
new char[]的15号下标赋值为70,70对应的阿斯卡玛值是F
和下面的意思差不多,不过少创建了一个变量名
char[] x = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E' };
x[15] =70;追问

new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E' ,'F'}

那不就是上面这个吗?
为什么不直接这样呢?

追答

那样写没有实际用途,你根本没法拿到那个对象,你无法使用,只能作为研究,运行起来也不会出错。

追问

javaQQ1.0中的一段代码,着实看不懂

如果没用,它为什么要这样呢

第3个回答  2014-04-24
代码有问题,char[]里没有下标为15的值

java编程,这是什么意思? new char[] { '0', '1', '2', '3', '
new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E' }[15] = 70;这句话实际上是两种合在一起了,和下面两句意思一样:char[] array = new char[]{ '0', '1', '2', '3', '4', '5', '6', '7', ...

这段Java代码什么意思char out[] = new char[l << 1];
l<<1表示将l按位操作左移1位,也就是l * 2;上题 l = data.length; 则 l<<1 等于 (data.length)*2

java中定义char c='\\0'是什么意思
‘\\0’在很多编程语言中代表着一段字符的结尾,编译器判断我们字符串到哪个地方结束都是根据'\\0'判断的,如果遇到'\\0',就停止读取字符串,如果一直没有碰到'\\0',会继续往下找,比如我输一个“1234”的字符串,其实编译器输入的是“1234\\0”...

java char a='\\0'是什么意思
'\\0'是结束符的意思,它的asc码是0,那句话的意思 其实就是 char a=0;

【考点】JAVA中的char类型
在Java编程语言中,char类型用于表示单个字符,如字母、数字或特殊符号。它占用2个字节,即16位,足以容纳汉字。在赋值方面,char类型支持多种输入方式,如单个字符 'a'、'中'、整数111等。整数可以表示为十进制、八进制或十六进制形式,其范围从0到65535,对应ASCII编码表中的字符。对于运算,char类型...

char在java里面是什么意思?
char 在java里面表示一个16位的unicode的字符, 相当于c++里面的 wchar_t 或者 TCHAR 类型。String 可以转成char[], char[] 也可以转成String, 比如:String s = "...";char[] cs = s.toCharArray();String s2 = new String(cs);

java中运行 String c = new String(new char[] { 'h', 'e', 'l...
(3)new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型。new 运算符 1.用于创建对象和调用构造函数 例:Class_Test MyClass = new Class_Test();2.也用于为值类型调用默认的构造函数 例:int myInt = new int();myInt 初始化为 0,它是 int 类型的默认值。该语句的效果等同于:int ...

java 编程
Java是一种可以撰写跨平台应用程序的、面向对象的程序设计语言。简单说,Java就是一种语言,不过是一种针对jvm的语言,Java编译后是字节码,而jvm会把这些字节码解释成机器码,然后做出相应的动作。Java是计算机和我们的沟通语言,计算机可以懂Java这门语言。当然,你学会了Java,你也会这门语言,你就可以...

char 是什么意思?
Char 是计算机编程语言(c、c++、java、VFP等)中可容纳单个字符的一种基本数据类型。1、char有一个特殊的语言就是char *,它在C\/C++中有专门的语义,既不同于signed char *,也不同于unsigned char *,而是用于定义指针变量,如:char *p,这个变量p是个指针变量;就是说,p这个变量里能存储一个...

java三元运算符是什么?
java三元运算符三元运算符是软件编程中的一个固定格式,语法是“条件表达式?表达式1:表达式2”。使用这个算法可以使调用数据时逐级筛选。语法为:条件表达式?表达式1:表达式2。Java提供一个特别的三元运算符(ternary)经常用于取代某个类型的if-then-else语句。这个运算符就是?,并且它在Java中的用法和...

相似回答