主题:[讨论]java第二堂课
java第二堂课
我的QQ号:2535279
我的QQ群:58591592
上次的JAVA程序完成一个输出,那么怎么向程序输入信息呢?我们先看下面一个程序
import java.util.Scanner;
public class FirstOutput{
public static void main(String[] args){
System.out.println("请输入");
Scanner s = new Scanner(System.in);
String string = s.next();
System.out.println(string);
}
}
同样在命令提示符下先用javac命令编译这个FirstOutput.java文件,然后运行java FirstOutput
会显示"请输入"这三个字,然后可以通过键盘输入我们想输入的信息,比如输入nba,按下回车,程序就会在下一行显示
nba出来.
下面我们来分析一下这段代码
import java.util.Scanner;
这段代码表示我们这个程序需要用到一个Scanner类,这个类放在java.util这个包里面,在JAVA中包的含义类似于WINDOWS下的文件夹,比如系统盘(一般是C盘)下面有Documents and
Settings这个文件夹一样.
如果我们需要引用一个类,就可以用import关键字来调用它.
public class FirstOutput
同样的,一个public class的名字一定要跟文件名字一样,所以这个文件要保存为FirstOutput.java
public static void main(String[] args)
System.out.println("请输入");
Scanner s = new Scanner(System.in);
定义一个名叫s的Scanner引用变量, 它指向了一个新的Scanner对象.
注意这里的s并不是一个Scanner对象,它只是指向这个对象的一个变量.
打个比方来说,我们可以去银行办存折或者是银行卡来存钱取钱,
我们决定办卡,Scanner s代表办了一张卡s,
new Scanner(System.in)表示银行新开了一个帐户,然后通过 = 来把你的卡跟这个新的帐户联系起来,
s只是指向这个Scanner对象,正如这个卡指向这个帐户一样,s是用户和系统的媒介,卡是我们和银行的媒介.
String string = s.next();
定义一个String类型的引用变量string,并且使它指向s.next(),上一句我们知道s是指向一个Scanner对象的,
Scanner为我们提供了一些方法来操作对象,这个next()就是其中之一,s.next()表示这是调用s指向的对象的
next方法,它可以从键盘获取输入,直到按下回车键结束.
还是用银行卡的例子来说,银行卡有取钱查询转帐等等方法来操作它指向的帐户,系统通过你的卡来获取相应的帐户信息并对其进行操作,如果我们用卡号是9558xxxxx的卡去取钱,实
际上是在做 9558xxxxx.取钱() 操作
考虑一下这个关系
s.next() ←-------------→ 9558xxxxx.取钱()
System.out.println(string);
这个应该很清楚是输入信息了,但是不同的是这里没有" ",上一句话我们知道string已经指向了我们输入的内容,
所以这里输出的也是string指向的内容,从结果我们可以很容易看出这一点来
注意:每个语句都是以";"结束的,{ } 一定是成对出现的
好了,我们再运行一次程序,试着输入下面的内容
java and c++
看看会得到什么样的结果呢?
我的QQ号:2535279
我的QQ群:58591592
上次的JAVA程序完成一个输出,那么怎么向程序输入信息呢?我们先看下面一个程序
import java.util.Scanner;
public class FirstOutput{
public static void main(String[] args){
System.out.println("请输入");
Scanner s = new Scanner(System.in);
String string = s.next();
System.out.println(string);
}
}
同样在命令提示符下先用javac命令编译这个FirstOutput.java文件,然后运行java FirstOutput
会显示"请输入"这三个字,然后可以通过键盘输入我们想输入的信息,比如输入nba,按下回车,程序就会在下一行显示
nba出来.
下面我们来分析一下这段代码
import java.util.Scanner;
这段代码表示我们这个程序需要用到一个Scanner类,这个类放在java.util这个包里面,在JAVA中包的含义类似于WINDOWS下的文件夹,比如系统盘(一般是C盘)下面有Documents and
Settings这个文件夹一样.
如果我们需要引用一个类,就可以用import关键字来调用它.
public class FirstOutput
同样的,一个public class的名字一定要跟文件名字一样,所以这个文件要保存为FirstOutput.java
public static void main(String[] args)
System.out.println("请输入");
Scanner s = new Scanner(System.in);
定义一个名叫s的Scanner引用变量, 它指向了一个新的Scanner对象.
注意这里的s并不是一个Scanner对象,它只是指向这个对象的一个变量.
打个比方来说,我们可以去银行办存折或者是银行卡来存钱取钱,
我们决定办卡,Scanner s代表办了一张卡s,
new Scanner(System.in)表示银行新开了一个帐户,然后通过 = 来把你的卡跟这个新的帐户联系起来,
s只是指向这个Scanner对象,正如这个卡指向这个帐户一样,s是用户和系统的媒介,卡是我们和银行的媒介.
String string = s.next();
定义一个String类型的引用变量string,并且使它指向s.next(),上一句我们知道s是指向一个Scanner对象的,
Scanner为我们提供了一些方法来操作对象,这个next()就是其中之一,s.next()表示这是调用s指向的对象的
next方法,它可以从键盘获取输入,直到按下回车键结束.
还是用银行卡的例子来说,银行卡有取钱查询转帐等等方法来操作它指向的帐户,系统通过你的卡来获取相应的帐户信息并对其进行操作,如果我们用卡号是9558xxxxx的卡去取钱,实
际上是在做 9558xxxxx.取钱() 操作
考虑一下这个关系
s.next() ←-------------→ 9558xxxxx.取钱()
System.out.println(string);
这个应该很清楚是输入信息了,但是不同的是这里没有" ",上一句话我们知道string已经指向了我们输入的内容,
所以这里输出的也是string指向的内容,从结果我们可以很容易看出这一点来
注意:每个语句都是以";"结束的,{ } 一定是成对出现的
好了,我们再运行一次程序,试着输入下面的内容
java and c++
看看会得到什么样的结果呢?