00:00
好,那么硬件说完之后呢,我们来看一看计算机的一个灵魂啊,这个叫软件了,如果只有硬件,那就是一堆机器。它必须呢,得安装相应的软件啊,才能够让它的整个性能呢展现出来,那这呢,什么叫软件呢,这有个概念啊,或者换句话说啊,大家呢,过年回家了以后啊,家里问说干什么的,你说我是软件开发工程师。啊,这个你大姨问一句。搞软件的是干什么的呀?什么是软件啊?这个怎么给解释啊。诶,你要这样解释的话呢,他估计也就懵了是吧?啊说软件呢,是一系列按照特定顺序组织的计算机数据和指令的集合。嗯。估计就不想跟你说话了是吧。啊诶诶,你说软件呢,就是好比是啊,你开的那个安卓端的那个APP一样是吧,那个可能就清晰多了哈。好,那么我们来看一看这个相对来说官方的一个这个这个定义哈,按照特定顺序组织的啊,这就涉及到咱们写这个代码里边一定是有逻辑的。
01:04
啊,先怎么着再怎么着后怎么着,这就逻辑。啊,这个呢,是用到了大家以前啊多年学习的数学呀,物理呀,化学呀是吧?啊当然文科也一样啊,啊不管文科理科都是有逻辑在里边的啊那个训练大家是对这呢是有帮助的。然后计算机数据和指令的几何啊,然后提到这两个词呢,诶这呢,我就引出来了一个公式,这个公式呢是诶pasco之父叫尼克拉斯沃斯说的一句话啊,他说什么呢?说程序啊,它就等于。数据结构加。算法。对,这个公式呢,可能很多同学也听说过哈,然后这个沃斯的话,诶说了这句话之后呢,后来就拿那个图灵奖了啊。这这句话呢,当然很重要,但是他应该也不是因为说了这句话就拿奖了哈,诶我们根据这句话呢来剖析这儿啊说呢软件呢是软件,其实就我们所谓的程序呗,哎,它是计算机数据和指定集合,这个数据呢,实际上呢,我们扩展的话呢,就好比是数据结构啊,涉及到比如咱们定义的变量啊,以及这些变量在底层怎么进行有效的组织,这就是数据结构,然后这个算法呢,就是有了变量以后啊,你怎么去让他们相互之间做加减乘除啊,还是做其他运算呀等等的组织起来完成特定的功能,这个呢,我们可以理解成叫指令。
02:18
诶,可以这样简单的哈,去做一个匹配啊就可以了。好,那么对于软件来讲呢,我们说又分成叫系统软件和应用软件。哎,这个熟悉一下啊,什么叫系统软件,说白了就是操作系统。啊,咱们先有一层硬件,在硬件基础之上呢,我们去搭建这个操作系统,常见的操作系统,这个大家应该。哪个部首啊?你就这个是吧。第二步熟啊,这个呢是苹果本。啊,用苹果本的同学呢,这个就是Mac的操作系统啊,Windows这个都不要熟了啊,现在好多同学都用WINDOW11了,OK啊,这个是Linux。包括还有这个unix啊,呃,这个呢,我们后边讲课的时候呢,这不也会去讲嘛,不管是Java的同学还是大数据的同学都会去讲,因为我们整个的项目呢,在企业端我们都得部署到啊那个Linux操作系统上啊,这是一个主流啊,啊这个都比较熟了啊,移动的这个操作系统啊。
03:13
好,这个呢叫系统软件,光有系统软件不行,咱们作为一个普通用户,平时接触的其实都是应用软件。啊,你玩一个微信呐,诶网易云音乐啊,这都是应用软件,它是构建在相应的系统软件上的。而且呢,这些软件呢,有的还不兼容是吧,你比如说你是Mac版开发的一个微信,你想把同样的软件你放到window上就装不上。哎,那就说明了,就是咱们有这样的三层哈,硬件,诶操作系统上面呢,是一个一个的应用软件,应用软件呢,它是跑在具体的操作系统上的,操作系统的底层还有内核,再去调用底层的这些硬件啊,去完成你相应的一些功能。哎,有这样的概念。啊,那对于咱们国家来讲,目前的这个软件的大环境哈,诶做应用软件的人才一点都不缺。
04:04
咱们也是做应用软件的是吧?啊,这个不缺啊,这个可以通过短期的培训出来去做这个,但是你要说做这个操作系统级别的这个人才是比较少的。而且咱们国家都喊了很多年,说我们要有自己的操作系统。呃,这个现在国家对华为的这个鸿蒙还是比较重视的,因为我们也算是中医有自己的。啊,一些操作系统啊,其他的当然也有啊,好多都是基于开源的啊,像lix这个内核来构建的一些啊操作系统啊,当然操作系统呢,其实编写是一方面,另外一方面就是你得有生态是吧。啊,这个闲聊两句啊,你比如说像这个微软,微软其实它在移动端上也有一个操作系统叫Windows phone。但是大家大部分人都没听说过,因为呢,他很快就死掉了。啊,你像微软这么大的这个公司,它在移动端呢,竟然没有一套自己的操作系统。实际上是有的,但是因为有了系统以后呢,上面的应用太少了,所以没有人愿意去买Windows phone的手机,自然而然的它就死掉了啊,对于咱们国家也是一样啊,你有操作系统不行,你上面的应用软件呢,不兼容。
05:10
那我为什么要选择这个操作系统呢?哎,这就是他尴尬之处啊,好,这个还需要很长的路呢去走啊,OK,这个呢,就是我们说的,呃,系统软件,应用软件这样的概念,那么下一个概念呢,这个软件呢,写好以后我们怎么去使用这个软件啊,这就涉及到叫人机交互了。怎么用?主体的话呢,就两种方式,一种方式呢,叫图形化界面的方式。啊,这种方式呢,比较简单直观啊,易于被使用者呢接受啊,这个图形化界面呢,用这个英文呢,就是叫GUI。啊,三个单词的首字母的缩写啊,诶说白了就是大家平时用,呃,就比如说像安卓手机啊,苹果手机啊,你就是点点点点点就行。呃,为什么这个老人或者小孩都会用这个智能手机呢?因为很方便哈,就都是图形化界面的方式。啊,你想我家的这个。
06:01
我家这闺女啊,四岁了,你发现玩手机玩的也挺溜是吧?呃,就是你不需要刻意的去教他,他就觉得应该这样的点,他敢于去尝试,你发现呢,他就慢慢就会了。啊,其实换过来大家学编程也是一样,你别畏手畏脚,你说啊,我这样写不行,这样写能不能出错呢,你就大胆的去写,不怕出错啊,你出的越多呢,其实你学的越快,嗯,对。然后呢,第二种方式呢,叫命令行的方式,这个缩写呢叫C,呃,需要呢,我们在控制台呢,编写输入特定的一些指令,让计算机呢去完成一些操作。啊,那他的这个弊端呢,就是比较麻烦,你得需要大脑当中去记忆是吧。啊,我这儿放了一张像黑客的这样一张图。或者大家呢,也看过相应的一些这个电影是吧。你看那个叫什么,那个那个刘,刘慈欣的那个电影叫什么地球来着。流啊流浪地球,诶流浪地球好像是不是里边也有类似的这个场景,就是你看那个世界末日要来了,或者人类要要要灭亡了,然后关键时刻那个人就出现了,然后电脑上咔咔一顿操作是吧,然后一个回车。
07:06
拯救了人类是吧?啊,你像它里边呢,一般呢,显得高大上一点,都是写的那个命令行的方式是吧,咔咔一顿敲是吧?OK啊诶这个呢,就是我们也是要给计算机发出一些指令,不是通过界面呢去点点点啊就完事儿了啊那实际上的话呢,我们界面上点点点的这种方式呢,其实底层也是相关的一些。命令行的一些指令。只不过呢,我们是通过这种方,诶这种把它给它做了一个集成,方便呢,普通的用户他不懂指令,他也能够去实现。但是对于咱们开发人员来讲哈,必要的一些指令咱们是需要学习的,以后呢,我们不是说还要学习这个Linux吗?Linux里边也有很多的指令。啊需要去学习,那么对于咱们刚开始学习Java的同学来讲呢,咱们也有必要呢,掌握几个基本的指令啊,这就涉及到咱们下边这个啊叫DOS命令了。哎,这块就需要咱们来操作一下了啊,我先讲,然后咱们来操作。
08:01
首先的话呢,这个DOS命令DOS是什么。DOS啊,其实它是一个操作系统。啊,就是这个单词的缩写是吧?哎,磁盘操作系统它呢,是这个微软开发的啊叫DOS操作系统,是在Windows之前,诶开发的这样的一个操作系统,他把这个操作系统还卖给这个IBM了,啊卖了不少钱,也正因为这个呢,比尔盖茨呢,就发家就起来了。啊,这个大家一提到比尔盖茨觉得很牛是吧?呃,本身呢,这个人确实也很牛,但是另外一方面呢,其实他的家庭背景也挺好的。对,他要不呢,作为一个小屌丝是吧,你看起个公司名。微软。那又小又软是吧。起个名都这么不自信啊。他能把他自己的一个操作系统卖给当时的巨无霸IBM,是因为他妈和IBM呢,呃,那个董事他妈也是董事都认识。是吧,你要没有这层关系呢,你说你技术再强那。那咋行呢,是吧,啊包括大家你也可以去了解了解马化腾。
09:04
是吧,嗯,了解了解马云是吧,马云呢,为什么他那个公司里边那个好多人都起那个名,都是金庸的那个小说里的呢。啊,马云的家族跟金庸的家族关系其实还挺深的,是吧?哎,都是在最初始的时候,其实是需要借助一些外力的啊,但是本身呢,他们能力其实也是OK的啊。好,那么这呢是一个操作系统啊,它是叫单用户单任务的一个操作系统啊,单任务啥呢?就是同一个时间呢,你只能执行一个任务。啊,它不是图形化界面的啊,就需要呢通过指令去做编写的啊,那现在的话呢,显然已经被Windows所取代了,所以大家呢,可能也没有听说过这个DOS了,但是呢,在这个Windows操作系统里边,它集成了这个DOS的这样的一个简易的一个界面啊,诶比如说我们通过这个键盘的呃,Windows键加上这个二,大家就可以调出来这样一个命令行窗口啊,你输入CMD就能调取到这个DOS的这样的一个界面,诶我这块呢,就操作一下我的电脑,大家呢也可以操作自己的电脑啊。
10:01
诶自己呢,输入这个CMD,其实呢,是这个单词的一个缩写了啊一回车。诶,就出来这样的一个黑框啊,这个呢,呃,你可以理解成就像我们DOS环境下的这样的一个界面。诶,那么在这里边我们编写的显然都是一些指令了啊好,那么默认的情况下呢,它呈现的是当前啊C盘的用户下这儿呢,是我哎自己这个用户,他的一个名字。啊,大家那块呢,有自己的电脑的用户的名字,好,那么接下来的话呢,我们给大家呢,讲解几个常见的这个指令,我呢先来操作,然后大家的话呢,你想同步也行,或者一会儿呢,给大家点时间呢,也练一练啊。好,那么我们提到了说,呃,跟计算机做交互呢,有两种方式,一种呢叫做命令行的方式,另外一种呢,叫做图形化界面的方式,呃,你像我现在啊,我双击啊鼠标啊,点这块呢,就是通话界面方式,然后我再双击,诶我就进到这儿了。这呢是图形化界面的方式来操作的,那我们看这个使用命令行的方式怎么来做啊。现在的话呢,它是在这个路径下,我想切换到这个地盘下。
11:02
哎,非常简单,我就D冒号。来注意是这个英文格式下的啊。哎,地冒号,我一回车。诶,你看这时候我就切换到这个D盘下了。然后在这个D盘下的这个路径呢,我输入一个叫DR2啊,其实它的全称呢,叫做directory,有目录的意思啊。对,我输这个第二呢一回车。哎,这块呢,呈现出来的这样的一些目录结构,就跟咱们这儿呢是一样的。诶,就跟这儿是一样的好,诶,那么我们接下来呢,这几天的学习当中啊,咱们需要呢,去编译和运行咱们的Java程序,咱们就需要呢,在这个命令行的窗口中呢去操作,那么有几个简单的指令呢,是需要大家掌握的啊,下边我们来讲解一下啊,首先的话呢,我们来讲解一下就是如何呢去创建相关的一些目录啊。诶创建相相关的一些目录,比如说诶你看我在这个地盘下呢,通过图形化界面的方式,我右键这儿呢,有一个新建这呢有一个文件夹啊,这个文件夹里边呢,我就可以做一个,呃这个编写,比如说我就写个叫CMD了啊好,我做一个回撤。
12:05
好,这呢是我通过图形化界面的方式呢,来做的这个编写哈,然后我们看看使用这个命令行的方式呢,诶怎么做类似的这个操作。那么类似这个操作的话呢,我们可以呢,使用这个指令呢,叫MD。M呢就是make的意思啊,D呢叫directory是吧?诶,那么简称的话呢,叫MD,然后MD呢,接着来个空格,比如我叫CMD。来来,我们做个回撤。好,这时候大家你会发现呢,咱们这就生成了一个CMD1。诶,这呢,就是使用命令行的方式来做的。是不是感觉比这个通话界面方式要酷一些啊?是吧,好,然后呢,你看啊,这块生成以后呢,我现在呢,呃,通过通话界面的方式,你双击这就进去了,那我通过命令行的方式,怎么进入到CMD这样的一个文件目录呢。啊,CD。啊,空格一下,我叫CD呢,是这个目录名。
13:03
你看我现在就进到这儿了。哎,进到这以后呢,我也可以第二啊,这里边儿你看是一个相应来讲一个空的目录。啊,那对应的就是这样一个场景,好,那么在这个目录下呢,我们再去创建几个啊文件夹啊,这个我们用的是MD是吧,这个我们就叫CLASS1。CLASS2。三。哎,没问题。哎,创建好了,好,这呢也能呈现出来,接着的话呢,我再CD一下CLASS1。这样的话呢,我们就相当于进入到这个目录下了。哎,就在这儿啊,然后这个你第二下显然里边也是没有东西的。行,那么刚才呢,我们讲了两个指令,第一个呢,就是创建文件目录,第二呢叫指进入啊,指定的目录啊,我就进到这儿了,我在这个里边呢,我再来一个啊,我叫个题目一吧。题目二。题目三。啊,这个也很清楚,好,我再进入到这个目录里边,比如说进入这个叫题目一。
14:00
啊,这个我们刚才都讲过了啊,好,我现在就进到这儿了。啊,进到这儿了,行,那么进到这儿啊,我现在呢,想做下一个需求,我想出去。诶,我想出去啊,出去,出去到哪儿呢?我想回到CLASS1这个目录下。哎,这个咱们用的叫CD。俩点儿。哎,CD点点,你看我一回车,哎,我就回去到它的上一层目录了,哎,我再CD点点,哎又上一层,再CD点点又上一层,哎,再CD点点呢。到头了是吧。哎,就这样啊,所以呢,诶CD每点点一次,我们就相当于回到上一层目录,哎,就是一层层呢就出来了。好,出来了,我现在又想进去。我就想进到这个T一下。啊,那咱们刚才讲过了是吧,哎,你可以呢,呃,CMD啊,就是这样写一下就进去了,说你这样再去一层一层的进,有点慢,我能不能一步到位呢。可以啊,哎,哪怕说你这块呢,在这个D盘下都行啊CD啊,你写上CMD下的class一下的T1这个你别写错了啊。
15:07
你要写错的话呢,这个就找不着了是吧,诶这个呢叫T1,然后呢,我们再回车一下,诶我就一步到位直接就进来了。哎,注意啊,我们进去的话呢,叫CD啊,你这个呢,写一层那就进一层,写多层那就进多层。我现在能进来了。哎,出去呢,刚才也说了,就点点啊,我能不能一步到位啊,到地盘的这个根目录下。哎,CD。斜杠。哎,用这个斜杠也行,这个斜杠也行。啊,一个叫斜杠,一个叫反斜杠,这个你就。就不用刻意的去记说哪个叫斜杠哪个叫反斜杠了啊,就这两个都可以好,你看我回车一下。哎,直接呢,就回到这个D盘下了。啊,小结一下啊,刚才呢,我们说的这个事儿,诶这块呢,假设啊,我们现在文件目录已经有了,咱们讲了一下怎么一层一层的进。怎么呢,一步到位的进。
16:03
啊,然后呢,怎么出来一个滴滴点点,怎么呢,一步到位呢全出来。啊,CD斜杠。啊,就是大家呢,需要掌握的就是我得能进到指定的目录下,我还得能出来指定的目录,这是一组操作。好,第二组操作呢,诶,我们刚才还讲了一个叫MD。哎,我能够创建文件目录。下一个跟它对应的。诶,怎么删除。对,怎么删除文件目录好删除呢?我们叫RD。二呢,叫。删除的意思,移除是吧,好RD,嗯,你注意啊,你看我现在是在这个D盘下的是吧。地盘下这块我的话呢,你只能remove地盘下的这些目录。啊,这个不行,我现在呢,我想删除这个,比如叫题目。题目一吧。哎,我想把T目一删掉,那你首先呢,你得到相应的T目一所的,诶这个上层的这个目录这块啊,比如我这个CD啊,我就进入这个叫CMD啊class一下的,诶就到CLASS1这就行是吧,然后这是我第二下。
17:07
诶,你发现呢,此时呢,在这个诶CLASS1的这个目录下呢,有三个文件目录,这三个目录呢,诶我就RD一下,诶七目一啊一回车。啊,这时候你再DR一下,哎,你发现呢,我们这个听力呢就没有了啊,你可以在这呢看一下也行。啊,确实呢,我们就把它呢给删掉了。好,这个ID呢,就是删除文件目录的意思,当然这里边在删除的话呢,有个要求啊,什么要求呢,我们再换一个来说,比如说这个T2,这个T2呢,里边假设有东西。假如有的东西是啥呢?我们先来个文件目录吧。我来个ABC。好这个文件目录啊,然后呢,还回到这儿,诶,那你说我现在能把题目二删了吗。RD题目二是吧,好,回车一下。他说不行。诶,就是你这个文件目录里边,如果要有内容的话呢,是删不了这个内容啊,可能是一个文件目录。
18:02
啊,我把他俩删了,也可能是一个文件。啊,比如叫1.tt。啊,我多整几个啊2.t。啊,再来一个吧,哎,三点哎T啊,再换一个。啊,一点这个。诶,我还写上面这个指令,这个时候呢,大家你就不用去现敲了,这个有方向键嘛,啊,你点这个方向键的上下,可以调出你之前的这些指令。好,我这时候再回车。哎,也不行啊。哎,也不能删啊,那么这个文件文件的这个删除呢?呃,你比如说现在啊,不让删是因为里边有文件哈,那这个文件的删除呢,这个不需要大家掌握了。啊,不需要大家掌握,但是你说我也想了解一下,那也行,比如我们现在先CD啊,先进到咱们这个T2下,然后我们D下,这不有这样的几个文件吗?这几个文件呢,要删你可以通过图形话界面删,或者说你说我就想命令怎么删。
19:01
DL是吧?比我上下这个1.t。那你删了啊啊,你也可以呢,叫Del,诶我们叫星点TT。什么意思啊?对,凡是1.tg结尾的就全删了,诶所以你看我这时候再回车。那这俩就没了是吧,好接着你在D把一点啊do cx啊,比如我这块我写错了啊ECX啊这时候说不是吧,啊这个也容易理解啊好这个呢,通过我们的这个方案键的组合用呢,你可以调取到前边,比如我要增加的呀,或者要修改的呀,啊去操作就行啊,然后我们再回车。这就删掉了,删掉以后呢,你在CD点点一下,这不又回到我们上一层这了吗?啊,那么此时呢,你再去RD一下啊T2。哎,这不就删了吗。诶就可以了,好,那么我们要给大家讲的呢,其实也就说完了,好回过来稍微的小结一下啊,诶第二啊,我们怎么能够进去,怎么能够出来啊,以及呢,我们如何去创建文件目录啊,怎么去删除文件目录。
20:05
删除文件呢,DL大家不需要掌握了,就然后以及呢,我们呃,下边有这样的几个操作啊,主要就是方这块删除是吧,然后这个呢,是清屏的操作。啊,在这块呢,如果我点这个crs呢,我一回车就全清屏了。啊,我就暂时就先不点了,我把上面这几个指令呢,也给大家截示图,然后大家呢,呃,现在呢,稍微的也可以练一下这几个操作。
我来说两句