00:00
行,那咱们接着来讲这个,诶扎va酒的这个新特性,诶这呢算是咱们说的第二个特点啊,就关于模块化,这个拈块化的话呢,算是我们扎va酒当中非常重要的一个特性哈,诶后边的话呢,我们都可以考虑将整个我们一方面啊,是我们自己写的工程的不同模块,包括呢,就是Java给我们提供的一些现成的一些library,包括我们也看到你看这个只unit,诶如果我们要想用这个,咱们在这个里边哈,这个只unit我们要想用的话呢,也得需要呢,我们在这去声明一下,诶你要不声明的话呢,这就不能用了。啊,那你要不声明我就不帮你加载了,这个时候呢,使得我们这个模块呢,也相对相对来讲比较轻量级一些,行这个就过了,然后接下来呢,我们看下一个这个新的特性。下个期的特性呢,叫Java的叫re PL工具,这个re PL呢是几个单词的缩写,Read啊,呃,Ivaluate是吧,Evaluate,然后print,还有loop,就是读取,呃,求值打印循环,哎,就是相当于有点像我们说一个for循环一样啊,这样的一个过程啊,具体的话呢,你可能这块什么意思呢,我们来看,像这个Python也好,包括scla这个语言也好,它很早呢就提出来叫re PL这样的工具。
01:12
啊,那这个工具呢,体现是什么呢?就是我们直接可以在命令行的方式呢,呃,去写相应的,比如说pthon代码啊,直接呢在命令行去可以定义这个事儿的话呢,咱们在Java层面呢,以前是不可以的啊,你这块过来以后,比如说咱们现在呢,希望在控制台这块呢,输出一个hello word,就像咱们第一天讲Java一样,那咱们也得是比较重的一种模式啊,你自己呢,去新建一个点va文件,在里边呢,什么一个class啊,写一个main方法,然后里边呢写一个s out啊终于出来了一个hello word了。哎,非常的悲壮是吧,包括呢,你要想计算一个,比如两个变量,说这个M这个变量的值是五,呃,N这个变量的话呢,是七,哎,我想算一下M加七等于几,你想做这个事儿呢,也得去新建一个Java文件啊,新写个main方法定义两个变量,写个c out才出来了,非常的悲壮啊,那现在呢,我们说Java呢,有没有说像这个skyla语言或者说Python语言一样直接呢?我们在命令行就可以做一些变量的定义。
02:17
方法的定义,诶方法的执行这样一些功能呢,诶在我们JAVA9当中加进来了,就是这个叫re PR工具这个命令呢,用的叫gel。啊,这这SH这个命令啊,你可以看一下啊,找到我们的这个,诶JDK,嗯,JDK找这个Java,然后呢,我们先找一下这个,呃,先找一下这个九吧,先看九里边哈,在这个B目录下,大家往下找,你会找到一个叫做j shell这样的一个命令。啊,这这这就是是吧,哎,这是我们这个JAVA9当中,我们可以就像java.exe Java c.ex一样,通过G啊,然后shell这样的方式呢,来调用这样一个指令,那你去看我们这个八里边啊,这个并目录像啊,你去找我们这个啊叫j shell啊这个在这个附近,那这个就没有啊说明呢,是我们这个九提供的啊,同样呢,你去十十一当中去找也能找到,哎,相当于后边呢,就一直呢支持,那我们这儿呢,有什么用啊,这呢,你看我起了一个命令行了,起完以后呢,这是我首先输入呢,叫做JSHE。
03:21
这呢首次启动需要稍微等一点时间,哎,我们就进入了啊,这就一个jelll这个命令,那这个jelll这个情况下呢,我们就可以像Python或者scalela一样啊,直接呢在这里边去定义变量,直接呢去做一些数据的输出啊,比如说最简单的你可以直接呢,我在这写一个哎system.out点哎做一个print line这个我们写一个hello word。哎,这样的方式,这个分号的话呢,加也行,不加也行,我不加的话呢,也能够识别出来。就hard word这个意义呢,其实很大,哎,我们不需要再去定一个类啊,真正定一个文件,文件里定一个类,写个main方法,然后写个输出语句了,直接呢,我们这样方式就可以写,包括呢,你看我们定义个变量啊,我叫M是十啊,分号一下,然后回车啊,然后印这个变量N呢是20啊回车,然后呢,哎,我接着呢,比如说直接呢,我就in特一个K吧,等于M加上N上面这个变量呢,我们也可以用啊回车啊,这个呢,它显示这个K是30,你也可以呢,自己去输出一下。
04:21
哎,system.out点,哎,Print LA,哎这个里边对这个得先写它啊,哎,先写这个K分号一下,哎,这就是30直接呢可以在这里边去做变量的定义和基本的运算,也可以在这呢定义方法,比如我写一个public,我这呢写一个int型叫艾int一个M,逗号int一个N,然后在这里边我们去return一下M加上N分号一下,这样。诶,这个最后这个可以不用讲了,是吧?啊说这个嗯,非法的呃,Return啊最后这个呢,我们是一个大括号,应该是是吧,我这写成一个小括号了啊整个大括号哎。
05:03
这就定义好了,这呢,现在我就定义好一个爱的方法。啊,这个呢,没有类的概念,直接呢就定义那个方法了,那定义外的方法呢,我们就可以去调一下啊,我特一个啊,比如我们这个叫I等于I的方法里边呢,写一个20,写一个30,哎这样方式这个I呢,就算是50。那就直接可以来定义一个方法了,说能不能定义一个类啊。也可以啊,直接在这就定一个类,比如我们class,哎,我写个A啊,你要是你看我刚才写这个方法写到一行了,这个可读性呢,稍微差一点,或者说我这个方法的方法体要比较丰富的话呢,写一行太长了,你也可以呢,岔开写,比如我这个大括号回车一下。啊,然后接下来我定义一个M呢,是一个它的属性啊十,我再in一个N是一个20,再回车定义一个方法啊比如我们叫miniins,哎,我们这个定义一个嗯,I定一个接接这这是小括号,一个大括号,然后回车一下,哎里边我们去怎么着啊,就return一下这个I减去接分号一下,哎,把我们这个方法的大括号呢补充上,然后呢,整个这个类呢就结束了,哎,大括号呢封住。
06:16
啊,这呢,我写成个Y了是吧,那写成Y对那这个呢就不对了,这个你得有一个返回值才行啊,那这呢,相当于咱们得重新的再去,这得重新定义了是吧,当然也有一种方式啊,哎,当然那怎么办呢?你看我这个help啊,正好呢,我们说一下这个事儿也行,哎,我通过这个呢,哎叫ho。这有帮助呗,这个帮助里边呢,它有一个呢叫edit。嗯,Edit是吧,就编辑的意思啊,你看我这时点一下叫I,哎,此时呢,会掉出来一个这个窗口,这个窗口当中呢,就显示了我们这个刚才定义的这些结构啊,当然这里边我们试图想去改这个A,发现呢没有是吧。
07:00
啊,因为这个A这个A这个类我们定的时候定义错了啊,他在这没有给我们显示,没显示就算了,那只能在这去献血了,白说了是吧?哎,然后呢,一个类A,哎再进来啊,这个又是一个M等于十啊这个我就快点写了啊N呢是一个20,哎,Public这个我写个反问值了啊min啊一个I in特一个接。哎,然后呢,一个小括号,一个大括号,哎在这里边我return一下,哎,减去一个接,哎,然后这样封起来,然后这个类呢,这个括号封起来,这就创建来类了。啊,创建完了以后啊,我A小A等于你又一个,哎这不造了个对象嘛,哎,这呢还打印出这个对象的地值了,然后我通这个A的话呢,咱们去调这个叫ain这个方法,传一个20传一个五,哎这不就掉这一个方法了嘛,哎结果呢,就是20减五不就是15嘛。哎,你看还是挺方便的啊,也就是呢,我们如果说哎做一些变量的定义啊,呃,基本的一些方法的执行啊,这个时候呢,你直接可以使用我们这叫g shell这样的命令,哎就可以了啊哎非常的方便,那么这里边的话呢,我们这是刚才演示一下基本的一个操作啊,那还有哪些功能呢?哎,这个我们看下后边这啊,诶这块提到一个帮助,其实我们刚才也用了啊,就是一个help啊,哎后边这个呢,其实就是一个说明了,这个我就不多说了,然后接下来,哎接下来呢,我们这里边提到说导入的这个包的一个情况啊,我们这有一个指令。
08:27
啊,还是我们看这个叫help啊,在这里边儿呢,有个叫import。啊,Import我们知道叫导入的意思,相当于我们查看一下默认有哪些结构呢,导进来了,哎,你就IMPORT4这样呗,加不加这个符号都可以啊。不能加是吧,就是你写这个语句的时候可以加上啊,这个查这个命令的话就不要加了,然后在这里边呢,你会看到它默认呢,已经将这么多包导进来了,比如说里边呢,有我们这个YouTube,那有U的话呢,言示意我们这呢直接你就可以去了,哎,比如说你加上泛型就是这样写啊,你有一个。
09:09
哎,A release,哎这么着,这是一个分号啊好,这不是相当于我们就造了一个这个这个a release,那这时候呢,没有提示说你没有导包,是因为呢,这里边已经有这个YouTube了,那就这些呢,常用的都已经有了啊行,这是这个事,然后这块呢,有一个tips啊,就是一个小的建议,说呢,在这jel这个环境下呢,这个我们执行语句的这个分号啊,说是可以省略掉的执行语句啊,可以省略掉,但是呢,呃,建议大家还是加上提高这个代码的一个可读性啊,这就完了啊,然后还有哪些呢?你还接着看我们这个叫help。Help的话呢,再往上走,它有这个啊,比如说这个叫va va呢就variable的意思啊,就是我们看一下定义过的这些变量,还有呢,比如说这个叫list啊,你看这个list出来是什么,还有这个叫methods啊,你看出来什么啊,首先挂是吧?哎,这个呢,能呈现出来的就是我们从开启这个GSHE开始,到目前为止,当然前提是正确的情况啊,你要刚才我们定义那个A类A,你要定义错了,它其实没有这个执行成功啊,只要你定义是正确的,我们看一下到目前为止你定义过哪些变量,哎,这就是这个叫vas啊,然后呢,还有一个叫methods是吧,那你看你定义用哪些方法。
10:28
啊,这个,然后还有一个呢,叫叫什么叫list还是叫list呢。List没有这个S对吧,那这个时候回车一下。就是整个到目前为止,我们定义的这个数据的一个列表,就是都列出来了。哎,就这样的情况就方便呢,你去一个查看啊,哎刚才呢,咱们一开始不也说了一个叫杠edit嘛,哎我们回车一下,哎,你就调出来这样一个编辑框,比如这个编辑框里边,像这个miniins,这不是一个做茧嘛,做简里边呢,比如说我们想给它再加点东西。
11:03
哎,这呢,我们想给他来一个这个输出。哎,比如输出一下我们这个I,哎,然后这个冒号,哎,加上这个接啊好这呢我们加了一个输出语句,相当于对有的这个结构呢做了一个修改,那你这块呢,来一个叫accept。啊accept,然后点下这ex,这不相当于叫修改了类A了,那修改以后呢,比如我们这个A啊,我再定义一个这个小B,诶new一个A,那这呢,相当于我们就定义了个B的对象啊,这时候你再调这个叫mins。诶,然后呢,我们写一个20写一个诶四回车,诶你看这里边呢,我们相当于mini的是我们修改以后的一个方法。哎,修改以后的这个方法啊,行这呢就是我们可以做一个修改,包括什么呢?包括你看我们上边啊,刚才咱们L呢叫一个list了,我们呢,现在定义过这样的一些变量,比如我定义过M是十了,那你说我现在还能不能再去定义个M。
12:00
啊,我改成是30能不能行呢。哎,要是在我们Java里边呢,你要上面定过,下面再定义透明,是不是就不行了,哎,但这时候你发现是可以的。它相当于对原来的这个值呢,进行了一个覆盖啊,那此时呢,我们去做一个输出。哎,我们输出一下这个M啊,它就变成30了,哎,包括谁呢?包括咱们这不是刚才也定义过一个方法啊。这个方法呢,我们叫爱的方法,计算一下它俩的和,那你看我现在试图呢,能不能再写一个啊,Public int型的,当然方法名得一样啊。啊,In那个N,这还是跟咱们刚才定义这个方法,前面这个声明都保持一致,然后在这里边呢,哎,比如说这块呢,咱们就简单来说哈,我就把这个加法变成个乘法了。这个注意咱们得是个大括号是吧,哎,大括号啊,我把这个加法变成个乘法了,然后做个回车,这时候呢,你说可不可以呢。可以。当然这个呢写错了,前面这块呢是缺一个。在这缺一个分号这个执行语句嘛,是吧。
13:04
就是里边呢,这不这个return缺个分号是吧,哎,外边这个的话呢,就是可写可不写的,就是咱们刚才这块提到的建议,大家呢,不是写上嘛。这样的啊,然后回车这样呢,我们就把刚才那个爱的方法呢,就给覆盖了。啊,就是你后边呢,要定义的这个方法也好,变量也好,可以覆盖之前存在的啊,那覆盖以后,此时呢,我们再去调一下这个爱的方法,我这写一个三,哎,我这呢写一个哎,逗号写一个九吧,哎,之前呢是加法,你看现在我们执行这个分号呢,就是说可以省嘛,哎,那就成了27了,哎,就这样个情况。行呃,基本上我们就把这个里边这个点呢,就给大家都说了,说了啊说了一下,然后这块呢,还提到一个这个说我们可以这个有一个tab的一个提示操作,那这个咱们在写在这个idea也好,Eclipse也好,咱们不都有那个al斜杠。啊,或者这个al enter来做相应的一些提示啊,在我们这也可以,比如说你写这个system,写着写着,哎,忘了后边system咋写了。
14:06
点一下这个tab键。这不就给你补全了吗?然后out AO后边OUT忘了提示一下是吧?哎,点一下这个PPR,然后再太不键,这会儿呢,它会提示出来,凡是以PR开头的有好几个呢,你看你想用哪个啊,我想用这个叫LN的,哎这样的一个情况,哎,输出一个123这样情况,哎,这一个tab还有一个提示挺好啊行,查看一下这个代码片段list讲了,查看这个变量was,查看这个方法methods这也说了,这个edit呢,咱们刚才也讲过了啊,这再说一个点。嗯,再说一点这块呢,我们还可以调一个叫杠open,杠open的话呢,你还可以直接呢,让他去执行一个这个文件啊,执行一个文件,比如说呢,呃,在这里边我放了一个hello word。哎,但是你注意这个hard word里边呢,其实也是就是定义了俩方法,没有这个类的这个结构啊,那现在呢,这是一个Java文件,这个Java文件的话呢,我也想让他呢执行一下,你把这个路径我先CTRLC一下啊在这块在这块怎么执行呢?杠要open,然后呢空格一下啊粘贴这个地址,然后下边咱们有一个叫点Java,就是我们这个文件。
15:25
行,然后呢回车,哎,这时候你看我们就输出了。哎,马上建国70周年啊,祝祖国母亲生日快乐是吧?啊,因为这里边儿我们定义了一个方法,下边让那方法就执行了。诶,不用再考虑前面按用对象调啊,这样不用了,其实就更像更像是一个命令行的一种执行方式了啊,这就是re PL。行啊,这个前几天呢,在网上看了一个帖子,就说这个说这个北京欢迎您是吧,怎么欢迎呢,说现在是三月份,三月份现在开两会呢,基本上你过来北京的话呢,这就会受限了啊,其实大家如果坐地铁你会发现现在查的还是比较紧的,哎,三月份的话呢,刚这个开完以后呢,四月份好像又要开这个这个什么一带一路了,四月份要又有会啊,这个又得卡的紧一点,五月份的话呢,说有一个什么这个这个中非什么合作论坛啥的哈,呃,然后之后呢,又一个一带一路可能第二期的哈,啊一直呢就到九月份了,然后十月份国庆啊,查的更紧是吧,那到十月份终于可以了,十月份说外地开始限牌了哈。
16:31
哎,十月份的话呢,有车的人可能知道啊,对,就是之前呢,北京这不是说你可以有外地车牌啊,你要在北京呢,得办这个经营证,对经营证呢,其实没有限制,就是你你这个七天到期了,你就续或者再重办就可以了,没有次数限制,从今年十月份开始呢,说一年只能12次啊,一次七天是吧,就是跟这个女性的生理蒸汽正好是对应是吧?啊就是次数有点少了啊,就说你只能是来北京12次啊,就这种啊,就相当于这个北京现在卡的确实还是比较紧的啊。
17:08
哎,要越来越凸显它的这个首都的特性是吧,天朝的特性啊,哎,行,这个呢,就是我们可以直接通过杠open的方式呢,调某一个,诶这个文件了啊这样一个情况成这个呢就过了,然后再接着说没有受检异常,哎这儿呢想说明什么问题呢?你看咱们先回到这个idea这层面啊,哎,咱们这里边啊,这是测试其他的,那我们这块呢,再写一个。嗯,写一个class吧,这是咱们关于这个叫JAVA9的,哎,这个特性的一个测试,哎,我就先暂时这样写了,诶在这里边呢,我们写一个单词方法。诶这样子啊,这个前面呢,我们讲这个网络编程呢,讲过这个URL,诶你用一个URL,诶在这里边呢,诶我们就写这个具体的这个URL这个地址了啊首先呢,涉及到这个叫协议了啊,然后直接呢,我们就对应这个地址IP哈,直接我就挨在硅谷通过域名的方式啊,这样访问这样的资源啊来这里边的话呢,你看它其实有个异常。
18:11
啊,然后al enter一下,此时呢,我们就做一个try catch,就是这个呢,语句本身呢,它会抛异常,包括呢,我们造好多这个I物流的时候也是如此,那同样的这样一条语句,我们在这个啊,这个命令行通过g shell的方式呢,要去声明,那会不会有问题呢?诶,首先的话呢,不用你导包了,我们上面看到这里边儿呢,其实导过这个网络这个包。这就往上找了这个直径,你在这重新再去写一下也行啊杠。Imports是吧,哎,这里边呢,这个net已经导进来了,哎导进来,所以你就可以直接呢去声明了啊又一个URL,哎,这里边HTTP啊。诶硅谷第2COM,诶这样方式啊,你看我们直接就定义好了,它并没有在这呢,说抛一个你没有处理这个异常啊,这就相当于我们这个,哎这shell这个工具呢,它直接呢,就帮我们把这个异常呢给隐藏掉了。
19:09
啊,是这样一个情况啊,好,最后一个呢,就是一个再见了是吧?啊这时候你说我写一个ex的。哎,这个时候它出不去啊,哎,这个呢,我们在这里边呢,必须用这个一个斜杠表示啊杠斜杠啊一个斜杠ex,这时候呢是一个再见,它是个中文版的是吧?行这呢就推出我们这个C盘这个目录下了,这呢就是我们说的这叫g shell这样一个工具啊,应该说呢,是对我们Java这个执行的一个非常有利的补充啊,是比较好的一个工具啊。
我来说两句