Java String input =“”;做?

时间:2016-03-17 19:38:00

标签: java

我看过一些代码,如..

String userChoice = " ";
userChoice = JOptionPane.showInputDialog("User Input");

有人可以向我解释这是做什么的吗?以及如何为整数执行此操作?

2 个答案:

答案 0 :(得分:3)

它将包含空格的字符串分配给userChoice

空间和预先声明似乎没用,因为它在下一行再次分配。

答案 1 :(得分:1)

String userChoice = " ";声明字符串变量userChoice并为其分配临时值" ",使其不是空字符串。

通常情况下,您不能简单地声明变量,因为变量可能会超出范围 - 例如:

while(b) {
    if(a) {
        String userChoice = scanner.nextLine();
        break;
    }
}
System.out.print(userChoice); //this will not work

最后一行代码不起作用,因为userChoice在while循环中声明,并且不能在其外部访问。相反,你必须写这样的东西:

String userChoice;
while(b) {
    if(a) {
        userChoice = scanner.nextLine();
        break;
    }
}
System.out.print(userChoice);

" "的值赋值给它的原因是你没有得到这个编译错误:

  

变量userChoice可能尚未初始化

此类计划的一个例子如下:

String userChoice;
while(b) {
    if(a) {
        userChoice = userChoice + scanner.next(); //this will give you the error
    }
}

由于userChoice没有任何价值,userChoice + scanner.next()没有任何意义,因此您会收到错误消息。通过赋予" "(或更常见的是"")的值,您可以避免此问题。

现在在你的情况下,上面的内容可能完全无关紧要,代码实际上是这样的:

String userChoice = " ";
userChoice = scanner.next();

而不是简单地写:

String userChoice = scanner.next();

这仅用于教育目的。没有什么真正的区别,你应该总是采用最简单的写作方式。