整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Java 和 JavaScript 有什么关系?

Java 和 JavaScript 有什么关系?

着考试周复习周的不断进行,

不知道大家复习和刷题进行得怎么样了呢,

为了给繁忙中的小伙伴们减减负,

力扣(LeetCode)为大家准备了一份程序员期末考试模拟试卷(这明显是增负啊喂)

希望大家做得开心,做得愉快~

力扣 2018-2019 学年度期末测试

程序员历史卷


注意事项:

1.本卷分基础题、提高题和加分题三大部分,第一、二卷满分 100 分,第三卷满分30分。考试时间 20 分钟。

2.考生答题前,请先思考一下自己今年要刷多少道力扣 。

3.考试结束,考生可至文中指定区域查看答案。

第一卷(基础题,共 50 分)

1. 第一个程序员叫什么名字?(10分)

A. 爱达·勒芙蕾丝

B. 查尔斯·巴贝奇

C. 洛夫莱斯伯爵

D. 达拉崩吧斑得贝迪卜多比鲁翁

2. 'Hello, World' 最先在哪本书中被提及?(10分)

A.《A 语言从入门到放弃》(A Language from Zero to Hero Quit)

B.《B 语言编程指南》(A Tutorial Introduction to the Language B)

C.《C 语言程序设计》(The C Programming Language)

D.《Python 从复制到粘贴》(Python Cut, Copy, and Paste)

3. 于 1996 年设立的图灵奖为了纪念谁而命名?(10分)

A. 图图

B. 女娲后裔赵灵儿

C. 艾伦·麦席森.图灵(Alan Mathison Turing)

D. 丘奇·图灵(Church Turing)

4. 谁是万维网的发明者?(10分)

A. 斯坦·李

B. 布鲁斯·李

C. 詹姆斯·李

D. 伯纳斯·李

5. 从历史角度考虑,JavaScript 在命名上和 Java 有什么关系?(10分)

A. 有一点关系

B. 如同周杰和周杰伦的关系

C. 如同雷锋和雷峰塔的关系

D. 如同卡巴斯基和大巴司机的关系

第二卷(提高题,共 50 分)


6. 图灵奖对提名人有什么要求?(10分)

A. 必须是刷力扣刷得比较 6 的人

B. 必须是每天晚上 9 点以后才下班的人

C. 必须是计算机领域突出贡献者

D. 以上都可以

7. 21 世纪上半叶,曾于中国互联网圈流传的「996」是指什么意思(选择最贴切的一项)?(10分)

A. 最后一个人赶紧倒立的意思

B. 666 的隐晦表达

C. 加班吧,朋友

D. 247的另一种表达

8.在中国近现代历史上,以下哪个中国作家拥有不俗的编程水平?(多选)(20分)

A. 刘慈欣

B. 王小波

C. 力扣编辑们

D. 鲁迅

9. 在 2019 年,9 号以后是几号?(10分)

A. 10 号

B. a 号

C. 差不多该还花呗的日子

D. 我想这是一道哲学题,哲学永远没有答案

答案分割线


1.本题选A。世界上第一个程序员是爱达·勒芙蕾丝(也译作埃达·洛夫莱斯),是一位女性。她是英国大诗人拜伦的唯一婚生子,出生于 1815 年,此生从未见过其父亲。

在 1842 年与 1843 年期间,埃达翻译了意大利数学家路易吉·米那比亚讲述查尔斯·巴贝奇计算机分析机的论文,并增加注记详细说明用该机器计算伯努利数的方法,被认为是世界上第一个计算机程序。

B 选项查尔斯·巴贝奇是她的好友,被誉为“计算机之父”。C 选项是她老公,D 选项是B站一首鬼畜洗脑歌曲的歌词。

2.本题选B。 'Hello, World' 最先出现于布莱恩·柯林汉(Brian Kernighan)与 1972 年编写的内部技术文件《B 语言编程指南》。当时,他使用 B 语言撰写了第一个使用参数的 Hello World 相关程序,并于 2 年后在《C 语言程序设计》中沿用了这一写法。

A 和 D 选项是瞎编的,但 A 语言真实存在。

