什么是Java?

Java 是一种用于互联网分布式环境的面向对象编程语言。它是一种高级语言,也易于阅读和理解。有了它,开发人员可以“编写一次,随处运行”(WORA),这意味着编译后的 Java 代码将在所有 Java 兼容平台上运行,而无需重新编译。

Java的历史

James Gosling 和 Sun Microsystems 于 1991 年发明了 Java 编程语言。他在创建该语言时有一个座右铭:“一次编写,一次编写”。到处跑。” 他们最初将这种语言命名为 Oak,因为 Gosling 办公室外面有一棵橡树。后来名字改为Green,再改为Java Coffee,以产自印度尼西亚的咖啡命名,最终于1995年缩写为Java。

Java 的用途是什么?

Java 广泛应用于 Web 控制台、GUI、Web 和移动应用程序、游戏开发、嵌入式系统和桌面应用程序。除此之外,Java还用于开发设备软件。它不仅用于计算机和移动设备,甚至还用于电视、空调、洗衣机等电子设备。由于 Java,在线注册表、银行应用程序和互联网购物都成为可能。

Java 是基于什么?

Java是基于C和C++的。第一个 Java 编译器由 Sun Microsystems 开发,并使用 C++ 中的一些库用 C 语言编写。Java 文件使用编译器转换为位代码格式,然后由 Java 解释器执行。Java 代码在 Java 虚拟机 (JVM)(运行时环境)上运行。

Java 版本

Java 共有三个版本。程序员可以根据他们想要制作的应用程序来学习这些版本中的任何一个。

  • Java 标准版 - 包含核心库,如 java.lang、java.util 等。
  • Java 企业版- 包括Java API,如 JMS、EJB、JSP/servlet 等。
  • Java Micro Edition  - 该版本用于在手机、机顶盒、手持设备等中对 Java 进行编程。

Java 使用最广泛的版本是 Java SE(标准版)。Java SE 包含 Java 的基础知识 — 大多数应用程序需要标准版。

Java的概念和特点

Java概念

Java 中的基本概念是其面向对象编程 (OOP) 功能。OOP 通过提供一些概念来简化软件和应用程序的开发以及维护,例如:

  • 对象:对象是具有状态和行为的元素或实体。例如,狗可以被视为具有颜色、品种和名称的对象。它有吠叫和进食等行为。
  • :类是多个对象的集合。它是一个蓝图,可用于创建任意数量的对象。类用于组织代码,就像超市中的水果、蔬菜和临床产品被划分为不同的部分一样。
  • 构造函数:构造函数可能看起来像一种方法,但它不是一种方法。它的名称与类名相同,并且不返回任何值。
  • 继承:继承是一个类获取父类的属性和行为的概念。
  • 多态性:多态性是以不同方式执行同一任务的过程。它允许程序员在不同的上下文中使用相同的单词来表示不同的事物。
  • 抽象:Java 中的抽象用于隐藏内部细节并仅显示相关的基本细节。
  • 封装:将代码和数据绑定或包装到一个单元(如胶囊)中称为封装。Java 类是封装的一个例子。

Java特性

Java 具有多种品质和特性,包括:

  • 简单的语法非常容易理解和学习
  • Java 语言很健壮
  • 消除 C 和 C++ 语言中出现的错误
  • Java 包含垃圾收集器和异常处理等功能
  • 作为一种可移植语言,Java可以运行在任何平台上
  • Java 是安全的并且可以执行多任务处理
  • Java 不如 C 和 C++ 快,但它提供比任何其他语言更高的性能

现在我们已经讨论了 Java 的不同特性,接下来让我们看看 Java 编程语言的不同组件。

Java的组件

Java 编程语言由三个主要组成部分组成,包括:

  1. JVM:Java 虚拟机或 JVM 是一个独立于平台的 Java 组件,为执行 Java 程序提供环境。因此,JVM 加载代码、验证代码、执行代码并提供运行时环境。
  2. JRE:Java运行时环境或JRE构建了Java文件可以运行和执行的环境。它是一个包含 JVM 以及 Java 类库和 Java 类加载器的软件包。
  3. JDK:Java 开发工具包或 JDK 是 JRE 的超集,是用于开发 Java 应用程序和小程序的软件开发环境。JDK 包括一个私有 JVM 和一些其他资源来完成 Java 应用程序的开发。

Java OOP 概念

面向对象编程(OOP)有四个主要概念,包括:

1. 抽象

抽象意味着显示相关细节并隐藏所有后端或内部细节。在下面的示例中,对于要进入大学的学生,询问的相关详细信息将是姓名、地址、父母姓名和高中成绩。喜欢的运动、食物或电影等细节并不相关。

2. 封装

封装类似于胶囊。整个代码和所有数据都绑定在一个单元中。所有的方法和变量都存储在一个类名下,同一个类对象可以使用它。

3. 多态性

多态性意味着一项任务以不同的方式执行。一种功能用于不同的任务。在下面的示例中,方法draw()可以在不同的地方使用来绘制不同的形状,如三角形、矩形或圆形。

4. 继承

当一个类继承其他类的某些属性时,称为继承。总是有一个超类和一个子类。子类继承了超类的属性。在下面的示例中,动物是具有 eat() 和 sleep() 属性的超类。爬行动物、哺乳动物和人类子类继承了这些属性。

如何学习Java?

Java 是最常用的编程语言之一,主要是因为 Java 天生具有通用性、可靠性和兼容性。因此,如果您想开始编程职业,这是一项急需的技能。以下是一些入门技巧:

  • 从 Java 编程基础知识开始(变量、数据类型、条件语句、数组、循环、函数)
  • 阅读一本有关 Java 编程的书,了解基本概念
  • 学习高级主题(面向对象编程、继承、抽象类、Java 接口、集合、抽象类、异常处理、包装类)
  • 定期练习编码以了解从经验中学习
  • 阅读有关 Java 的文章和新文档以了解最新信息

