Java(编程语言的)和Javascript有什么区别?

2024-05-19 09:37

1. Java(编程语言的)和Javascript有什么区别?

区别如下:
一、javascript与Java是由不同的公司开发的不同产品。javascript是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言;
而Java是SUN Microsystems公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发。实际上,javascript最初的名字并不是javascript,而是LiveScript,名字中的“Java”是经过SUN Microsystems公司授权的。
二、javascript是基于对象的,它是一种脚本语言,是一种基于对象和事件驱动的编程语言,因而它本身提供了非常丰富的内部对象供设计人员使用。而Java是面向对象的,即Java是一种真正的面向对象的语言,即使是开发简单的程序也必须设计对象。  
三、javascript与Java嵌入方式不一样。在HTML文档中,两种编程语言的标识不同,javascript使用来标识,而Java使用Applet来标识。  
四、javascript与Java在浏览器中所执行的方式不一样。javascript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户,即javascript语句本身随Web页面一起下载下来,由浏览器解释执行。而Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码。  
五、javascript与Java代码格式不一样。javascript的代码是一种谋咀址格式,可以直接嵌入HTML文档中,并且可动态装载,编写HTML文档就像编辑文本文件一样方便,其独立文件的格式为*.js。Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中,其独立文件的格式为*.class。  
六、javascript与Java所采取的变量是不一样的。
javascript中的变量声明采用弱类型,即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。Java采用强类型变量检查,即所有变量在编译之前必须作声明。  
七、javascript采用动态联编,即javascript的对象引用在运行时进行检查。Java采用静态联编,即Java的对象引用必须在编译时的进行,以使编译器能够实现强类型检查。  
八、javascript不直接对文本和图形进行操作,它在Web页面中与HTML元素组合一起发挥作用,但它可以控制浏览器,让浏览器直接对文本和图形进行处理。而Java则可以直接对文本和图形进行操作。

Java(编程语言的)和Javascript有什么区别?

2. java是解释性编程语言吗?

Java是一种特殊的高级性语言,它既有解释性语言的特征,也有编译性语言的特征,因为它是经过先编译,后解释的过程。
简单说:
HelloWorld.java————>HelloWolrd.class————>特定平台的机器代码
               ①编译                  ②解释
编写出一个HelloWorld.java文件,通过javac.exe解释器编译成了一个不是特定平台(操作系统)的机器码HelloWorld.class文件。当然这种机器码是不可以执行的,必须使用java解释器(java.exe)来执行的。可是java.exe不具有解释的能力,它是调用jvm-java虚拟机来解释成适用当前平台的机器码。

                                    ——纸上得来终觉浅,绝知此事要躬行

3. 怎么快速的学习一门编程语言,如java

一般来说应对这种挑战有两种态度:
其一,粗粗看看语法,就开始练习,边查资料边学习;
其二是花很多时间完整地把整个语言学习一遍,做到胸有成竹,然后再开始做实际工作。然而这两种方法都有弊病。

第二种方法的问题当然很明显,不仅浪费了时间,偏离了目标,而且学习效率不高。因为没有实际问题驱动的语言学习通常是不牢固不深入的。有的人学着学着成了语言专家,反而忘了自己原本是要解决问题来的。

第一种路子也有问题,在对于这种语言的脾气秉性还没有了解的情况下大刀阔斧地拼凑代码,写出来的东西肯定不入流。说穿新鞋走老路,新瓶装旧酒,那都是小问题,真正严重的是这样的程序员可以在短时间内堆积大量充满缺陷的垃圾代码。

由于通常开发阶段的测试完备程度有限,这些垃圾代码往往能通过这个阶段,从而潜伏下来,在后期成为整个项目的毒瘤,反反复复让后来的维护者陷入西西弗斯困境。

实际上语言学习有一定规律可循,对于已经掌握一门语言的开发者来说,对于一般的语言,完全可以以最快的速度,在几天至一周之内掌握其最常用的50%,而且保证路子基本正宗,没有出偏的弊病。其实真正写程序不怕完全不会,最怕一知半解的去攒解决方案。

因为完全不会,就自然会去认真查书学习,如果学习能力好的话,写出来的代码质量不会差。而一知半解,自己动手土法炼钢,那搞出来的基本上都是废铜烂铁。比如错误处理和序列化,很多人不去了解“正路子”,而是凭借自己的一知半解去攒野路子,这是最危险的。

