我刚开始学习Java的时候,很长一段时间都有这么个疑惑?
Java到底是啥?它能干什么?
自己也看过不少的课程和书,大部分都是从Java的发展史开始讲,总之就是那些什么Java历史悠久,Java很优秀,Java越来越牛,用的人越来越多,什么编程语言排行榜常年第一,大致都是这些,然后再扯些其他的,接着就上起了Hello World!就这样,你Java生涯的第一个代码开始了,意思是“你好,世界!”
我还是想不通,Java是啥,能干嘛,能不能先告诉我?
可能你在刚开始学习Java的时候也有这样的疑惑,那么你会怎么做呢?你不知道啊,怎么办?问别人?不,你应该会想到百度,不是说
百度一下,你就知道吗?
好嘞,我们上百度看看去:
看到第一个是百度百科对Java的介绍,点开看看吧,百度百科是这样介绍Java的:
Java是一门面向对象编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 [1] 。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 [2] 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 [3] 。
大眼一看,说的真好,不过总觉得有点官方啊,继续搜索其他的文章,看看别人怎么介绍Java的,随便点开一篇文章,看,这位博主这样说:
Java是一种可以撰写跨平台应用程序的、面向对象的程序设计语言。简单说,Java就是一种语言,不过是一种针对jvm的语言,Java编译后是字节码,而jvm会把这些字节码解释成机器码,然后做出相应的动作。
百度百科那个说到了C和C++,还有什么面向对象,分布式,还有什么静态面向对象编程,觉得有点不懂,看这位博主写的,貌似懂了一些,不过啥是jvm啊?
你看看,刚开始学习个Java,没想到什么是Java都弄不清楚,有点小失落!
庆哥说:很多人刚开始学习Java的时候其实并不会这样仔细的去研究到底什么是Java,大部分都是百度搜一下看一下什么是Java,或者看书看视频,听别人大致讲一下什么是Java就过去了,结果就是突然有人问你什么是Java,你貌似不知道怎么说,大致能想起来,嗯,是个编程语言。
那么怎么去理解Java,该怎么说呢?要的是那种从来没有接触过编程的人也能一听就知道Java是什么了?有吗?
那必须有啊,那啥是Java嘞?
首先嘞,你先记住,Java是语言,啥是语言?汉语,英语,法语和德语,布拉布拉,就这些,对,Java也是一门语言,有啥不同嘞,像汉语,针对的是我们人,我们中国人大部分都是使用汉语来进行沟通,Java也是语言,不过我们人不用Java语言沟通,那Java是谁的沟通语言?
Java是计算机和我们的沟通语言,计算机可以懂Java这门语言。当然,你学会了Java,你也会这门语言,你就可以和计算机沟通啦!
比如说,你对你女朋友说“给我倒洗脚水去!”,然后你女朋友听到了这句话,知道自己该干嘛了,就去给你倒洗脚水了(现实中大部分不是这样,哈哈)。
那么你要是和计算机沟通,想让计算机给我们做一件事情,总不能说“喂,计算机,给我倒洗脚水去”,这个计算机还真听不懂,那咋办?
当然是得使用计算机能够明白的语言与它沟通啦!那是啥,Java就是啊,你使用Java是可以和计算机沟通的,当然这里的沟通是类比我们人与人之间的说法,其实对于计算机而言,准确的应该是我们给计算机下达指令,计算机收到我们的指令去做相应的事情。
怎么样,大致有个印象吧!啥是Java,明白那么一丢丢了吧!
Java是一门语言,记住了吧,这个语言是用于计算机的,我们使用Java可以和计算机进行交流,我们写一段Java代码,计算机就知道我们想干啥,当然前提是你写的是正常的代码,所以Java可以叫做计算机语言。
可能有人又不明白了,啥是计算机语言,这个?不就是计算机之间的语言嘛,我们看看百科怎么介绍计算机语言的:
计算机语言(computer language)指用于人与计算机之间通讯的语言,是人与计算机之间传递信息的介质。但是其概念比通用的编程语言要更广泛。例如,HTML是置标语言,也是计算机语言,但并不是编程语言。
看到这里我们又要肯定一个概念,啥嘞?
Java是一门计算机语言,可以用于我们与计算机之间的沟通,我们可以使用Java语言给计算机下达指令。
好,我们继续,我们看上面说到了编程语言,那啥又是编程语言,和计算机语言有什么区别呢?
首先你要知道,你学习Java,以后你就可以说自己是程序员,码农,敲代码的,干编程的!
你看,我们又说到了编程,咱先来说说编程语言吧,上面我们说到,Java是一门计算机语言,那是不是编程语言呢?
必须的啊,Java铁定是编程语言啊,这里要记住:
计算机语言包括的更多,它包括了编程语言,除此之外,计算机语言还包括置标语言,建模语言,你可能又糊涂了,这都是啥啊?其实吧,我也不知道,所以,别管了,你只要记住,计算机语言包括编程语言,Java是一门计算机语言,也是一门编程语言。
到了这里,急需要和大家解释一下,什么是编程语言,百科对他是这样说的:
用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。
简单点,大白话一点:
可以写程序,也就是我们可以使用它来让计算机干活
没忘记吧,Java就是一门编程语言啊,当然,编程语言那可有不少嘞,就像各个国家都有自己不同的语言,编程语言也是有很多分类的,来来,看张图吧:
你看看,是不是很多啊,不过不用管它,我们的重点是Java。
说到了这里,我们大致知道了Java是个啥,那么这个Java怎么用啊?能不能举个例子啊,好,接下来,我们就让我们的计算机给我们倒洗脚水,走起。
对了,你起码应该知道Java编程语言,是需要你写的吧,也就是需要你敲代码的。
庆哥说:啥是代码啊,代是代表的意思,码嘞,这可不是我们骑得那玩意,这里指的是二进制编码,所以代码就是“代表二进制编码的东西”,这一块,后面也会详细介绍,不着急。
下面我们开始敲代码吧,打开你的记事本,然后写上这些:
public class Hello{ public static void main(String[] args){ System.out.println("hello,给我倒洗脚水去"); }}
对了,你知道上面这是干嘛不,我们在给计算机发指令嘞,也就是让它给咱干活,写好之后保存这个文件,对了,文件的格式要改成以“java”结尾的哦,文件名称要叫Hello,也就是“Hello.java”
看,就是它:
然后我们打开我们电脑上的cmd命令行,关于cmd有多种打开方式,通常的一种是按下“win+r”会出现这个:
在里面输入cmd,然后确定,就会出现“黑窗口”,也就是dos命令窗口。也就是现在这个样子:
可能有人说,不一样啊,我的没有那个cd,我也是刚打上的,所以,你也敲上个cd吧,可能有人知道这是干嘛的,接下来我们把刚才创建的“Hello.java”直接拖拽到这个黑窗口,就成了这样:
然后注意要把后面的“\Hello.java”删除掉,然后按一下回车键,也就是“Enter”,就出现了这个:
ps:到这里可能有人会出错了,我们初学编程的时候总会遇到各种各样的奇葩问题,很多人迷茫的不要不要的,说我明明照着做的,为啥就是不行,初学者出现这样的问题,大部分都是自己的马虎造成的,非说自己的一样,到最后,不是字母写错,就是忘了空格,还有个重要的是标点符号不是英文状态下的,如果你这里出现错误了,看看,有没有出现我说的错误。
接下来,我们继续输入:
javac Hello.java
然后回车,这一回车不要紧,那是会产生一个新物种的:
出现了啥新物种呢?你看看,就是它:
这个是Java的字节码文件,也叫做class文件,因为命名是以class结尾的,这个你不懂没关系,我们接着往下做:
看到没,我们又输入了以下命令:
java Hello
然后我们看到有个输出:
Hello,给我倒洗脚水去
ps:如果你在跟着我的操作在你的电脑上操作的话,可能你在输入javac那一步就出错了,那是因为你缺少java运行环境,这个我们后面会详细介绍,你可以先看我操作的结果。
有人说,这是啥,有点疑惑啊,我之前不是说了嘛,我们可以使用java语言来给计算机下达指令,让计算机给我们干活,对了,你不会真以为计算机会给咱们倒洗脚水吧。
我们再来看看这段代码:
public class Hello{ public static void main(String[] args){ System.out.println("hello,给我倒洗脚水去"); }}
这就是一段最简单的java代码,至于为啥这样写,你先不用管,我们不是说可以用java给计算机下达指令嘛?指令在哪?
System.out.println("hello,给我倒洗脚水去");
这其实就是我们给计算机下达的一个指令,意思是让计算机在屏幕上打印这一句话:
hello,给我倒洗脚水去
我们看刚才的输出,是不是就是打印出了这句话:
你看,计算机是不是按照我们给的Java指令做出了相应的动作,当然,这是最基本的,最简单的。
到这里,我相信,你大致懂了什么是Java了,不过接下来还有一个大问题,那就是Java能干嘛啊?
上面我们给出了一个简单的例子,就那么一丢丢代码,不过还可以有很复杂的,代码超级多的,这样就会产生一个有很多功能的东西,比如我们可以用Java写一个计算器,啥计算器,就类似你电脑上自带的计算器那样,再比如我们常用的qq吧,我们也可以用Java写一个,当然,越复杂的应用,写起来难度越大,我们还可以使用Java做出来一个网站,你想在网站上展示啥都行。
不过嘞,Java可能写系统更多一些,就是各种各样的后台,啥是后台,比如你进入淘宝买东西吧,你登陆自己的账户和名称,然后进入首页,然后搜索“好吃的”,然后就会出来一大堆好吃的。
为啥你输入自己的账户和名称就能进去网站,那是因为用Java代码写了一个逻辑,比如说,你的名字是1,密码是2,当你点击登录按钮的时候,Java代码中就会做判断,如果名字是1而且密码是2,那就让你登进去,否则就进不去,这都是Java代码的功劳。
当你选中一个好吃的,然后下单,填写地址,然后你就愉快的购物完成了,接下来商家需要给你发货啊,于是商家就会登上一个网站,在这个里面可以看到你叫啥,买的啥,地址在哪,然后就给你发货了,商家登入的这个网站就可以叫做后台。
懂了嘛,Java就可以完成这样的一个网站。
学到后面你就会发现,语言就是工具,能做的事情有很多,不局限于网站啊,桌面应用啥的!
说了这些,你也能大致知道Java能做些啥了,其实我知道你了解的还是有点模糊,那下面咱再说说。
Java其实有三个版本分类:
你可以大致的这样理解,JavaSE是Java的核心基础,包含的就是基础知识,自学Java刚开始都是从这个开始的,JavaME呢?不知道大家之前玩过那种游戏没,就是在安卓手机还没有的时候,我们会下载一些jar结尾的游戏文件来安装,打开之后都会先有这个图标:
你可以简单理解这就是JavaME搞出来的,不过后来出来了安卓,就代替了它,所以不用太管它,至于JavaEE,可以称为企业级应用开发,这部分会学各种框架,各种高级玩意儿,也是我们后期主要学习的东西,我们可以利用这部分知识开发各种网站啊,桌面应用啊,一些工具啊,甚至游戏都可以,当然,很多应用都是使用到了java的综合技术来实现的。
现在很多学习编程的人,刚开始会疑惑不知道学哪门编程语言,其实吧“铁打的思想,流水的语言”,语言终归是工具,怎么用,能干嘛,这取决于用的人,如果你足够牛,那么你可以:
用java改变世界!