3.本题选 C。艾伦·麦席森.图灵是计算机人工智能之父,图灵奖为纪念他而命名。选项 A 为电视动画《大耳朵图图》中的主人公,选项 B 为《仙剑奇侠传》主人公之一。选项D,1937年,图灵发表的文章 “可计算性与λ可定义性”则拓广了丘奇(Church)提出的“丘奇论点”,形成“丘奇-图灵论点”。

4.本题选D。蒂姆·伯纳斯·李于 1990 年 12 月 25 日第一次实现超文本传输协议客户端与服务端的通讯。他也是万维网联盟主席,麻省理工学院计算机科学及人工智能实验室创办主席及高级研究员等。

选项 A 为漫威之父,选项 B 为李小龙英文名,选项 C 是路人。

5.本题选A。Java 与 1990 年由詹姆斯·高斯林等人创建雏形,于 1995 年由 Sun 公司正式发布。JavaScript 于 1995 年由布兰登·艾克在网景公司设计。这两门语言的创造者,公司,年份都完全不同,但命名上确实有一点渊源

JavaScript 原先有一个很可爱的名字:Mocha,当时网景公司为了搭上 Java 这个热门编程语言,就是如今所说的想蹭热点,于是跟 Sun 公司协议,在公开发布时把名字临时改成了 JavaScript,日后这成为大众对这门语言有诸多误解的原因之一。

6.本题选 D。任何人。这道题的题干里藏了一个陷阱。「提名人」不是「候选人」也不是「获奖人」,图灵奖大多数获奖者是计算机科学家,但提名人可以是任何人,只需附一份 200 到 500 字的文章,说明被提名者为什么应获此奖即可。

7.本题选 C。996 原意指早上9点上班,晚上9点下班,周六加班,后成为互联网企业加班的代名词。247是指一天24小时,上七天班。

8.本题选 A、B、C

选项 A :刘慈欣是中国著名的科幻作家,其实他也是一个计算机工程师,曾编写一个自动写诗的计算机程序,含五个程序模块,六个词库,一个语法库,仅 125K。

选项 B :王小波是中国最早期的程序员之一,曾编写自己的中文输入法(拼音字典参考他人),掌握 Fortran、汇编语言和 C 语言,C++ 等,并在人民大学负责一个计算机室。

王小波的编程思维也体现在他独一无二的文学想象力中,在《红拂夜奔》里,主人公李靖发明过一个巨大的开跟号机器,这台机器在战场上挥舞着杠杆一边开根号一边攻击敌人,有的人死在根号 3 下,有的人倒在根号 5 下。

选项 C :力扣编辑均熟练掌握编程技术。

选项 D :鲁迅是我国著名的文学家、思想家,不会编程。

9. 本题答案不限。选项B:在16进制中,9号后面为a号。

第三卷(加分题,共 30分)


10. 你心目中当代优秀程序员应该是什么样的?(30分)

(本题为开放性试题,请在留言中回答,参考点赞数给分,内容包含“刷 力扣(LeetCode)” 等字样加分。)


作者:宫业奇

声明:本文版权归力扣 LeetCode 所有,未经允许禁止转载。

必很多人在刚接触和认识Java的时候,都好奇它与JavaScript之间的关系,长得这么像,难道是出自同门的升级版?嗯,他们的发明者确实颇具渊源,而且客观来说,JS确实相较Java更加简洁大众,但它们本质上却仍然是两种完全不同的语言,那区别在哪呢?千锋武汉Java培训专家给大家详细说说他们之间的区别。

这就得从他们诞生时开始说起:

1994年的时候,网景公司(Netscape)发布了Navigator浏览器0.9版。这是历史上第一个比较成熟的网络浏览器,轰动一时。但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力。因此,网景公司急需一种网页脚本语言,使得浏览器可以与网页互动。1995年Sun公司将Oak语言改名为Java,正式向市场推出,并且打出了“一次编写,到处运行(Write once,run anywhere)”的宣传口号。网景公司非常看好Java,决定与Sun公司结成联盟。仅一个月后,网景公司做出决定,未来的网页脚本语言,必须看上去与Java足够相似,但是比Java简单。程序员Brendan Eich被指定为这种“简化版Java语言”的设计师。