因此,即使时间再紧张,这些内容也是必须首先完整了解一遍的。掌握这些内容之后进入实际开发,即使有问题,也基本不会伤及项目大体。而开发者本人则可以安步当车,慢慢在实践中提高自己。

  以下列出一个学习提纲,主要针对的是有经验的人,初学者不合适。这个提纲只能用于一般的庸俗编程语言学习,目前在流行编程语言排行榜上排前20的基本上都是庸俗语言。如果要学的是LISP之类非庸俗语言,或是某个软件中的二次开发语言,这里的建议未必合适。还是那句话,仅供参考。
  1. 首先了解该语言的基本数据类型,基本语法和主要语言构造,主要数学运算符和print函数的使用,达到能够写谭浩强程序设计书课后数学习题的程度;
  2. 其次掌握数组和其他集合类的使用,有基础的话可以理解一下泛型,如果理解不了也问题不大,后面可以补;
  3. 简单字符串处理。所谓简单,就是Regex和Parser以下的内容,什么查找替换,截断去字串之类的。不过这个阶段有一个难点,就是字符编码问题。如果理解不了,可以先跳过,否则的话最好在这时候把这个问题搞定,免留后患;
  4. 基本面向对象或者函数式编程的特征,无非是什么继承、多态、Lambda函数之类的,如果有经验的话很快就明白了;
  5. 异常、错误处理、断言、日志和调试支持,对单元测试的支持。你不一定要用TDD,但是在这个时候应该掌握在这个语言里做TDD的基本技能;
  6. 程序代码和可执行代码的组织机制,运行时模块加载、符号查找机制,这是初学时的一个难点,因为大部分书都不太注意介绍这个极为重要的内容;
  7. 基本输入输出和文件处理,输入输出流类的组织,这通常是比较繁琐的一部分,可以提纲挈领学一下,搞清楚概念,用到的时候查就是了。到这个阶段可以写大部分控制台应用了;
  8. 该语言如何进行callback方法调用,如何支持事件驱动编程模型。在现代编程环境下,这个问题是涉及开发思想的一个核心问题,几乎每种语言在这里都会用足功夫,.NET的delegate,Java的anonymous inner class,Java 7的closure,C++OX的 tr1::function/bind,五花八门。如果能彻底理解这个问题,不但程序就不至于写得太走样,而且对该语言的设计思路也能有比较好的认识;
  9. 如果有必要,可在这时研究regex和XML处理问题,如无必要可跳过;
  10. 序列化和反序列化,掌握一下缺省的机制就可以了;
  11. 如果必要,可了解一下线程、并发和异步调用机制,主要是为了读懂别人的代码,如果自己要写这类代码,必须专门花时间严肃认真系统地学习,严禁半桶水上阵;
  12. 动态编程,反射和元数据编程,数据和程序之间的相互转化机制,运行时编译和执行的机制,有抱负的开发者在这块可以多下些功夫,能够使你对语言的认识高出一个层面;
  13. 如果有必要,可研究一下该语言对于泛型的支持,不必花太多时间,只要能使用现成的泛型集合和泛型函数就可以了,可在以后闲暇时抽时间系统学习。需要注意的是,泛型技术跟多线程技术一样,用不好就成为万恶之源,必须系统学习,谨慎使用,否则不如不学不用;
  14. 如果还有时间,最好咨询一下有经验的人,看看这个语言较常用的特色features是什么,如果之前没学过,应当补一下。比如Ruby的block interator, Java的dynamic proxy,C# 3的LINQ和extension method。没时间的话,也可以边做边学,没有大问题。
  15. 有必要的话,在工作的闲暇时间,可以着重考察两个问题,第一,这个语言有哪些惯用法和模式,第二,这个语言的编译/解释执行机制。
  至此语言的基本部分就可以说掌握了,之后是做数据库、网络还是做图形,可以根据具体需求去搞,找相应的成熟框架或库,边做边学,加深理解。对于一个庸俗语言,我自己把上面的内容走一遍大概要花2-3周时间,不能算很快,但也耽误不了太多事情,毕竟不是每个月都学新语言。
  掌握了以上的内容,就给练武术打好了基本功,虽然不见得有多优秀,但是肯定是根正苗红,将来不必绕大弯子。就算是临时使用的语言,把上面这个提纲精简一下,大致能在几天到一周内搞定,不算是太耗时,而且写出来的代码不会太不靠谱。

怎么快速的学习一门编程语言,如java

4. JAVA编程语言是面向对象么?

Java是一门面向对象编程语言。
不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有:
简单性
面向对象
分布式
健壮性
安全性
平台独立
可移植性
多线程
动态性
Java可以编写:
桌面应用程序
Web应用程序
分布式系统
嵌入式系统应用程序