Java 中的 Hello World 程序

输出:

不使用临时变量交换两个数字

输出:

01-什么是 Java:Java 初学者指南的更多相关文章

  1. Java多线程初学者指南系列教程

    转自:http://developer.51cto.com/art/200911/162925.htm 51cto 本系列来自NokiaGuy的“真的有外星人吗”博客,系列名称为<Java多线程 ...

  2. 【系列】Java多线程初学者指南(1):线程简介

    原文地址:http://www.blogjava.net/nokiaguy/archive/2009/nokiaguy/archive/2009/03/archive/2009/03/19/26075 ...

  3. Java多线程初学者指南(7):向线程传递数据的三种方法

    在传统的同步开发模式下,当我们调用一个函数时,通过这个函数的参数将数据传入,并通过这个函数的返回值来返回最终的计算结果.但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别.由于线程 ...

  4. Java多线程初学者指南(12):使用Synchronized块同步变量

    我们可以通过synchronized块来同步特定的静态或非静态方法.要想实现这种需求必须为这些特性的方法定义一个类变量,然后将这些方法的代码用synchronized块括起来,并将这个类变量作为参数传 ...

  5. Java多线程初学者指南(10):使用Synchronized关键字同步类方法

    要想解决“脏数据”的问题,最简单的方法就是使用synchronized关键字来使run方法同步,代码如下: public synchronized void run() { ... } 从上面的代码可 ...

  6. Java多线程初学者指南(9):为什么要进行数据同步

    Java中的变量分为两类:局部变量和类变量.局部变量是指在方法内定义的变量,如在run方法中定义的变量.对于这些变量来说,并不存在线程之间共享的问题.因此,它们不需要进行数据同步.类变量是在类中定义的 ...

  7. Java多线程初学者指南(8):从线程返回数据的两种方法

    从线程中返回数据和向线程传递数据类似.也可以通过类成员以及回调函数来返回数据.但类成员在返回数据和传递数据时有一些区别,下面让我们来看看它们区别在哪. 一.通过类变量和方法返回数据 使用这种方法返回数 ...

  8. Java多线程初学者指南(6):慎重使用volatile关键字

    volatile关键字相信了解Java多线程的读者都很清楚它的作用,和sychnorized 一样用于多线程的同步.volatile关键字用于声明简单类型变量,如int.float.boolean等数 ...

  9. Java多线程初学者指南(4):线程的生命周期

    与人有生老病死一样,线程也同样要经历开始(等待).运行.挂起和停止四种不同的状态.这四种状态都可以通过Thread类中的方法进行控制.下面给出了Thread类中和这四种状态相关的方法. // 开始线程 ...

  10. Java多线程初学者指南(11):使用Synchronized块同步方法

    synchronized关键字有两种用法.第一种就是在<使用Synchronized关键字同步类方法>一文中所介绍的直接用在方法的定义中.另外一种就是synchronized块.我们不仅可 ...

随机推荐

  1. 江西财经大学第一届程序设计竞赛 I 题 小P和小Q

    题目链接:https://www.nowcoder.com/acm/contest/115/I 这题目要注意的是!!!pow函数前强制类型转换一定要float !!!一定要是float,double不 ...

  2. 在灾难推文分析场景上比较用 LoRA 微调 Roberta、Llama 2 和 Mistral 的过程及表现

    引言 自然语言处理 (NLP) 领域的进展日新月异,你方唱罢我登场.因此,在实际场景中,针对特定的任务,我们经常需要对不同的语言模型进行比较,以寻找最适合的模型.本文主要比较 3 个模型: RoBER ...

  3. 【内核】基于 LSM 框架的 ELF 校验控制

    欲实现操作系统对正在加载的 ELF 文件的校验控制,需要借助 LSM 框架. LSM 框架介绍 LSM 全称 Linux Security MOdule,是 Linux 的一个安全模块框架.LSM 为 ...

  4. 华企盾DSC启动服务器提示“发生系统错误5”

    解决方法:没有管理员权限 导致,需要以管理员权限运行服务器安装包,覆盖安装一下

  5. Cesium最简单的视效升级方案,无需修改代码即可实现

    Cesium依靠其开源免费的特点基本上完全垄断了GIS这一块,并且其中99%的用户都是使用的CesiumJS,然而,对于一些使用Cesium的项目来说,要想升级视效可能需要进行繁琐的代码修改,增加了开 ...

  6. 23年底,我出齐了Spring boot,Spring cloud和案例方面的书,正在写一本面试书(代年终总结)

    年末了,再来总结一下吧,希望本人明年的年终总结文还能在博客园发. 这次总结的主题是本人出的java书.这几年本人出了不少书,其中有python.redis和Java方面的. 姑且不说其它,java方面 ...

  7. 使用dtd定义元素

  8. 学习JVM---入门

    1.JVM体系结构 JVM的位置 JVM体系结构 2.类加载器 双亲委派机制 package java.lang; /** * 测试自定义java.lang.String类能否运行成功 * 体会双亲委 ...

  9. DC-3

    DC-3 前言:这个DC系列去年就做完了,但是因为那时候visualbox老崩搞得头大,一直漏了DC-3没做.现在重新搞好了来完结这个系列 扫存活的主机,显示只开了80 扫了一下目录,看了几个没有什么 ...

  10. Pikachu漏洞靶场 敏感信息泄露

    敏感信息泄露 概述 由于后台人员的疏忽或者不当的设计,导致不应该被前端用户看到的数据被轻易的访问到. 比如: 通过访问url下的目录,可以直接列出目录下的文件列表; 输入错误的url参数后报错信息里面 ...