Java 和 JavaScript 有什么区别?

什么是Java?

Java是一种OOP(面向对象的编程语言)、基于类的、具有VM(虚拟机)平台的多平台编程语言。OOP 是一种基于包含代码和数据的对象概念的编程范式。虚拟机可帮助您创建可在任何平台、任何地方灵活运行的编译程序。Java 将此概念称为一次编写,随处运行。

如何开始用 Java 编写代码

需要遵循两个简单的设置步骤:

1.下载并设置 Java SE 开发工具包

2.选择您喜欢的任何编辑器

作为一个初学者我建议你选择记事本,因为它是最基本的。其他的编辑器或 IDE 也可以工作,只是尽量不要太花哨,因为您现在想专注于基本要素。

用Java编写一个简单的代码

让我们看看如何用 Java 简单地打印一个 hello world 程序。

// 一个用于打印简单字符串(字符输入类型,例如 HelloWorld)的 Java 程序,class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}
}

代码说明

  • 你看到的第一行以描述我们程序的功能的通用注释语句开头。可以看到它以//XXX开头,它是单行注释(仅限于单行的注释)的符号表示。
  • 在我们进入下一行之前,让我们探索大括号。大括号{是指相应类或函数的开头,而大括号}是指它结束的地方。
  • class指的是一个对象构造函数,或者简单地说,是我们从中创建对象的蓝图。每个类都有一个名称,在我们这种情况下,我们的类名称是HelloWorld。
  • 现在进入我们程序的主要方法,即
public static void main(String[] args)

现在让我们把它分解成几块:

  1. public 指任何人都可以从任何地方访问此方法,这意味着它在全局范围内可用。
  2. static 是一个关键字,它简单地定义此方法是静态的且无法更改。
  3. void 也是一个关键字,指的是不返回任何内容的方法。
  4. main 指的是 Java main 方法的名称。
  5. String args[]指的是传递给 main 方法的参数。args指的是字符串的名称。您可以args使用任何其他字符串名称命名,这只是用于它的标准命名。
  6. System.out.println("Hello, World!");这是我们Hello, World!打印的实际输出行。单个语句和变量声明以分号结尾。

对于只在屏幕上打印单个字符串的程序来说,这听起来很复杂吗?确实如此,这也是为什么学习 JavaScript 是初学者开发者更好的选择的原因之一。

什么是 JavaScript?

JavaScript 是一种轻量级的高级脚本编程语言,通常用于使网页具有动态性和交互性。它可以将动态文本添加到 HTML 中,并以浏览器语言而闻名。我们将在与 Java 的比较中讨论它的详细特性。

如何开始使用 JavaScript 编写代码

您只需要具备以下 2 件事即可开始使用 JavaScript:

1.浏览器(谷歌浏览器、Safari、Firefox、Internet Explorer等等)

2.编辑器(记事本、VS Code、Atom等)

如何编写你的第一个JavaScript 程序

让我们看看如何用 JavaScript 编写第一个 hello world 程序:

// 一个用于打印简单字符串(字符输入类型,例如 HelloWorld)的 JavaScript 程序,console.log('Hello World');

代码说明

  • 第一行也是同一个单行注释,就像我们前面在 Java 程序中看到的那样。
  • 在 JavaScript 中,我们简单地使用语句
console.log

在控制台上打印任何内容(一个提供对浏览器调试控制台的访问的对象)。简而言之,您可以在以下情况下查看它:

  1. 右击鼠标
  2. 点击检查
  3. 选择控制台选项卡
  4. 在控制台查看记录的语句

现在告诉我,和Java相比,它要容易多少?

你是对的,它们甚至一点都不相似。

Java 和 JavaScript 之间的主要区别

我们可以注意到两种语言之间存在以下主要差异:

  • 编程范式: Java 严格遵循面向对象编程范式,而 JavaScript 遵循多范式,包括面向对象编程、过程化和脚本编程语言。
  • 代码执行: Java 应用程序具有在 JVM(Java 的虚拟运行时环境)上运行的灵活性,而 JavaScript仅在特定于浏览器的特定于应用程序的环境中运行。
  • 对象: Java 对象纯粹是基于类的,而 JavaScript 对象是基于原型的。
  • 类型检查: Java 确保在编译前对其变量和函数进行强类型检查,这使得运行或编译时运行的概率非常低。然而,JavaScript是弱类型的,变量的类型在编译之前是未知的,因此,运行或编译时错误的机会增加。
  • 文件扩展名: Java 具有.java文件扩展名,而 JavaScript 具有.js文件扩展名。(顺带提一下,我们常说的Js等同于JavaScript ,只不过一个是全称,一个是缩写)
  • 多线程: Java 支持多线程(同时执行两个或多个线程以最大限度地利用 CPU),而 JavaScript 不支持。
  • 内存使用:由于 Java 有很多内容,所以它占用更多的空间,而 JavaScript 占用的空间更少。
  • 语言依赖:两种语言都可以独立工作,也可以与其他语言配对。
  • 并发方法: Java 利用其多线程能力并具有基于线程的方法,而 JavaScript 则遵循事件驱动的方法。
  • 性能:由于其参与的性质,脚本语言总是比纯编程语言更有效,因此,与 JavaScript 相比,Java 效率较低且速度较慢。

