【JavaSE】初识Java

news2024/11/25 2:52:19

文章目录

  • 一. Java语言概述
    • 1. Java语言的组成
      • 1.1 什么是JavaSE
      • 1.2 什么是JavaEE
      • 1.3 什么是JavaME
    • 2. Java语言的产生
    • 3. Java语言的优势
  • 二. 初识Java的main方法
    • 1. main方法示例
    • 2. 运行Java程序

一. Java语言概述

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++中难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

1. Java语言的组成

JavaSE、JavaEE、JavaME共同组成了Java的整个体系

1.1 什么是JavaSE

JavaSE全称Java Standard Edition,即Java标准版,以前称为J2SE。它是学习Java语言的基础,包括:

  • 面向对象
  • 多线程
  • IO流
  • JavaSwing
  • 其他

1.2 什么是JavaEE

JavaEE全称Java Enterprise Edition,即Java企业版,以前称J2EE。它是在JavaSE的基础上,添砖加瓦后出现的一种规范,通常是各种框架。包括:

  • serclet
  • jstl
  • jsp
  • spring
  • mybatis
  • 其他

1.3 什么是JavaME

JavaME全称Java Micro Edition,即Java微缩版,以前称J2ME。主要应用于嵌入式开发,比如手机程序的开发,J2ME为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境,包括虚拟机和一系列标准化的Java API。

2. Java语言的产生

首先拜见Java祖师爷:詹姆斯·高斯林(James Gosling)。他是一名软件专家,1955年5月19日出生于加拿大,Java编程语言的共同创始人之一,一般公认他为“Java之父”。
在这里插入图片描述

1991 年, 由Sun公司带领的开发小组(詹姆斯·高斯林也是当时小组的一员), 想设计一种小型的计算机语言,主要用于有线电视转换盒这类的消费设备。 由于这类设备的处理能力和内存都非常有限,所以语言就必须设计的非常小且能够生成紧凑的代码。 另外,由于不同的厂商会选择不同的CPU, 因此很重要的一点就是这种语言不应该与任何特定的体系结构绑定。这个项目当时被命名为 “Green”。

Sun公司的人都有Unix的应用背景, 所以开发的语言就以C++为基础。并把这种语言称为 “Oak”,后来, Sun公司的人发现, Oak是一种已经有的计算机语言的名字, 于是,1995将其改名为 “Java”。

Java的logo如下图所示:
在这里插入图片描述
可以看到图标是杯热气腾腾的咖啡。因为高斯林老爷子喜欢喝咖啡,而印度尼西亚有个叫爪哇岛的岛屿土壤非常肥沃,自然条件优越,咖啡等物产丰富,所以给语言命名叫做“Java”。

JavaScript和Java什么关系?

我们经常会在一些语言排行榜上同时看到Java和JavaScript,那么他俩什么关系呢?

要说到这俩的关系,举个例子。就相当于雷锋和雷峰塔的关系或者说老婆和老婆饼的关系(没有一点关系…),最开始JavaScript叫liveScript,当时Java太火了,于是乎liveScript更名为JavaScript借势宣传一波。

JavaScript(常简称为JS)是一门轻量级,解释型,具有第一级函数的面向对象语言,向来以Web网页的脚本语言而著称,但现在也可以用在许多非浏览器环境,例如node.js或者Apache CouchDB。要使用JavaScript是非常简单的,您无需安装特定的开发环境,只需要一个简单的记事本即可编写JavaScript脚本。它具有基本的程序语法和语言结构以及弱数据类型,而这些都是很容易学习和使用的。

JavaScript和HTML、CSS共同组成前端三剑客:
在这里插入图片描述

3. Java语言的优势

语言那么多,每个领域都有更合适的编程语言:

  • Python:处理、分析数据
  • C/C++:处理和操作系统底层相关
  • PHP:编写网页
  • Java:编写应用、WEB方面。

当然Java和C++现在都还可以用来进行后台开发。

二. 初识Java的main方法

1. main方法示例

下面我们在Notepad++中写一个最简单的Java程序:
在这里插入图片描述

把文件保存后命名为HelloWorld.java,可以看到系统识别该文件类型为JAVA文件,因为我们是以.java为后缀的:
在这里插入图片描述

上面程序可能初学者看到后会一头雾水,可以说,Java的main方法应该是当前主流编程语言中最“长”的。
4851f1.png)

通过上述代码,我们可以看到一个完整的Java程序的结构,Java程序的结构由如下三个部分组成:

  1. 源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,类或许只会有一个。类的内容必须包含在花括号里面。
  2. :类中带有一个或多个方法。方法必须在类的内部声明。
  3. 方法:在方法的花括号中编写方法应该执行的语句。

总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。

2. 运行Java程序