但是Brendan Eich对Java丝毫没有兴趣,用了10天时间就设计出了JavaScript。总体的设计思路是:

借鉴C语言的基本语法;

借鉴Java语言的数据类型和内存管理;

借鉴Scheme语言,将函数提升到“第一等公民”(first class)的地位;

借鉴Self语言,使用基于原型(prototype)的继承机制。

也就是说,Java Script在设计时所参考的对象不包括 Java,而包括了像 Self 和 Scheme 这样的语言,它实际上是函数式编程和面向对象编程两种语言风格的混合产物。并且javascript最初的名字并不是javascript,而是LiveScript,名字中的“Java”是经过SUN Microsystems公司授权的。

简单说java和JavaScript是两个不同的语言。

1 语言特点:

1.1 弱类型:

JavaScript在变量声明的时候并不严格区分数据类型,(var 变量名),不像java那样严格(类型:变量名)。也就说,Javascript面前一切平等,在他眼里大家都是人,而在java就有所不同,男人、女人、什么的……

基于这个特性,javascript在很多时候会都可以写的比java简洁,比如函数的声明等。

1.2 动态语言:

java在定义了一个数组的长度以后就不能再改变了,但是javascript却可以。并且java一个数组只能放同一种类型,但javascript可以在一个数组内加不同数据类型的数据。可以说Java比较死心眼,javascript则比较灵活。

1.3 脚本语言:

Java等后台语言都是编译后执行的,但是javascript却是边编译边执行。

2 数据类型

2.1 基础数据类型:

Java有八大数据类型:byte,short,intlong,float,double,char,Boolean。感觉javascript把上面的整理成了三种原始类型:number,string,boolean。另外还有两个特殊的原始类型是:null和undefined。

2.2 变量

Java:数据类型 变量名=值;

Javascript:var 变量名=值;数组

Java:

类型[] 数组名=new 类型[数量];

类型[] 数组名=new 类型[]{元素1,元素2…};

Javascript:

var 数组名=[];

var 数组名=new Array();

3 函数

Java:返回值类型 函数名(类型 参数1,类型 参数2…){}

Javascript:function 函数名(参数1,参数2…){}

两者用途

java广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网等。

Javascript的用途是:1.嵌入动态文本于HTML页面;2.对浏览器事件做出响应; 3.读写HTML元素;4.在数据被提交到服务器之前验证数据;5.检测访客的浏览器信息; 6.控制cookies,包括创建和修改等。

最后,千锋武汉Java培训专家想说,Java和JavaScript各有所长各有专精,Java的舞台在编程领域,而JavaScript的得心之处是在Web页面中,它几乎无所不能。


记得刚开始学习编程时,我就在想:“Java和JavaScript是同一种语言吗?”。就是因为看到它们名称中都带“java”,所以才会误以为它们有关系。实际上,它们并没有太大的联系。


这两者的关系,就和英语与斯瓦希里语「非洲语言使用人口最多的语言之一,简称斯语」类似。两者都是语言,但是语法、用词甚至语音都完全不同。与英语和斯语相比,Java和JavaScript的区别其实更大。英语和斯语是大部分人日常互相交流沟通的语言。但是,java和JavaScript是计算机语言,具有不同的交流方式。



>>不同之处




1、命名


JavaScript是由Netscape公司设计实现而成的。JavaScript最初被称为Mocha,然后更名为LiveScript。Netscape公司与Sun公司合作,Netscape高层希望它看上去能够像Java,因此才取名为JavaScript。其实JavaScript走的一直是依靠大IP普及的营销策略,正如一开始我们所疑惑的地方一样,JavaScript就是依靠类似java的名称才被大众所熟知。就是靠着这一点,现在JavaScript已经是世界上第三流行的语言,并且人气还在不断上升。


Java是由Oracle公司(以前由Sun Microsystems)提供支持。而Java最初被称为Oak,然后更名为Green,后来才改成当前的名称Java。而java虽说是使用最广泛的语言之一,但近年来人气却在缓慢下降。





2、应用范围


