00:04
前面我们看了怎么在Java当中做输出,我们知道只要在system.out.print line里面把要输出的内容放在两个双引号里面,我们就可以把那些内容呢输出给我们的用户看,那接下来我们要看看怎么样能够读用户输入的一些东西,任何一个程序其实都可以表达为一种有输入,然后呢,做一些计算,然后做输出的那么一个啊过程,所以呢,程序很重要的,一定要去读,一定要有能力去读用户的输入,我们看看在Java当中我们怎么来做这件事情,为了做这个事情呢,我们需要一个新的东西来帮我们,我们试试看在这儿这样输入,说先输入四个字母scan扫描的意思对不对,然后呢。跟我们做system那个时候一样的技术,我们用RT加斜杠。那他会帮我们找到,说有个叫做scanner的东西,大概就是它,我们就要他做完这个之后。新系的同学可能已经发现,说他在上头给我们多了一句话。
01:02
现在你别管这句话是做什么的啊,我们后面会来解释这些事情是干什么的,你现在只需要知道说我们需要这么做,OK,然后呢,我们我们我们就这么敲下去,说有个scanner叫做in,它呢等于new一个scan敲到这儿一样,我们可以用art加斜杠来帮我们做完接下去的东西,然后呢,在这个圆括号里头输的是system点映。好,最后呢,别忘了结尾有个分号这句话什么意思,这句话给我们准备了一个东西,这个东西呢,是我们后来后面可以用来做用户输入的,用来读用户输入的那么一个东西,接下来呢,我们就要用它来读一些东西进来,我们先来试试看这样一个代码。我们先来看看它运行起来是什么样的效果。保存。运行,但我们得要到下面。在输入的地方,他先输出了一句中文在那儿,我们需要在这个CTRL窗口那点一下,让它聚焦在那儿,任何窗口如果被聚焦了,你会看到光标在这闪烁啊之类的,我们点之前和点之后,如果你仔细看那个屏幕是变化的,好,现在我们可以在这说一些东西,比如说hello。
02:17
我们输入的东西会显示成绿色的啊,淡绿色的,然后按下回车。它就会显示给我们看哈,也就是说我输进去的内容,它读到了,然后呢,它再啊完全相同的显示给我们看。再看一个细节,现在这个程序已经运行结束了。如果你仔细看,在这。它显示了一个字符啊,一个单词,叫做terminated的意思是说这个程序已经终止了,我们再把这个程序运行起来。现在这个程序是运行着的,这个terminated的这个字是没有的,光标在这闪烁,然后如如果我们把屏幕再拖过来一点点。在这儿有一个红色的,我们把屏幕缩小,我们看一下全局,在这个地方有一个红色的按钮,这个红色的按钮现在显示的是红色的,并且是可以按的,它的意思是说这个程序现在正在运行着啊,这是一个正在运行着的程序,然后我们现在在这儿说BY回车。
03:15
这个程序运行结束了,这是terminated,这这个红色的块块也消失了,变成灰色了。所以这个红色的块如果亮在那边,如果显示出红色来,意思是说现在这个程序正在运行着。好,我们再来试一个事情,我们现在把它运行起来了,呃,我们没有去做任何的事。我们以为这个程序没运行起来等等之类的,反正我们犯了一些很愚昧的错误,然后我们又去按了一下这个。表面上看起来没有任何问题哦。好像就是那个程序还在那儿运行一样,但是不一样的是你看。在这儿。我们放大到那儿去。这儿有一个小方块,显示了一个显示器的符号,然后旁边有个倒三角,把这个拉下来我们会看到。
04:09
现在我们有两个conso,其实我们有两个程序正在运行着,我们切换到那个程序。如果我们在这儿输入了hello。我们。不按下那个回车啊,然后。我们在这儿切换到第二个程序。这是没有hello的那个,我们还可以切换回去,这是有hello的那个,这证明我们现在确实有两个程序正在运行着啊。然后如果我们。直接在这个时候去按那个红色的方块。这个程序hello的那个就结束了。我们现在再来这儿,我们看到说第一个是terminated的,第二个还在那,我们没有输入东西的那个还在那儿。它还在运行着,因为它还是红色的。啊,所以呃,初学者很容易犯的一个错误,就是当这个程序有输入,他要等待用户输入的时候,当这个程序还没有一定结束,比如说后面我们会学到循环,它不断的在做一些计算,然后呢,其实程序还在运行。
05:10
你可能会以为它已经结束了,然后又去心急的又去启动了另外一个程序。每一次你启动这样一个程序。在这个系统里头都会有大量的资源要用来运行你的程序。你的启动的程序越来越多,最后你的E就跑不动了。你会说哎呀怎么回事情,我我按一个键它都没什么反应,是不是死机了。你可以到这儿来看看,很可能就是因为你有很多个程序在跑着,没有把它关掉。OK,这是我们做的第一件事情,如何去读用户的输入,可是这是一个非常简单的程序,我们只是做了一个应声虫,我们只是把你输入的所有东西又都输出了一遍,在这个过程当中没有任何的加工处理好。我们怎么能够去做一些简单的加工处理呢?比如说如果我们希望说我现在输进来的那个hello,输出的时候不是简单的给我看个hello。
06:07
而是能够。加上一点东西。用来说这是我。收到了你的hello,然后我的一个回答,我们可以怎么做呢?我们可以这么做。在这。双引号,还记得,双引号表明说,这是我们要告诉要写在程序里面的一个固定的文字,一段固定的文字,所以我们有一段双引号说。Echo。就是我们让那个程序每次都会输出echo,就好像我们在前面那一句每次都输中文一样,我们每次都要输出一个echo,然后呢。后面是in the next line in the next line的意思是说我们让in这个东西,我们在这一行做了in这个东西,对不对?我们有了in这个东西,然后呢,在下一行我们说我们让in这个东西呢,给我们去做next line这件事情,把下一行给我读进来,于是我在这要做一个事情,要做一个连接。
07:04
我要说我要把我的这个echo这个字符串和我后面从in去读进来的下一行连接在一起,让两个字符串连接在一起,形成我要让print line做的那个输出,我们来看看这样的效果是什么,当然。我们还可以再做一点小改动,让这个程序看起来更好一点,我们把中文改成说你好好不好好,我们来试一下这个程序。现在他输出了,你好,然后我们说,嗯,我们也说你好。然后他说echo你好,这个echo就是我们在这里加进去的这个echo。就是这个AO。所以我们用加号可以去连接两个字符串,一个字符串可以是固定的,另外一个字符串可以是,比方说像这里啊,我们要印读性的东西,当然以后我们还会学到更多的怎么样啊,来表达程序里头的字符串等等之类的事情。
08:06
除了可以连接两个字符串以外。这个地方还可以有一个有意思的做法,比如说我们想要做一下说,嗯哼,让我来试一下说。Line说。二加三等于。OK,我们希望他能够给我们算一下,二加三等于多少,那后面还是用一个加号,然后我们知道答案是五了,所以我们就把五写在这,五是一个数字前头没有算一号的,所以呢,五这个数字和前面那个有双引号的东西连接在一起,它的效果呢,就是把那个五显示出来了,OK,现在我们来试试看这句话的效果,但是呢,我们程序里头有很多,前面有很多东西嘛,你得要输入啊什么的,怎么把那些东西去掉呢?有一个简单的方案,你不需要删除的啊,我们可以这么做,我们把这两行呢选起来。在这个程序编辑器里面怎么做呢?呃,写程序的人啊,一定要习惯于用键盘来做事情,而不要时时的拿起鼠标来做事情,因为你想你只有两只手的嘛。
09:07
两只手都在键盘上面了,你没有第三只手来操纵鼠标的,所以程序员呢,一般都习惯于所有的事情都在那个键盘上做,不要去动鼠标,我刚开始怎么做呢?我用我们键盘上有方向键的,对不对?我用方向键移到第一行那里去,然后呢,按下shift。然后呢,按一下向下的键头,它就到第二行了,这样呢,他就把这两行都选起来了,啊都选起来之后呢,我们做一件事情,按下键盘上的两个键,一个是CTRL,一个是斜杠。那做完之后呢,我们就把。这个这两行呢,前面加上了两个是两个斜杠啊,这两行前面都加两斜杠,然后这两行呢,就变成是绿色的,这种绿色的东西前面有斜杠的这一行呢,对于程序来说,对于Java程序来说,它就是一种注释,所谓注释是给人看的,也就是说计算机不管,不管你里头写什么,计算机都不管,所以这两行对于计算机来说就不存在了啊,也也就是说我们现在呢,就不会去读用户输入,然后呢,再加上eo再输出这些事息我们都不做了,我们做了拟好之后,直接就会说出那个二加三等于多少,我们来看看这样做的效果是什么。
10:15
你好,二加三等于五。也就是说,如果有一个字符串。后面还有一个别的东西,然后你用个加号把它们连起来,那他会做的事情呢,就是把所有东西都变成字符串,然后把它们连接起来。那现在当然二加三等于五很简单了,如果说我我我不知道二加三等于多少,我想我就想让计算机告诉我二加三等于多少,我要怎么做呢?我们可以这样。二加三。这就是加法嘛,跟跟跟我们在算术当中加法一样,如果是这样,会不会有二加三等于五出来呢?我们来看一下。没有,他说二加三等于23,这显然是不对的,对吧,这是这是没学过数学的可能比如说两三岁的小孩子可能会说二和三加起来就是二三。
11:01
我们当然知道这是错的,错是错在什么地方呢?我们需要在这儿这样做。加上括号。我们要告诉他们说,我告诉计算机说,我要你先把二加三给我算出来,然后呢,再去做字符串的连接啊,我们来看现在这样是不是对的。二加三等于五了啊,但是如果反过来啊,我们把它做成这样说。二加三啊,加上等于二加三。也就是说我先做二加三,我们看看那个二加三能不能加起来呢。可以,这种情况下,他能够把前面的二和三先去做一个加法,这件事情呢,我们到后面讲啊,计算的优先级,计算的结合律,先后关系的时候啊,我们再来仔细解释为什么是这样的,你现在只要知道说我们用加号呢,可以把字符串连起来,如果其他东西不是字符串,它会把它变成字符串啊,然后呢,如果你要做计算,那你要考虑在适当的地方就加一些括号啊,来完成这些计算。
我来说两句