Java 和 JavaScript 之间的相似之处

刚才探讨了有什么不同对吧?现在让我们也探讨一下这两者有什么共同点。

  • 浏览器兼容性:两种语言都可以在浏览器上运行。
  • 支持:两种语言都有很多在线支持社区。
  • 语法和编程概念:

虽然两者都是两种不同的语言,但都共享相同的核心编程概念和一些语法概念,例如:

  1. 使用编程循环,例如 for 循环、while 循环。
  2. 使用条件语句,例如 if 和 else if。
  3. 使用 Math.pow 等数学库。
  4. 常见的共享语法符号,例如代码块定界符{},以分号结尾的代码语句。
  • 相似名称:这个很奇怪,Java 和JavaScript 都有“Java”的共同点,尽管这两种语言完全不同。

结论

综上所述,Java和JavaScript是两种不同的不同语言。它们之间的一些相似之处主要来自核心编程原则,但除此之外,它们都是两个不同的世界,它们具有相似的名称,但主要区别在于彼此。

下面附上Java和JavaScript的教程,感兴趣的可以学习一下:

黑马程序员Java零基础视频教程_上部(Java入门,含斯坦福大学练习题+力扣算法题和大厂java面试题)

黑马程序员Java零基础视频教程_下部(Java入门,含斯坦福大学练习题+力扣算法题和大厂java面试题)

黑马程序员前端JavaScript入门到精通全套视频教程,javascript核心进阶ES6语法、API、js高级等基础知识和实战教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/138525.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器硬件有哪些组成

服务器是由处理器、硬盘、内存、显卡、主板、网卡等组成,今天小编带大家了解一下服务器有哪些硬件吧! 1.最重要的当然就是处理器了,处理器就相当于是服务器的大脑,负责执行各种运算和指令,例如运行程序或者处理数据&am…

Linux - 基础IO(Linux 当中的文件,文件系统调用接口,文件描述符)- 上篇

前言 首先,关于文件我们最先要理解的是,文件不仅仅存储的是数据,一个文件包括 内容 数据。内容好理解,就是我们先要这文件存储哪一些数据,这些数据就是文件的内容。 但是,在计算机当中,有两种…

二十三种设计模式全面解析-享元模式(Flyweight Pattern)详解:构建高效共享的对象结构

在软件开发中,我们经常会面临大量相似对象的创建和管理问题。这些相似对象的创建和销毁过程可能会占用大量的内存和系统资源,导致性能下降。为了解决这个问题,享元模式(Flyweight Pattern)应运而生。本文将深入探讨享元…

【数据结构】树与二叉树(十):二叉树的先序遍历(非递归算法NPO)

文章目录 5.2.1 二叉树二叉树性质引理5.1:二叉树中层数为i的结点至多有 2 i 2^i 2i个,其中 i ≥ 0 i \geq 0 i≥0。引理5.2:高度为k的二叉树中至多有 2 k 1 − 1 2^{k1}-1 2k1−1个结点,其中 k ≥ 0 k \geq 0 k≥0。引理5.3&…

WAF入侵防御系统标准检查表

软件开发全文档获取:进主页

GitHub Copilot Chat将于12月全面推出;DeepLearning.AI免费新课

🦉 AI新闻 🚀 GitHub Copilot Chat将于12月全面推出,提升开发者的生产力 摘要:GitHub宣布将于12月全面推出GitHub Copilot Chat,这是GitHub Copilot的一个新功能,旨在帮助开发者编写代码。它能够集成到开…

【Linux】语言层面缓冲区的刷新问题以及简易模拟实现

