我刚开始学习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其实有三个版本分类:

  1. JavaSE

  2. JavaME

  3. JavaEE

你可以大致的这样理解,JavaSE是Java的核心基础,包含的就是基础知识,自学Java刚开始都是从这个开始的,JavaME呢?不知道大家之前玩过那种游戏没,就是在安卓手机还没有的时候,我们会下载一些jar结尾的游戏文件来安装,打开之后都会先有这个图标:

你可以简单理解这就是JavaME搞出来的,不过后来出来了安卓,就代替了它,所以不用太管它,至于JavaEE,可以称为企业级应用开发,这部分会学各种框架,各种高级玩意儿,也是我们后期主要学习的东西,我们可以利用这部分知识开发各种网站啊,桌面应用啊,一些工具啊,甚至游戏都可以,当然,很多应用都是使用到了java的综合技术来实现的。

现在很多学习编程的人,刚开始会疑惑不知道学哪门编程语言,其实吧“铁打的思想,流水的语言”,语言终归是工具,怎么用,能干嘛,这取决于用的人,如果你足够牛,那么你可以:

用java改变世界!

Java最新的学习视频推荐,帮助你快速入门

如果你正在入门学习Java或者即将学习,可以申请加入我的Java学习交流群:686827638,有什么问题都可以随手来交流分享,群文件我上传了我做Java这几年整理的一些学习手册,面试题,开发工具,PDF文档书籍教程,需要的话你们都可以自行来获取下载。

Java是什么?Java能干嘛?相关推荐

  1. java第一章Java语言概述和入门程序

    文章目录 Java课程简介 1.1 Java概述(Java的发展) 1.2 Java 的特点 不依赖平台 1.3 java软件平台安装和配置 java程序开发 含有psvm的是主类 入口 java类默 ...

  2. 【java】关于Java NIO的一切

    1.概述 概述:关于Java NIO的『一切』 建议看原文 太长了 本文译自Jakob Jenkov的Java NIO.注意,并非逐字翻译,删除了原文中碎碎念的部分,有些地方也加入了自己的理解. Ja ...

  3. 2,Java语言基础-Java语言基本程序设计知识

    Java语言基础 Java语言基本程序设计知识 1,JavaAPI概述 1.1,什么是API API是指应用程序接口( Application Program Interface, API),故名思意 ...

  4. 必学Java类库/常用Java类库大全(awesome-java)

    完整资源地址:http://www.21doc.net/java/awesomejava 对象映射 简化对象映射的框架. Dozer - 使用注释,API或XML配置将数据从一个对象复制到另一个对象的 ...

  5. java 读取txt,java读取大文件

    java 读取txt,java读取大文件 package com.bbcmart.util; import java.io.File; import java.io.RandomAccessFile; ...

  6. JAVA基础(JAVA 执行环境) 第一天

    JAVA程序有3中执行环境. (1)能够单独运行的程序,称为Java Application(Java应用程序). (2)在Internet浏览器中运行的程序,称为 Java Applet(JAVA小 ...

  7. java.utilDate和java.sql.Date

    java.utilDate和java.sql.Date由广州疯狂软件教育java培训分享: java程序中的时间类型有java.util.Date和java.sql.Date两种.两者之间的关系和转化 ...

  8. java 终极超类,Java问答:终极父类(3),java问答

    Java问答:终极父类(3),java问答Java问答:终极父类(上) Java问答:终极父类(下) Java问答:终极父类(2)-上篇 Java问答:终极父类(2)-下篇 在之前关于 Object ...

  9. java.lang.OutOfMemoryError: Java heap space错误及...

    为什么80%的码农都做不了架构师?>>>    以下是从网上找到的关于堆空间溢出的错误解决办法: java.lang.OutOfMemoryError: Java heap spac ...

  10. 浅谈Java SE、Java EE、Java ME三者的区别

    1. Java SE(Java Platform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程 ...

最新文章

  1. 计算机应用开设学校 四川,成都计算机类专业开设的院校有哪些
  2. Kali Linux 2020.1安装桌面
  3. 计算机网络复习-应用层
  4. Magicodes.Pay,打造开箱即用的统一支付库,已提供ABP模块封装
  5. 北大计算机博进高校,他是北大第一位博士,留校任教却连做三件“傻事”,博导都没评上...
  6. php执行先后顺序_PHP程序执行的过程原理
  7. 方差分析(Analysis of Variance,ANOVA)是什么?怎么就可以用来做特征筛选?方差分析(ANOVA)的本质是什么?
  8. live2d动态壁纸android,Live2DViewerEX动态壁纸
  9. i5 9600k和i5 9400的差距?哪个好?对比才知道
  10. 【职场新贵】告诉你如何在压力下高效工作
  11. opencv 使用 GPU 加速
  12. matlab导入数据后画图_简易数据采集分析流程.stm32+python
  13. 中国网:防火墙之父发声
  14. 没看错!用游戏测试人工智能。
  15. jquery获取ip地址
  16. Thread创建线程
  17. imu oracle,IMU技术
  18. ERROR 1118 (42000): Row size too large (8126). Changing some columns to TEXT or BLOB or using ROW_
  19. BitLocker是个什么东东?密钥丢了怎么办
  20. IDEA使用copyright

热门文章

  1. 计算机对教育的重要性 英语作文,关于教育的英语作文 教育重要性英语作文!
  2. SEO优化之alt属性和title属性
  3. android 6.0 usb网卡,Android安卓6.0使用技巧:让手机化身网卡和声卡
  4. CCPC-Wannafly Winter Camp Day1 (Div2, onsite) A 机器人 分类讨论
  5. google地图 经纬度查询
  6. 零信任之微分段(微隔离)
  7. 中兴新支点操作系统小教程——用户
  8. 计算机学院运动会海报,《图文》运动会宣传海报资料
  9. Python制作【大麦网】自动抢票程序
  10. 淘宝首页性能优化实践