学习Java我们一开始都要安装JDK,它是Java开发环境的核心组件,为Java程序编译、运行和调试提供所有工具支持。

如何确定我们已经在自己电脑上安装了JDK呢?Windows + r后输入cmd打开命令行控制器:
在这里插入图片描述

完成后会打开如下界面:
在这里插入图片描述

我们输入java -version可以看到我们安装的JDK版本号:
在这里插入图片描述

输入javac可以看到所有JDK支持的命令:
在这里插入图片描述

以上两步都没问题说明JDK顺利安装完成。

下面我们先进入到刚刚编写的java源文件所在的目录中,命令为:cd 文件路径
在这里插入图片描述

输入javac + 文件名.java开始编译源文件,编译完成后会生成一个同名.class文件,它是一个二进制机器(字节)码文件:
在这里插入图片描述

获得机器码文件后我们可以拿着这个文件直接到JVM(Java虚拟机)上运行,而JVM又是包含在JDK中的,我们需输入java 文件名即可运行:
在这里插入图片描述

main函数中的几点补充

  1. 在源文件中,如果一个类是public所修饰的,则类名需要和文件名一样,否则编译会失败
    在这里插入图片描述
  2. 不是一个文件编译生成一个字节码文件,而是一个类生成一个字节码文件。在一个文件中可以有多个类,但不建定义多个,一般一个文件只定义一个类就够了(软要求)
    在这里插入图片描述
  3. javac的默认编码格式是gbk,而中文属于utf-8,如果源文件代码中有写到中文,则需在编译时指定编码格式为utf-8
    在这里插入图片描述
  4. Java中的三种打印方式
    在这里插入图片描述

总结

  1. 源文件是如何编译、运行的?
    在这里插入图片描述

  2. JDK、JRE、JVM三者关系?
    在这里插入图片描述

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

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

相关文章

学习python第一天,请教一下怎么学?

前言 小白建议以视频入门,或者是看一些适合入门的书比如《笨办法学Python》; 在这个资源泛滥的时代,更需要有自己的一套学习方法。尤其是针对自学来说,遇到问题不知道如何解决,那么就要做好前置的学习计划&#xff1…

我越努力生活,生活就越努力的干我

92年出生,工作9年。我也不知道今年多少岁了,结婚6年,两个小孩,一个是男孩,「该死的」另一个也是男孩,周五晚上,手机屏幕的时间刚过9点50,我小心拉开门缝往里面瞧了一眼后推开房门&am…

C++ Reference: Standard C++ Library reference: C Library: cstring: strchr

C官网参考链接&#xff1a;https://cplusplus.com/reference/cstring/strchr/ 函数 <cstring> strchr const char * strchr ( const char * str, int character ); char * strchr ( char * str, int character ); 定位字符串中第一个出现的字符 返回指向C字符串s…

[前端基础] 浏览器篇

提供基础用法&#xff0c;基础概念引用 MDN、W3C&#xff0c;基础内容做扩展知识&#xff0c;可应对面试&#xff0c;详细原理及应用需要去官网、GitHub 深入学习。 1、常用 BOM 方法 BOM&#xff08;browser object model&#xff09;简称浏览器对象模型&#xff0c;BOM 提供…

【SpringBoot笔记18】SpringBoot实现统一异常处理、统一结果响应、统一参数校验

这篇文章&#xff0c;主要介绍如何利用SpringBoot框架实现统一异常处理、统一结果响应、统一参数校验。 目录 一、SpringBoot统一结果响应 1.1、创建工程 1.2、配置FastJson 1.3、创建ResultEnum枚举 1.4、创建Result实体类 二、SpringBoot统一异常处理 2.1、创建自定义…

【LeetCode 784. 字母大小写全排列】异或进行字母大小写变换

LeetCode784.字母大小写全排列解题方法&#xff1a;回溯用异或进行大小写变换正式解题总代码784.字母大小写全排列 给定一个字符串 s &#xff0c;通过将字符串 s 中的每个字母转变大小写&#xff0c;我们可以获得一个新的字符串。 返回 所有可能得到的字符串集合 。以 任意顺…

htm+JS实现绘制数学函数绘图

htmJS实现绘制数学函数绘图 其中常用的函数可参见&#xff0c;JS中常用的Math方法 https://blog.51cto.com/u_10725738/5253407 https://www.jb51.net/article/9151.htm JS(JavaScript)常用Math函数与用法说明 方法描述示例abs(x)返回数的绝对值。Math.abs(-10)//返回10aco…

【Linux】--谈谈冯诺依曼体系结构和操作系统

文章目录冯诺依曼体系组成部分数据层面CPU存储器外设结论操作系统什么是操作系统为什么要有操作系统怎么去管理总结冯诺依曼体系 冯诺依曼结构是一种将程序指令存储器和数据存储器合并在一起的存储器结构&#xff0c;数学家冯诺依曼提出了计算机制造的三个基本原则&#xff0c…

