00:00
好,咱们呢,对这个呃,已经讲的那内容啊,就是hello word这个程序,包括呢,东方注释咱们进行一个总结啊,总结的话呢,我们就呃把这个打开哈,诶咱们呢,再新建一个。Java文件啊,写一个hello啊,比如说啊。写个hello,然后这时候呢,把它呢,我CTRLC一下,然后CTRLS保存在咱们当前的这个D01这个目录下啊叫hello,然后保存。注意你看这时候这个编码是有一个编码的问题,叫ani,这个大家呢,不要动啊,你就都用这个an SI这个默认的情况就可以了啊,现在刚开始呢,我不想给大家说太多啊,说太多呢,这个感觉一下子这个好像很困难似的,是吧,就先默认的就用这个就可以了啊,然后保存好,呃,因为呢,我这习惯上用这种方式呢,所以把这个呢调到上一行的这个末尾,看大家个人习惯啊,对咱们写在第一个hello word这个程序呢,进行一个总结,总结的话呢,我这时候就用这个多行注释来写了。
01:06
嗯,好,这是我们第一个Java程序来进行总结。好,首先呢,第一个问题就是我们整个Java程序呢,想在这个命令行输出一个hello word,哎,我们这呢,涉及到几个步骤啊呃,那第一个步骤呢,就是叫编写啊,你得先写这个Java代码,然后呢,呃,叫编译,再者叫运行啊这样的一个过程啊好这呢我们就总结为Java程序。啊,程序啊,这叫编写,然后编译和运行的过程啊,首先呢,这里边涉及到第一个问题叫做编写啊说呢,我们将啊编写的这个Java代码,或者叫Java程序啊这个声明在或者叫嗯,我们将编写的Java代码保存在啊这个以呃叫Java结尾的这个叫原文件当中。
02:16
诶,这个呢,是我们说的这个编写的过程,点Java结尾,这个文件呢,我们称作叫原文件啊,这个大家注意啊,然后第二个过程呢,叫做编译,那编译呢,我们是使用的一个开发工具啊,说我们使用这叫Java c.exe这个命令啊去编译,哎,我们的这个Java原文件啊,这个格式呢,就是Java c,然后空格这呢就是原文件名。哎,这个注意原文件啊,哎注意呢,后边加上这个后缀,哎这呢是我们编译的过程啊,然后下个过程呢,叫做运行或者呢叫做解释运行都可以,我们呢是使用哎java.ex这个命令啊去解释运行,哎我们的什文件。
03:20
哎,自解码文件对吧,哎,这个格式格式呢是Java,然后空格后边呢是对是类名。对,后边不要加上点class啊,诶Java空格类名,哎,这是我们这个运行的一个过程啊,如果都没有问题的话呢,这个运行就会出来一个结果了啊,这是这个情况啊,然后呢,我们接着呢,把这几个过程里边有些问题呢展开再说明说明,那第一个呢叫做编写,编写呢,那会呢,咱们演示了几个错误的情况,哎大家写的时候呢,要规避这样的一些问题啊,然后其次的话呢,我们说在这一个原文件当中。
04:00
咱们刚才的这几个例子的原文件里边,实际上就都写了一个class哈。诶,但实际上呢,我们说一个原文件当中呢,是可以声明多个class的,对,你看我这写了一个下边呢,咱们还可以接着再写声明class,比如我这叫person人。哎,这也是一个class,然后再来,哎,Class,我写一个animal动物,哎,这也是一个class,注意这三个class呢,是并列关系啊,就是你别一不小心的把这个大括号给扔到下边了,这跟扔到外边呢是有区别的啊,这个呢都是并列的关系。啊,保存一下这个呢,是我们说明的一个点,也就是说呢,在一个Java源文件当中呢,是可以声明多个class。原文件中可以声明啊多个class,也就是呢,你可以声明多个类啊,就是这个意思,那但是但是什么呢?我们说只能有一个类啊,只能最多有啊一个类啊声名为什么呀?哎,叫public的。
05:16
咱们刚才呢,去演示这个文档注释的时候呢,我在这个类前面加了一个public啊,当然说那说我们一会再说这个事儿啊,现在来提一下哈,这个public呢,其实是我们讲面向对象说封装性的时候的一个关键字啊,但是现在呢,咱们提前先用一用,它其实代表的就是指明这个类的一个权限大小啊,大家先不用关注那么多哈,呃,你就知道呢,这个public呢,诶可以来修饰一个类。啊,但是这块有个要求说呢,我们这呢,在一个原文件当中可以写多个类,但是呢,最多只能有一个类声明为public,那最多有一个给谁呀,是随便可以给吗?对,其实不是的,比如说啊,我们看着这个person你觉得挺顺眼的,你给他来了一个public。
06:09
诶写上了,写上以后这时候呢,我们去做一个编译,你看看能不能过啊Java c,然后呢,咱们这个文件名叫hello.java回车。你看报错了他的错误信息,说类person呢,你是一个公共的,这个公共指的就是public啊,说你这个类呢是公共的,说你应该定义在p.Java的文件中。啊,他就说你这个公共的,好像言外之意就是说你这个公共的这个类啊,你好像你应该是不是找你这个同名的这个文件呀。哎,这其实就是我们想说的这个知识点啊,什么知识点呢,这个public呢,呃说最多呢,给一个类中,这个文件中只能有一个类,呃加你要加的话呢,也只能是加到跟我们这个文件名一样的类上。
07:03
也就是说你要加也只能加到这。哎,只能加到这,因为呢,我们此时的这个类名和咱们的文件名这不一样吗?对,要加呢,也只能加到和文件名同名的类前面啊,是这样子的啊保存你看这时候我们再测编译,那这就过了。那这就过了啊,诶把这个点呢,我们也说一下啊,说在一个扎va元件中可以声明多个class,但是呢,哎,只能最多有一个类声明为public的啊,而且。啊,而且什么呢,就是呃,要求声明为public的类的类名必须与原文件名相同。哎,这是一个要求啊,要求public的类的类名跟原文件名是相同的。
08:08
啊,实际上啊,实际上大家想实际上呢,是先有这个要求,这个要求有了以后呢,这个要求呢,自然而然的就生成了。哎,这个是实际上是先有的哈,你想想咱们要求呢,说你这个类名必须得跟这个文件名一样,那文件名是不是就一个呀,那你自然的这个类里边是不是也不可能说多于两个,呃,或者说两个以上呢,是public的对吧?啊其实这个呢,有了以后呢,这个呢,自然而然的就能推导出来这样一个结论。嗯,能行是吧,这呢是咱们这个叫,哎,编写的过程啊。啊,那这个编写过程呢,其实我们还可以再来说一说啊,嗯,就是我们这里就提到了这个没方法啊,这个没方法呢,我们这里边描述一下啊说嗯,这个程序的入口啊,是没方法。
09:03
那这个没方法呢,你可以加上括号里下啊,是没方法,它的这个格式呢,是固定的啊,这个大家写的时候呢,一定要小心一点啊,就是这样的去写。嗯,你要非要说说这个语句哪有真的一点都不能变吗?其实也有能变的地儿啊,也有啊,但是非常有限,那都哪能变呀,有同学知道吧,对,这个位置可以变。这叫AGS,它其际上是一个单词的缩写啊,Arguments啊,这个意思呢,叫参数是吧?对,它是这个单词的一个缩写啊,其实呢,这是一个变量名,这个名呢可以变,比如我就叫A了,哎,这是可以的啊,来试试,来注意我这我CTRLS了啊。编译知道吧哈,你看编译运行都是可以通过的啊,哎,没有问题,就是这呢,是可以这样写,还有一个位置可以变。
10:08
对,这个中括L可以变中二呢,你可以放在这儿,放在这个变量的后面,这是可以的啊,CTRLL保存再来编译运行也能过。哎,这是唯一能变的这俩地儿了,算是啊,哎,就是我这给你保留一个吧。哎,CTRLC啊,这个我就放到前边这样啊,哎,中号呢,习惯上呢,我们还是把中号放在前边啊,这个呢,习惯上呢,我们还是叫X。啊,就这样啊呃,但是其他这个位置呢,不能变了啊,必须呢,都按照严格按照这里边儿这个要求来写,所以这个格式是固定的,它是程序的一个入口啊,你要前的其他这个要变了以后,我就找不着这个may就不认为你是入口了啊,这就不行了。好,这是我们说的第三个点,然后第四个点,哎,我们这呢提到了一个叫system.out.print line,哎这呢是一个输出语句,哎这个输出语句呢,咱们当前用的呢是它。
11:16
哎,当前用的是它,那实际上呢,除了它之外呢,还有一个我们比较常用的就是把这个LN呢,注意是LN啊得去掉,哎这两个呢都比较常用。那这两个有什么区别,换换对一个换行,一个不换行来举例子啊,比如这写了一个CTRLC,然后在这啊CTRLS一下,然后我们现在先测一测,两个都是LN的编译运行,哎,就这样。哎,它是什么意思呢?就是先把这一行的数据输出,输出完以后呢,换行,也就说呢,我这个输出完以后,诶换行了,这时候光兵呢就跑这了,然后呢,你下边又输出,哎又输出,输出完以后呢,哎又换行,哎所以你可以看到这块这不是有一行。
12:12
那注意它是先输出后换行啊,先输出后换行,那你想想,如果我要是把这个LN去了。对,看一下编译运行,你看是不是就这样了。他俩还仍然是换行的啊,他俩仍然还换行,它是先输出后换,不是说先换行后输出啊,哎,这个就没了,然后呢,我把这个呢也去掉。对,这时候呢,就连起来了。就是我这个呢,先输出,输出完以后呢,没有换行,那就接着往后写,然后这块也没有换行,所以这块这不都挨着吗。哎,就这个意思啊,这个大家哎能明白就可以了,哎所以它俩的区别呢,就是这个呢,是先输出数据,然后换行这个换行这个呢,就没有换行了啊,这我们说就他是输出数据。
13:15
哎,不换行。啊,换行,你理解成叫回车啊也可以哈,啊有的时候呢,比如我们这写了一个,它可以这样子处理啊,比如system.out.great这样行不行。里边什么也不写,对也可以看,这时候它呢,就是纯粹的就表示是一个对换换行的一个作用啊,你看我们这时候执行啊,编译运行,哎,这边你看刚才呢,连一起了,我这呢在下面专门写了一个换行的,哎,这不也能实现换行的效果。啊,就是这个啊好这个呢,大家也今天啊,尤其刚开始学的同学,把这个要记得住。
14:00
啊,咱们班里有很多是零基础的同学,就刚开始讲课的时候呢,刚开始这呃至少得得一周的时间吧,我会讲的稍微的慢一些的啊,主要呢,是为了迎合这些没有基础的同学,哎后边呢,咱们这个速度呢,就慢慢的就往上提升了啊,就是你慢慢入门以后呢,其实学起来呢,也就会更快一些啊好,这个呢,就是我们关于输出的这两种方式,大家呢,要熟记一下,就是下来呢,你把这个main方法这个还有输出语句这个这个都要记熟啊,多写一写晚上啊这呢是我们说的这个输出语句,然后接着的话呢,我们提到一个点,就是出现异常的时候呢,呃,出现这个bug的时候也说过啊,就是我们每一个执行语句啊,哎,它的这个后面呢,都会有一个分号。啊,每一个执行语句。啊,执行语句末尾啊都有。啊,这个或者说每一个执行语句啊,都以啊这一个分号呢结束啊。
15:03
啊,这个大家要注意一下,那这个呢,我们就不把它看成叫执行语句了啊,实际上这有一个小技巧啊,就是大家呢,你这个代码可能有很多行,你你站到这个位置啊,你可以站到这个位置,你往这边去看啊,你看到的这个代码,假设你都看到都是这个末尾了啊,也就是说这个末尾呢,要么是这个大括号开始的啊,或者是大括号结尾的,要么呢就都是分号。嗯。能理解吧,对啊,就是要么呢,都是这个大括号,这个开始的就是你末尾都是大括号,或者呢,就都得带分号,你看你要丢了,丢了那肯定他就报错了。而且呢,每一个执行语句呢,咱们都是单独的放一行啊,你要说这样写这样写对吗?会报错不执行不会的啊,保存一下编译运行不会保错啊,但是这样写的话呢,是不是可读性差点,所以这样写。
16:02
嗯,啊是这样的啊,包括呢,就是说这样对不。这样对不啊,有同学把这个诶诶这样那也这样行不行,就是有点丑呗,你这看着这多难受啊。这样啊,这个这样不就更好看一些吗。哎,所以写代码的时候呢,养成一个良好的习惯啊,刚开始的时候你按照这个规则走啊就行啊好,这呢是我们说的这个问题啊,这呢,咱们都是处在这个编写的过程当中,这样的一个情况啊,然后接下来我们提到这个叫编译的过程啊,哎,我们把这个编译的过程呢再展开说明说明编译的时候呢,咱们使用的是这个指令,编译完以后呢,会生成资金码文件,那好了,刚才呢,我们说编写的话呢,在一个原文件中可以呢有多个。
17:00
生命多个类。那你说这时候我要是编译以后,咱们说那个自解码文件恰好是类名,那你说这时候会不会有多个字节码文件呀。会的啊,你看啊,这是有三个,嗯,咱们打开咱们这个,其实咱们刚才也编译过了,你发现这里边其实就有了啊,你看animal。哈,这不都有吗?你要说这个这个没看清,没看清,那就重重来一遍,把这个有的你删掉也行是吧,把有的这个第2CLASS你可以这个这个也也删了吧,这个有同学老问啊,说这个bag是什么,这个是跟我这个ID plus有关系,只要我修改代码,它就老有这个东西没没有用,你就忽略掉就行啊啊这个这个我也给他干掉吧。现在呢,咱们去编译这个卡点Java。好,这时候你看啊,我编译。
18:00
来看一个两个三个。啊,因为咱们在这个,哎,我这个文件当中呢,恰好有这样的三个类,所以就会生成三个哎子解法文件啊,所以编译的过程我们说一下说编译以后。呃,编以后呢,我们说会生成啊一个啊或多个哎,自解码文件啊,那么自解码文件的文件名啊与呃,你声明的这个文件中的类名一致啊。哎,直接码文件的文件名与哎,Java原文件中的这个类名相同,哎另外呢,就是说你有几个执行码文件啊,有几个类,那就会有几个执行码文件。啊,就是这样的一个过程啊,哎,那你看我这个PPT在最初做的时候。嗯,写到哪儿了?
19:03
哎,在这块啊,你看我这块制作的时候呢,这块也是放了好几个,呃,原文件呢,就一个,但是呢,是可能生成多个字节码文件的啊,这个大家要注意啊,那多个自解码文件,接下来呢,你要去运行了,运行的话呢,是不是只能是运行那个。包含没方法的那个类啊。你像我们现在这是不是生成了,是不是有三个class,那我我现在我说呀,是不是只能运行它。因为只有他这里边你是不是写这个may了,对这个都没写啊,那你要想运行,你就把这个may也写到这里边,再写一套那就可以了啊。行,这呢是关于咱们讲的这个程序的,就是对我们刚才写的这个hello word这个程序这个过程啊,有细节的进行了一些总结啊,大家下来呢,把这里边出现这些点的话呢,呃,这个再捋顺一遍啊,记一下啊,啊这个我们听一下。
我来说两句