5. 为什么学习编程语言要首选Java

1、据数据显示,自从Java语言诞生以来,就被广大程序员宠爱,Java在企业开发市场占有率极高,排名永据首位。因此Java工程师薪资水平极高,一般初级Java工程师的起薪都在4000~8000之间,二年经验工程师就可以达到10000多了。
2、Java是目前使用最为广泛的编程语言,具有简单,面向对象,稳定,与平台无关,解释型,多线程,动态等优势。
3、下面详细解析一下:
简单
Java 语言简单指易学好用。若是学习过 C++语言,会感觉 Java很眼熟,因为 Java中许多基本语句的语法与 C++一样,例如,常用的循环语句,控制语句等,但不要误解为 Java 是 C++的增强版,Java与C++是两种完全不同的语言,他们各有各的优势。
面向对象
基于对象的编程更符合人的思维模式,使人们更容易编写程序。Java 语言与其它面向对象语言一样,引入了类的概念,类是用来创建对象的模板,它包含被创建的对象的状态描述和方法的定义。
与平台无关
与平台无关是 Java 语言最大的优势。其它语言编写的程序面临的一个主要问题是操作系统的变化,处理器升级以及核心系统资源的变化,都可能导致程序出现错误或无法运行。Java的虚拟机成功地解决了这个问题,Java编写的程序可以在任何安装了 Java虚拟机 。
解释型
Java不像C++,它不针对特定的CPU芯片进行编译,而是把程序编译为称做字节码的一个”中间代码”。字节码是很接近机器码的文件,能够在提供了Java 虚拟机 JVM 的任何系统上被解释执行。
多线程
Java 的特点之一就是内置对多线程的支持.多线程允许同时完成多个任务。C++没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序的设计。
安全
当准备从网络上下载一个程序时,最担心程序中含有恶意的代码,比如试图读取或删除本地机上的一些重要文件,甚至该程序是一个病毒程序等.当使用支持Java的浏览器时,可以放心地运行Java的小应用程序Java Applet ,不必担心病毒的感染和恶意的企图,Java小应用程序将限制在 Java运行环境中,不允许它访问计算机的其它部分。
动态
Java 程序的基本组成单元就是类,有些类是自己编写的,一些是从类库中引入的,而类又是运行时动态装载的,这就使得 Java 能够在分布环境中动态地维护程序及类库,而不像 C++那样,每当其类库升级之后,相应的程序都必须重新修改,编译。

为什么学习编程语言要首选Java

6. java编程语言有哪些特点

