我正在练习Java编程,当我学习类和数组时,我发现自己被困在打印数组上。我试图使用我在一个单独的类中创建的变量,但我不确定如何添加值以及如何打印它们。
class A {
int a;
String b;}
public class testnew {
public static void main(String[] args) {
A[] test = new A[100];
test[0] = new A();
test[0].a = 1;
test[0].b = "2";
System.out.println(test[0].a + test[0].b);
}
}
这与数组或其他类无关。这里,保持简单:
public static void main(String[] args) {
int a = 1;
String b = "2";
System.out.println(a + b);
}
这将打印12
。如果我正确理解你的问题,你的问题是:;呃,我想改为打印3;。因此,忘记数组部分和其他类部分吧——这些位工作得很好。添加1
和"2"
的工作会让您感到困惑。
Java是强类型的。"2"
是一个字符串。此字符串包含数字字符这一事实不会更改任何内容。这是一根绳子。时期无论字符串的内容是什么,字符串都以相同的方式进行操作。
在java中,+
运算符实际上是一个单独的符号,它做两件完全不同、完全不相关的事情。一个真正的枪和奶奶的情况。
它意味着两种完全不同的东西中的哪一种是在编译时决定的。
如果左手边或右手边是字符串类型的表达式,则+表示字符串串联。
如果左和右都是数字,则为加法。
否则,这就是一个错误。
这里,左手边是int
(数字(,右手边是字符串。因此,+表示字符串串接,并且通过首先将所有相关输入变换为字符串来执行操作(因此,1变为"1"
,而"2"
保持为"2"
(,然后串接这2,产生"12"
。
如果你想把一个字符串变成一个数字,你需要:
int c = Integer.parseInt("2");
System.out.println(c); // 2
int d = 1 + c;
System.out.println(d); // 3
在上面的代码中,1
是数字,c
是数字,因此,+
现在意味着加法,因此:d现在是3,而不是12。