一、什么叫做编程

首先我们应该了解一下什么叫做编程。

百度百科 词条的解释:

编程是编定程序的简称,是让计算机代我们解决某个问题,是对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。

对于该解释,大家也包括我自己可能并不是很理解,那我们反正就这么理解,一般来说编程就是写代码,目的是为了解决问题,解决什么问题需要看需求,看甲方爸爸的需求,所以也就有了 需求工程师 这个职位。

这么理解,简单、粗暴,哈哈哈。

但是有个误区要提醒一下,编程不一定是针对计算机程序而言的,针对具备逻辑计算力的体系,都可以算编程(这是词条中提到的,我觉得有必要提一下)。

二、白话编程语言

然后,我们来了解一下关于编程语言的知识。

我们都知道,语言嘛,当然是用来沟通交流、传递信息的,在人类的世界里,语言的种类非常多,像汉语、英语、日语、法语等等。

所以,我们不妨猜想一下,在计算机的世界里,会不会也是这样的呢?答案是,的确如此。

为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。

这种形式就是指编程语言。

在计算机领域,编程语言也很多,按发展历程来划分大致可以分为三大类:机器语言、汇编语言以及高级语言。从机器语言到高级语言,经历了很长一段时间的发展。它们是发明者为了满足现实的需要,不断迭代发展到今天这个简单、易于学习的高级语言的。

所以如今最常用的编程语言就是高级语言,而高级语言像比较常见的有C、C++、Java、Python等等,那么我们可以用它们做什么事呢?

前面说了,编程语言和我们熟悉的汉语一样,也是用来沟通交流的,只是在沟通对象上有区别而已。

汉语是人与人之间的沟通,而编程语言则是人与计算机之间的沟通 (简称人机交互) ,并且这种沟通是单向的,只有人可以主动来和计算机“交流”,而计算机是不会主动和我们说话的。

但是,在科技发展如此迅速的时代,或许未来真的会诞生智能电脑(人工智能领域)也很有可能哦。(这个只是谭少额外的一点想法,说的可能不太准确,毕竟对这些不懂)。

在IT领域中,编程语言是程序员小哥哥和计算机打交道、指挥计算机帮其解决现实问题的工具。

对编程和编程语言有了一个大概的了解之后,下面我们开始介绍Java。

三、Java介绍

那有的人可能就想问了,既然编程语言这么多种,那为什么偏偏就选择Java呢?这其实就和很多人会选择努力学好英语一样,它们都比较火热,而且都在各自领域起着重大作用。

Java被称之为计算机界的“英语”,在编程语言排行榜中多年来一直名列前茅,并且连续多年排名第一,你说它火不火。说白了,学好它对你很有用,不管是靠它找工作以此谋生还是作为一个爱好,对你生活和工作的发展都很有帮助。

所以,想出国、想到外企工作的人就要学好英语,而想当程序员,拿高薪,迎娶白富美的你(男生),学好Java就很大程度上能帮你实现。

当然了,你也可以选择学其他语言,不一定非得是Java,只是相对来说,学Java的人比较多些,学Java出身做程序员的叫做Java程序员。有不少朋友问,如何深入学习Java后端技术栈,今天分享一个,互联网牛人整理出来的Java深入学习路线图,以及开发工具包,【戳我进入】学习裙。

可能有人想说,学的人这么多,岂不是竞争也很大啊。

是的,竞争非常大,但是通往成功的路上并不拥挤,因为很多人由于坚持不下去而放弃了,坚持到最后的人很少,所以,要成功,那就做那个坚持到最后的人。

好了,废话不多说了,正式开始介绍Java。

1、Java诞生及其发展简史

1991年,SUN公司的Green项目,播下了Java语言的种子,当时Java还不叫Java,叫Oak。

1995年年初,Sun公司发布了Java语言,开源免费给大家使用,短短几个月内,Java受到了大家的广泛喜爱,成为了互联网上最热门的宝贝。

但是,此时的Java还不能开发复杂的应用程序,要开发的话,必须要有一个强大的开发类库。

因此,Sun公司在1996年发布了JDK1.0。

有了这个东西,我们就能使用Java开发复杂的应用程序了。

在接下来几年里,Sun公司陆续又接着发布了JDK1.1、JDK1.2,而1998年12月 JDK1.2的发布是Java历史上最重要的一个版本 ,这次将Java分成了J2SE、J2EE、J2ME三个版本。

三个版本之间的关系如下:

J2SE是Java技术的基础和核心,也是其他两个版本的基础,初学Java就是从J2SE学起的。

J2EE是Java技术中应用最广泛的部分,主要用于企业级应用的开发。

J2ME则主要用于控制移动设备和信息家电等有限存储的设备(实际开发中用的比较少,了解即可)。

这个版本的发布,标志着Java吹响了向桌面、企业、移动三个领域进军的号角 

2004年10月,Sun公司发布了万众期待的JDK1.5,并将JDK1.5改名为JavaSE 5.0,同样的,J2EE和J2ME也改名为JavaEE和JavaME。

