什么是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. pnpm 管理依赖包是如何节省磁盘空间的?

    npm 存在的问题 我们经常使用 npm 来管理 node 项目中的包,从 package.json 中读取配置将依赖下载到本地,以保障项目的正常运行. 当项目数量多时,这样的包管理方式会非常的占用电 ...

  2. 洛谷4055 [JSOI2009]游戏(二分图博弈)

    例题:在N×M的迷宫中有一个棋子,小 AA 首先任意选择棋子放置的位置.然后,小 YY 和小 AA 轮流将棋子移动到相邻的格子里.游戏的规则规定,在一次游戏中,同一个格子不能进入两次,且不能将棋子移动 ...

  3. AtCoder_abc330

    AtCoder_abc330 比赛链接 A - Counting Passes A题链接 题目大意 给出\(N\)个数\(a_1,a_2,a_3\cdots,a_N\),和一个正整数\(L\).输出有 ...

  4. [.NET开发者的福音]一个方便易用的在线.NET代码编辑工具.NET Fiddle

    前言 今天给大家分享一个方便易用的.NET在线代码编辑工具,能够帮助.NET开发人员快速完成代码编写.测试和分享的需求(.NET开发者的福音):.NET Fiddle. .NET Fiddle介绍 我 ...

  5. 华企盾DSC忘记了数据库解锁密码

    解决方法:登录数据库控制台,找到DSE所使用数据库默认名字"DSEDB",打开表"FileEncryptKey_TABLE",如下图所示: ​ 第一行,自动生成 ...

  6. Swagger配置类

    Swagger配置类 package com.guoba.servicebase.config; import com.google.common.base.Predicates; import or ...

  7. uniapp-welive仿微信/抖音直播带货|uni-app+vue3+pinia短视频直播商城

    基于uniapp+vue3+uv-ui跨端H5+小程序+App短视频+直播带货商城Uniapp-WeLive. uni-welive一款全新基于uniapp+vue3+pinia+vk-uview等技 ...

  8. springsecurity 使用浅谈(一)

    1. 背景 springsecurity框架主要用于Web应用的认证和授权.所谓认证就是验证当前访问系统的是不是本系统的用户,并且要确认具体是哪个用户.而授权就是经过认证后判断当前用户是否有权 限进行 ...

  9. 文心一言 VS 讯飞星火 VS chatgpt (173)-- 算法导论13.3 2题

    二.用go语言,将关键字41.38.31.12.19.8连续地插入一棵初始为空的红黑树之后,试画出该结果树. 文心一言: 首先,我们需要了解红黑树的性质.红黑树是一种自平衡二叉查找树,其中每个节点要么 ...

  10. 解决 git中用vim编写文件时,无法写进文字字母以及光标无法移到最右边的问题

    解决方法:可以切换到英文输入法,然后按'a' 或者 'i'  或者 'o' 或者's'  等.s好像会删掉一个字母.o会使光标移到文末.