Java具有极广的通用性,几乎在任何地方都可以使用;而JavaScript主要用于带有一些牵引服务器端「Node」,移动端「React Native」和桌面端「Electron」的前端Web开发。




3、语言特性


JavaScript是一种脚本语言,很多知名的浏览器都对Js有非常良好的本地支持,所以它成为了最受欢迎的前端语言之一;而Java是一种面向对象的高级编程语言,不适合做前端开发。




4、基于对象和面向对象


Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。它是一种真正的面向对象(Object Oriented)的语言,即便是开发简单的程序,也必须设计对象。


JavaScript是一种网络脚本语言,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。它可以使网页具有交互性;并提供及时反馈节省用户时间;还可以根据用户的操作,动态的创建页面。它是一种基于对象(Object Based)和事件驱动(Event Driver)的编程语言。





5、解释和编译


Java是一种编译语言,即Java代码被转换为在语言虚拟机中执行字节码。Java的源代码在执行之前,必须经过编译。


JavaScript是一种解释性编程语言,其源代码不需经过编译,由浏览器解释执行。(目前的浏览器几乎都使用了JIT(即时编译)技术来提升JavaScript的运行效率)




6、检测代码


Java是强类型的静态语言,每个变量必须预先指定其类型。JavaScript是弱类型的动态语言,其变量可以根据赋值而改变类型,如:var s=10;那么s为int型。JavaScript使用动态类型检查,即它是在执行JavaScript代码时检查变量的类型。这样做有一个好处就是可以使程序员更容易编码。而Java使用静态类型检查,即它是在编译时验证变量的类型。也就是说,它要检测的错误代码更少!





7、代码格式


JavaScript与Java代码格式不一样。JavaScript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那样进行装载,其代码以字节代码的形式保存在独立的文档中,其独立文件的格式为*.class。




8、线程


JavaScript不支持多线程,因为浏览器中的JavaScript解释器是单线程的。而Java则支持多线程。




9、图文操作


Java可以直接对文本和图形进行操作。而JavaScript是通过在Web页面中与HTML元素组合来发挥作用的,但JaveScrit可以控制浏览器,让浏览器直接对文本和图形进行处理。




10.工作机会


Java比JavaScript有更多的工作机会。根据数据,在中国Java开发发布了21094个职位,而JavaScript开发只发布了8486个职位。相比较而言,Java更适合你寻找工作。


了解java和JavaScript的不同之处,其实并没有其他的意义,重要的是要通过清楚他们不同之处,明白什么时候更适合用JavaScript,而哪些情况下则使用java。




那么,什么时候使用JavaScript和Java?


举个例子来说,如何用java和JavaScript的方法实现让孩子跳跃的操作?


按Java的方法:因为孩子听不懂“跳”,所以你要在他大脑的部分区域插入了一个控制跳跃功能的电极装置。当电极冲击大脑时,他就会不由自主地跳动。机器可以将你的指令转化为脑信号,你只需要将其安装在他身上,不需要借助其他的东西,就可以控制他完成“跳跃”动作。


按JavaScript的方法:实现“跳跃”,其实只要教孩子如何跳跃。教完以后,当你说“跳”时,他便知道要开始跳了。所以在JavaScript中,主要的还是你需要教他如何理解“跳”一词。毕竟程序必须先知道如何解释命令才能执行。


回到我们的示例当中,除了本身无法在大脑中插入电极装置以外,将机器安装在人身上,让他遵循命令的行为是非常不可取的。而如果你教他理解命令,这样的话,下次他一听到这个命令,就能在没有其他东西辅助的情况下工作。


人是如此,计算机亦是。为什么一直在强调解释型的重要性,主要还是因为这样相比较而言更容易编写,但并不是所有时间都要使用JavaScript。


平日里遇到要用java或JavaScript进行编写时,我个人的建议是,JavaScript固然十分好用,但一定要是自律性很高的人才更适用,因为,当你需要维护混乱无规则的JavaScript代码时,就会发现,那简直是一场噩梦。所以,我还是建议你优先使用java来编写程序。因为,日常工作当中,你大可使用java编写不受限的程序浏览器。