C++继承、多继承及菱形继承

继承 继承是C面向对象的三大特性之一&#xff08;封装、继承和多态&#xff09;。 一、构造和析构顺序 先执行父类构造函数&#xff0c;再执行子类构造函数&#xff1b; 先执行子类析构函数&#xff0c;在执行父类析构函数。 二、同名隐藏 2.1 概念 子类中的同名属性和成…

vue父子组件传值记录

之前父子组件传值不太熟悉&#xff0c;组件间传值要么用vuex&#xff0c;要么用sessionStorage缓存&#xff0c;但是sessionStorage感觉用多了不太好&#xff0c;缓存太多容易混淆&#xff0c;vuex还是比较好用&#xff0c;&#xff0c;但是用的过程中好像有个问题&#xff0c;…

Shell之计算命令、流程控制、函数

文章目录&#x1f68f; Shell计算命令&#x1f680; Shell计算命令&#xff1a;expr命令详解&#x1f6ac; 求值表达式(整数 前面)&#x1f6ac; 字符串语法&#x1f6ac; 小结&#x1f684; Shell计算命令&#xff1a;(())命令详解&#x1f6ac; 小结&#x1f692; Shell计算命…

linux:2.3.4 查找/搜索命令(find+grep)+压缩/解压缩命令(gzipbzip2+tar+mv+mkdir)

2.3.4 查找/搜索命令 1. find 在 Windows 中搜索文件&#xff0c;一般查找文件需要传入两个条件&#xff1a;① 在哪些目录中查找&#xff1b; ② 查找的内容.。在 Linux 中&#xff0c;查找文件的也需要这两个条件&#xff0c;不同于 Windows 使用搜索框 查找&#xff0c;Li…

蓝桥杯单片机第九届省赛题详细讲解(电子钟)

看之前强烈建议先自己做一遍&#xff01;&#xff01;&#xff01;演示视频题目讲解完整程序main.conewire.honewire.cds1302.hds1302.c工程文件演示视频 题目讲解 首先还是一如既往从题目的程序框图准备起。 将ds18b20&#xff0c;独立按键&#xff0c;数码管显示&#xff0…

弹指间计算机协会 2021“千里码”程序设计竞赛 题面

A.Hello World! Description 为保证所有参赛人员在比赛中都能拿到分数&#xff0c;本题只考察c的输出。 算法比赛不仅考察思考问题的能力&#xff0c;也需要一定的细心程度。 直接输出" HelI0 Wor1d!&#xff01;" &#xff0c;您将获得此题的全部分数。 Input 本…

django基于python的旅游网站--python-计算机毕业设计

项目介绍 旅游网站系统的用户分管理员和用户两个角色的权限子模块。 管理员所能使用的功能主要有&#xff1a;首页、个人中心、用户管理、景点分类管理、景点信息管理、门票预订管理、酒店信息管理、客房信息管理、客房预订管理、美食信息管理、用户分享、系统管理等。 用户可…

[MySQL]变量

文章目录1. 变量1.1 系统变量1.1.1 系统变量分类1.1.2 查看系统变量查看所有系统变量查询部分系统变量查看指定系统变量1.1.3 修改系统变量方式一&#xff1a;修改配置文件方式二&#xff1a;使用 set 设置系统变量的值1.2 用户变量1.2.1 用户变量的分类1.2.2 会话用户变量变量…

Maven

Maven是专门用于管理和构建Java项目的工具&#xff0c;它的主要功能有&#xff1a; 提供了一套标准化的项目结构提供了一套标准化的构建流程&#xff08;编译&#xff0c;测试&#xff0c;打包&#xff0c;发布...&#xff09;提供了一套依赖管理机制标准化的项目结构 不同IDE之…

C++语法——详细剖析多态与虚函数

目录 一.虚函数与多态的概念与基本使用 &#xff08;一&#xff09;.概念 &#xff08;二&#xff09;.基本使用 二.虚函数的底层 三.特殊的虚函数&#xff08;协变&#xff09; 四.多态在多继承、菱形继承与菱形虚拟继承中的使用。 &#xff08;一&#xff09;.多继承 …

C语言分支与循环实战篇-猜数字小游戏/关机小程序

前言 &#x1f47b;作者&#xff1a;龟龟不断向前 &#x1f47b;简介&#xff1a;宁愿做一只不停跑的慢乌龟&#xff0c;也不想当一只三分钟热度的兔子。 &#x1f47b;专栏&#xff1a;C初阶知识点 &#x1f47b;工具分享&#xff1a; 刷题&#xff1a; 牛客网 leetcode笔记软…

大一学生HTML5期末大作业——基于HTML+CSS制作传统节日美食13页(美食网站设计与实现)

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…