Объявление бесполезной локальной переменной

Так что это странно, я знаю, что сам код довольно бесполезен, но что яМне интересно, почему я получаю ошибку:

Я писал некоторый код, я написал это:

if(scan.hasNextInt())
    int row = scan.nextInt();

WASN»Я не думаю о переменной области в то время, очевидно, это бесполезно, потому что я могут использоватьrow мимоif тем не мение. Что я не делаюя понял, почему я сделал ошибку, которую я сделал:

> javac hw.java
hw.java:25: '.class' expected
    int row = scan.nextInt();
        ^
hw.java:25: not a statement
    int row = scan.nextInt();
    ^    
hw.java:25: illegal start of expression
    int row = scan.nextInt();
            ^
hw.java:25: ';' expected
    int row = scan.nextInt();
                  ^

Теперь, если я просто изменить это, если проверить:

if(scan.hasNextInt()) {
    int row = scan.nextInt();
}

Это будет хорошо скомпилировать. У меня сложилось впечатление, что если бы была 1 строка подif фигурные скобки были необязательными ... очевидно, есть и другие соображения, иначе оба скомпилируются или потерпят неудачу.

Может ли кто-нибудь объяснить мне или указать мне документ, который объясняет, почему я могуобъявить локальную переменную подif условно без фигурных скобок?

РЕДАКТИРОВАТЬ: Вот's полная функция:

public static char getinput() {
    System.out.println("Where do you want to go? (row column)");
    Scanner scan = new Scanner(System.in);
    if(scan.hasNextInt())
        int row = scan.nextInt();
    String input = scan.next();
    System.out.println(input);
    return 'a';    
}

Ответы на вопрос(2)

Ваш ответ на вопрос