Java语言的特性:简单性:    *  Java语言的语法特性类似于C++(有没有C++基础没关系,各有各得好处);    *  Java语言摒弃了C++中容易引发错误的地方,例如指针和内存管理等;    *  Java 提供了非常丰富的类库供我们使用(丰富不代表包罗万象,很多时候都需要自己写新的类库,我觉得Java更像是给我们提供了丰富的沙子和水泥,想要房子?好啊,你设计吧,设计完了自己盖。如果和C#比较一下,C#就像是地产商,想要房子?我这里有两居室、三居室和花园洋房,马上就能交钥匙,要哪个?)。安全性:    *  不会引起致命的错误;    *  到目前为止,没有任何一种Java病毒(记得参加SUN公司的JavaOne大会,主持人跑出来非常兴奋的告诉大家:“到目前为止,还没有出现Java病毒。”);    *  基于网络的安全管理机制;可移植性:    *  Java是一种跨平台的开发语言(就像是金鱼要生活在鱼缸中,鱼缸却能放在不同的家中,金鱼跨平台了吗?没有,跨平台的是鱼缸。相同的道理,Java运行于虚拟机JVM上,JVM有Windows版、Linux版、Unix版等,所以Java就跨平台了)。面向对象性:    *  Java是一种纯面向对象OOP的编程语言(近年来OOP如日方中,其中Java起到了很大的推动作用,但Java不是第一个,也不是最后一个OOP语言)。有这么一句经典的,最令初学者头痛的概念:“万物皆为对象”,我在初学的时候就被这句话(忽悠)了一个月。健壮性:    *  没有指针使Java 减少了内存出错的可能;    *  实现了真数组,避免数据覆盖;    *  异常管理机制。多线程性:    * Java为我们提供了强大的多线程机制。体系结构中立:    * Java是一种不带平台特点的语言(将Java编译成一种.class文件,可以在任何安装有JVM的机器上运行);解释执行与高性能:    * Java 解释器能直接运行目标代码指令(评价:够用、绝对够用)。分布式:Java 有强大的基于网络的类库供我们使用(有很多著名的支持分布式运算的软件都是使用Java开发)。动态性:    *  准确的讲Java不能称为动态语言(动态语言是指程序在运行时可以改变其结构),然而Java的反射机制赋予了它对类动态加载调用的能力,所以很多朋友都称Java为准动态语言。

7. 为什么这么多人选Java编程语言

因为四个特性。。。强类型,静态语言,面向对象,多线程。。。。
全世界的编程语言,有好几百种。。。。但强类型静态语言,却非常少,除了上世纪80年代以前的老古董之外,全世界还有人用的静态语言,一共就只有8门。剩下的几百门,全都是要么是弱类型语言,要么是动态语言。
而这8门语言,全都在编程语言排行榜的前20名之内。换言之,全世界仅有8门语言与众不同,而它们全都是世界最主流的20门语言之一,世界上所有的静态语言,每一门人都很多,没有一门人少的。
八门语言按照诞生时间排序,分别是JAVA,C++,C#,Objective-C,VB.NET,Go语言,SWIFT。。。。而这8门语言之中,又只有5门拥有全部的四大特性。分别是:JAVA,C++,C#,Swift,Go语言。
其中,Swift和Go由于是新语言,诞生年代比较吃亏之外,另外三门,都在编程语言排行榜前5名之内。
简单做个总结吧:世界上的编程语言有几百种,其中有8门语言,就占了总人数的三分之一以上。。。而其中的3门语言,就占了总人数的四分之一以上。
所以你明白了吧?并不是只有JAVA人多。。。只要是强类型,静态,面向对象,多线程的语言。。。。人都很多。。。。这四个特性,是所有语言的发展方向。少一个特性,就算是有一些“残疾”。
有些语言,在诞生之初,四个特性全都没有。。。最后也会随着版本升级,逐渐的去补充这些特性。。。比如PHP,JAVASCRIPT,这两门语言在诞生之初,就完全没有这四个特性。
后来PHP在5.0版本,加入了面向对象和多线程。。。JAVASCRIPT也在ES6的时候加入了面向对象。又通过Node.JS实现了“伪多线程”。另外还有Typescript等方法,可以间接使JAVASCRIPT拥有强类型特性。。。
Python初期除了强类型之外,另外三个特性都没有。。。也随着版本升级,加入了面向对象和“伪多线程”。。
除了新兴语言之外,从一开始,就拥有全部特性的语言。。。就只有JAVA,C++和C#这三种。。人多是理所当然的吧?
多线程,面向对象,都可以随着版本升级,后加上去,但静态特性,却是很难加上去的。。。。

为什么这么多人选Java编程语言

8. 编程语言学哪个好

简单点说就是两条路:
一、C\C++\C#(ASP.NET)
二、JAVA(J2SE\J2EE\J2ME\JSP)
走这两条路都必学的:数据结构、数据库(SQL或Oracle)
选学:计算机应用基础、网络基础、硬件基础。

C是学习高级语言的基础;C++主要用于编写大型软件核心代码和汇编一样,比较难学,不过学好了后,很有前途;C#主要用于编写一些系统软件,比如游戏引擎核心代码,编写比较简单,界面比较友好;ASP.NET主要是用C#语言编写开发网站(B/S架构)。
J2EE是用很广泛,主要偏向于企业应用软件和一些桌面系统(C/S架构),计算机平台;第二,J2ME,面向无限领域,主要用于开发手机一些软件,比如手机游戏。很有潜力的家伙,看看中国的手机用户就知道了;JSP主要也是开发网站。

大概就是这些。说得太多了,可能你初次接触也比较麻烦。两者根本就没有一个肯定的说法谁好谁不好。我说下我个人感觉吧。初次涉及Java领域,感觉到Java入门是好像没有C,C++入门快,工具也没有什么Turbo C,Visual C++好用,界面没有它们友好。什么JAVA_HOME,CLASSPATH,虚拟机等概念都是初次接触,学的东西比较多。不过学Java的目前比C的好找工作点,我个人感觉。

不过作为一个高级的程序员,绝对不仅仅只会一门语言的。这就是他们常说的“精一门,通两门,熟三门...”
至于证书,C好像没有专门的证书,只是有等级认证。
Java证书一般就是SUN公司的认证了,有权威,含金量高。
Sun的Java认证有多种,SCJA、SCJP、SCJP、SCWCD、SCBCD、SCDJWS、SCMAC、SCEA,想考高级别的要先考低级别的
最新文章
热门文章
推荐阅读