Хорошо, давайте рассмотрим несколько упрощенных объяснений относительно класса Scanner
.
Это стандартный класс Oracle, который вы можете использовать, позвонив по номеру import java.util.Scanner
.
Так давайте создадим простой пример класса:
class Scanner{
InputStream source;
Scanner(InputStream src){
this.source = src;
}
int nextInt(){
int nextInteger;
//Scans the next token of the input as an int from the source.
return nextInteger;
}
}
Теперь, когда вы звоните Scanner input = new Scanner(System.in);
вы сделаете новый объект Scanner
класса (так что вы сделать новый «Сканер»), и вы храните его в переменная input
. В то же время вы вызываете (так называемый) constructor класса с параметром System.in
. Это означает, что он будет считываться из стандартного входного потока программы.
Теперь, когда вы вызываете input.nextInt();
, вы выполняете метод из только что созданного объекта (также documented). Но, как мы видим, этот метод возвращает целое число, так что, если мы хотим использовать это целое число, мы должны назначить вызов переменного, как вы делаете:
int i = input.nextInt();
Знаете ли вы, что означает 'class' на Java? – moffeltje
Как насчет того, чтобы начать с документов Oracle! :) –
http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html – Gosu