2009年4月,Oracle宣布收购Sun,从此Java成了Oracle公司的资产,而Sun公司也永远的消失了,但Sun公司创造的传奇是老一辈程序员心中的怀念。

……此处省略部分历史

经过二十多年的发展,至今Java已经成为互联网上最受欢迎的编程语言了。如今JDK的最新版本已经到JDK13了,并且还在不断的发展中。

2、学好Java具体能够做什么呢?

可以做软件,分为三类,电脑桌面应用和网页版应用,还有移动客户端程序。

但是现在有专门搞移动端的安卓开发和IOS开发了,所以Java主要应用于前两个领域(用的最多的还是网页版应用开发,也就是前面提到的企业级应用),不过学安卓开发也是要有Java基础的,IOS开发就要学别的东西了。

3、Java语言的特性

  • 简单易用
  • 面向对象
  • 安全性高
  • 支持多线程
  • 跨平台

简单易用:任何事物都是相对的,Java相对C、C++来说要简单易学,容易上手,但是这不代表学好也比它们容易。

跨平台:我们称能够支持程序运行的硬件或软件环境为平台,各操作系统也是软件,所以Windows、Linux、Mac都可以称之为一个平台。

Java程序不是直接运行在操作系统上,而是运行在一个叫做Java虚拟机(Java Virtual Machine,简称JVM)的虚拟计算机上。

Java针对不同的系统有不同的JVM实现,只要你的系统中安装了对应的JVM,就能运行Java程序,而不依赖于操作系统。

简单点说就是,你拿一个Java程序,在Windows、Linux、Mac上都能运行,只要它们各自都安装了JVM。

JVM是Java语言的运行环境,也是Java 最具吸引力的特性之一。

JVM用于读取并处理编译过的与平台无关的字节码文件,从而实现Java的可移植性。(字节码文件后面会讲到)。 
但是值得注意的是Java虚拟机是不跨平台的,也就是说在Windows下得装 Windows 版的JVM,在Linux下装Linux版的JVM,在Mac下得装Mac版的JVM。

Java小白入门:聊聊Java这门编程语言相关推荐

  1. 小白学编程“Java小白”入门解疑大全

    成功的人分几种,有一种人叫做关系户,他们渠道多,广织关系网,有一种叫做平台户,他们平台有多硬,他们就有多硬,但无论是关系户还是平台户,依靠的总是别人的手.别人的嘴巴.别人辛苦创立下来的资源,归根到底, ...

  2. Java小白入门系列 第一篇 写在前面

    2018年8月30日  22:00:17 郑州  多云 Sue Java小白入门系列 第一篇  写在前面 写在前面: 首先声明一下,本人也是正在学Java,并不是多么专业人士,只是最近受老师的启发,所 ...

  3. Java小白入门200例14之求最大公约数

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  4. Java小白入门200例81之Java接口

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  5. Java小白入门200例56之鸡兔同笼问题

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  6. Java小白入门200例80之Java继承(extends)

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  7. Java小白入门200例39之Java字符串拼接(连接)

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  8. Java小白入门200例79之Java类的封装

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  9. Java小白入门200例98之Java异常

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  10. Java小白入门200例51之根据出生日期计算星座

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

最新文章

  1. 涨点技巧!汇集13个Kaggle图像分类项目的性能提升指南
  2. 纯html css博客,纯HTML+CSS打造动画
  3. 因为我把JMM原理讲解了一遍,这给足了我涨薪的底气!
  4. WinCE6.0 修改开机Logo方法
  5. java打印的globa类l_Spring异常集中处理和日志集中打印
  6. 网和aoe网的区别_运动内衣与普通内衣有什么区别?运动内衣里面还需要穿文胸吗? 小家生活网20201002 11:03:04...
  7. ipvsadm命令及lvs-nat类型web服务器集群
  8. 1、CSS 盒子模型,2、边框样式,3、CSS 轮廓(outline),
  9. 分布式事务处理框架之LCN
  10. 51nod 1682
  11. 用k-mer分析进行基因组调查:(二)用jellyfish进行k-mer频数统计
  12. Java实现增删改查系统代码(全~纯干货)
  13. system mysql服务
  14. IP地址查询在线查询
  15. 一阶导数和二阶导数的意义
  16. 基本数据类型 int操作 bool布尔操作 str字符串操作 for in 循环
  17. 网络安全学习记录-13
  18. 伺服系统三环的PID控制
  19. c语言休止符用法,休止符写法详解
  20. 结构体是什么、声明和定义

热门文章

  1. Ubuntu18.04操作系统sudo apt-get update报错
  2. Layui 监听 复选框 提交表单
  3. 在Qtopia中添加国际化支持
  4. QT自定义控件(电池)
  5. QT 中控件内坐标转换为父窗口坐标或屏幕坐标
  6. c++指针初始化问题
  7. 微信群发机器人源代码
  8. java反编译工具那个好用_Java反编译工具有哪些,Java反编译工具好用推荐
  9. 海量数据解决方案,知多少?
  10. [转]UBB代码解析规范