文章目录 前言一、缓冲区刷新方法分类a.无缓冲--直接刷新b.行缓冲--不刷新,直到碰到\n才刷新c.全缓冲--缓冲区满了才刷新 二、 缓冲区的常见刷新问题1.问题2.刷新本质 三、模拟实现1.Mystdio.h2.Mystdio.c3.main.c 前言 我们接下来要谈论的是我们语言层面的缓冲区&…

No source control providers registered

使用vscode时碰到这个问题 git扩展没启动

centos 7.9系统安装老版本jenkins,并解决插件问题

1.初衷 因为jenkins随着时间推移,其版本也越来越新,支持它运行的JDK也越来越新。基于不折腾的目标,我们安装一个老的固定版本就行。以前安装新版本,经常碰到的问题就是插件安装不兼容的问题。现在这个问题,可以把以前…

Sprint Boot 学习路线 4

微服务 Spring Microservices是一个框架,它使用Spring框架更容易地构建和管理基于微服务的应用程序。微服务是一种架构风格,其中一个大型应用程序被构建为一组小型、独立可部署的服务。每个服务具有明确定义的职责,并通过API与其他服务通信。…

解析html生成Word文档

内容:读取html文件中的文本内容,然后生成Word文档导出。 事例场景:需求开发完成之后需要写文档(代码修改清单),文档内容就是这次需求修改/新增的所有代码,需要列出修改的文件路径以及代码片段&…

Python实战:绘制直方图的示例代码,数据可视化获取样本分布特征

文章目录 一、初步二、参数三、绘图类型四、多组数据直方图对比Python技术资源分享1、Python所有方向的学习路线2、学习软件3、精品书籍4、入门学习视频5、实战案例6、清华编程大佬出品《漫画看学Python》7、Python副业兼职与全职路线 一、初步 对于大量样本来说,如…

systemctl enable docker.service报错“Failed to execute operation: Bad message“

将docker加入到开机自启,报错: 解决: 重新粘贴复制: [Unit] DescriptionDocker Application Container Engine Documentationhttps://docs.docker.com Afternetwork-online.target firewalld.service Wantsnetwork-online.target…

Java 学习笔记

文章目录 一、集合1.1 List1.1.1 ArrayList1.1.2 Vector1.1.3 LinkedList 1.2 Deque1.3 Set1.4 Map1.4.1 HashMap1.4.2 LinkedHashMap 1.5 注意事项 二、函数式接口和 Lambda 表达式三、方法引用3.1 静态方法引用3.2 实例方法引用3.2 特定类型的方法引用3.4 构造器引用 四、Str…

VS c++多文件编译

前言:记录下我这个菜鸡学习的过程,如有错误恳请指出,不胜感激! 1.简单多文件编译调试 文件目录: 编译: -g选项是告诉编译器生成调试信息,这样可以在程序崩溃或出现错误时更容易地进行调试。这…

如何在不结束tcpdump的情况下复制完整的pcap

tcpdump正在运行的时候,他写入的pcap可能是不完整的,通常我们要结束掉tcpdump才能拿到完整的pcap,否则wireshark打开的时候会提示:The capture file appears to have been cut short in the middle of a packet。这可能是因为tcpd…

Windows下安装Anaconda5.3.1+Python3.8+TensorFlow2.13.0-CPU版本总结

Python3.8安装可以参考博文https://janus.blog.csdn.net/article/details/55274849 进行安装即可。 【1】Anaconda 清华的开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/下载,这里选择的是5.3.1版本。 然后正常安装就可以&am…

Oracle-Ogg集成模式降级为经典模式步骤

前言: Ogg集成模式降级为经典模式的场景比较少,因为降级为经典模式会导致无法支持压缩表同步,XA事务,多线程模式,PDB模式同步等功能,除非遇到集成模式暂时无法解决的bug或者环境不支持集成模式,比如DG备库环…

华为ensp:交换机接口划分vlan

现在要把 e0/0/1 接口放入vlan1 e0/0/2 接口放入vlan2 e0/0/3 接口放入vlan3 默认所有接口都在vlan1所以 e0/0/0 接口不用动 1.创建vlan 进入系统视图模式 直接输入 vlan 编号 即可创建对应vlan vlan 编号 vlan 2 创建vlan2 vlan 3 创建vlan3 2.将接口进入vlan…

HALSTM32通用定时器+EXTI实现单击/双击/长按功能

HALSTM32通用定时器EXTI实现单击/双击/长按功能 ✨在使用USB功率计的时候,发现上面的一个按键实现多画面功能切换,于是探索了一下是如何实现的,将其实现的基本思路以及综合网上收集的相关实现方法,粗陋的整理了一下,将…