JavaSE介绍与第一个Java程序

news2024/7/31 3:37:23

JavaSE介绍与第一个Java程序

  • 一、Java简介
  • 二、Java特点
  • 三、编译运行过程
  • 四、JDK、JRE和JVM的关系
  • 五、第一个Java程序
    • 1、HelloWorld
    • 2、注意事项
  • 六、标识符与命名规范
    • 1、标识符
      • (1)什么是标识符
      • (2)标识符的命名规则
    • 2、命名规范(驼峰命名法)

一、Java简介

J a v a Java Java的创始人是詹姆斯·高斯林 ( J a m e s    G o s l i n g James\ \ Gosling James  Gosling。为什么要把这门语言叫做 J a v a Java Java呢?这里有两个较为流行的版本,其中一个版本是把开发人员的首字母拼凑出了 J a v a Java Java这个名字。另外一个比较热门的版本是, J a v a Java Java的创始人喜欢喝咖啡,这也就是为什么 J a v a Java Java的图标是一杯咖啡。而 J a v a Java Java是一座岛屿的名称,这个岛屿盛产咖啡,因此高斯林就把 J a v a Java Java作为了语言的名字。沿着这个思路出发,我们就能理解为什么 J a v a Java Java中有很多名词都与咖啡有关,比如 J a v a B e a n JavaBean JavaBean等,Bean就是咖啡豆的意思。
在这里插入图片描述

二、Java特点

J a v a Java Java是一门面向对象的语言,这里与 C + + C++ C++类似。那我们为什么不去学C++而是学Java呢? J a v a Java Java相比于 C + + C++ C++而言, J a v a Java Java的学习难度较小,更为重要的一点是, J a v a Java Java的生态要比 C + + C++ C++完善的多。除此以外, J a v a Java Java语言是可以跨平台运行的,比如说我们写了一个 J a v a Java Java程序,这个程序在安卓、苹果、windows等多个平台都可以运行。 J a v a Java Java是如何实现的呢?我们在后续介绍 J a v a Java Java代码编译运行的过程时,会做详细地讲解。

三、编译运行过程

J a v a Java Java代码的编译运行的过程比C语言的步骤要简单一些。
整体过程如下图所示:
在这里插入图片描述
想要运行 J a v a Java Java代码就需要先下载好 J D K JDK JDK,什么是 J D K JDK JDK?

J D K JDK JDK J a v a   D e v e l o p m e n t   K i t ( J a v a 开发工具包) Java\ Development\ Kit(Java开发工具包) Java Development KitJava开发工具包)。这个工具包中包括了 J a v a Java Java编译器、 J a v a Java Java运行工具、 J a v a Java Java文档生成工具、Java打包工具等。

当我们下载好后,我们就可以去用 J D K JDK JDK包中的工具去编译 j a v a java java代码了。我们这里用到的工具是 j a v a c javac javac。编译过后,就会生成后缀为 c l a s s class class的文件。这些文件叫做字节码文件。这些文件的内部都是用二进制编写的。

接着我们可以通过 j a v a    x x x java\ \ xxx java  xxx命令根据字节码文件生成可执行文件,即.exe文件。这里的xxx是文件名(不包含后缀)。根据前面的介绍,我们知道 J a v a Java Java代码是可以跨平台运行的。那么是怎么实现这个功能的呢?其实很简单,我们只需要在二进制文件和真实环境之间添加一个虚拟环境。我们的二进制文件就在虚拟环境上运行,然后生成对应真实环境的可执行文件。相当于添加了一个转化器。

因此,我们 j a v a   x x x java \ xxx java xxx命令是在 J V M JVM JVM上运行的。 J V M JVM JVM是指 J a v a    V i r t u a l    M a c h i n e ( J a v a 虚拟机 ) Java\ \ Virtual\ \ Machine(Java虚拟机) Java  Virtual  Machine(Java虚拟机)

J V M JVM JVM上运行结束后,就会生成可执行文件了。

四、JDK、JRE和JVM的关系

他们三者的关系可以用下图表示:
在这里插入图片描述
JDK是指: J a v a   D e v e l o p m e n t   K i t ( J a v a 开发工具包) Java\ Development\ Kit(Java开发工具包) Java Development KitJava开发工具包)
JRE指的是: J a v a   R u n t i m e   E n v i r o n m e n t ( J a v a 运行环境) Java\ Runtime\ Environment(Java运行环境) Java Runtime EnvironmentJava运行环境)
JVM指的是: J a v a   V i r t u a l   M a c h i n e ( J a v a 虚拟机) Java\ Virtual\ Machine(Java虚拟机) Java Virtual MachineJava虚拟机)

五、第一个Java程序

1、HelloWorld

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("hello world!")}
}

在这里插入图片描述
我们来解释一下上面的代码,首先public表示的是权限,class是一个关键字,表示。类可以理解为C语言中的结构体,只不过C语言的结构体中只能包括变量,而类中可以包括函数,在Java中函数叫做方法

那么第一行代码的意思就是,创建了一个类,类的名称叫HelloWorld,然后这个类的访问权限是public

接着我们看这个类里面是什么,这个类的里面有一个方法(也就是函数)。

我们从左到右看这个方法,首先是表示访问权限的关键字public,然后是一个静态关键字static,这个关键字在后续的文章中会进行详细地讲解,这里不做过多的叙述。然后是这个方法的返回值void以及方法名main。后面的括号内部是一个叫做args的字符串数组作为方法的参数。

在方法体内部是一个hello world!的打印。这个打印方式相当于C语言中的printf。所以我们记住即可。

C语言相比,我们最不能理解的是参数,为什么Java的main函数中要传入一个字符串数组?

根据前面的介绍,我们可以知道,当我们将.java文件转化为.class的字节码文件的时候,使用的是javac xxx.java命令。当我们将.class文件在java的虚拟机上运行时,我们使用的是java xxx命令。这里的xxx是文件名(不包含后缀名)。我们可以在文件名的后面继续添加一些命令,而这些命令就会传递到args数组中。

2、注意事项

  • 一个.java文件中可以包含多个类,但是只能有一个类可以被public修饰,同时这个被public修饰的类的类名需要跟文件名一致
  • 在编译过程中,文件中的每一个类都会产生一个字节码文件。
  • 如果在运行过程中出现了乱码的情况,往往是因为字符集不同,此时我们需要在编译时加上-encoding utf-8命令。

六、标识符与命名规范

1、标识符

(1)什么是标识符

在Java中,标识符是用于标识变量、方法、类、接口和其他自定义构造的名称。它们可以是任何字母、数字、下划线(_)或美元符号($)。

(2)标识符的命名规则

标识符的命名规则如下:

    1. 标识符可以由字母、数字、下划线(_)或美元符号($)组成。
    1. 标识符的第一个字符必须是字母、下划线(_)或美元符号($)。
    1. 标识符不能是Java关键字和保留字。例如,不能使用像if、for、while等这样的关键字作为标识符。
    1. 标识符是大小写敏感的。因此,变量Name和变量name是两个不同的标识符。

2、命名规范(驼峰命名法)

  • 类名:采用大驼峰式命名,即每个单词的首字母都大写。
  • 方法名:采用小驼峰式命名,即第一个单词的首字母小写,其余单词的首字母大写。
  • 变量名:命名方式与方法名相同。

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

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

相关文章

C++初阶:C/C++内存管理

一.C/C内存分布 先来回顾一下C语言内存分区示意图如下: 代码区: 程序执行代码一般存放在代码区,字符串常量以及define定义的常量也可能存放在代码区。 常量区: 字符串,数字等常量以及const修饰的全局变量往往存放在…

【UE】UMG通信的三种方法

目录 前言 方法一:通过“获取类的所有控件”节点通信 方法二:当创建控件蓝图时传入其它控件蓝图的对象引用 *方法三:使用HUD类来管理UMG通信 前言 首先我们创建了三个控件蓝图,那么其中的一个控件蓝图如何与剩下的控件蓝图通…

网络编程进化史:Netty Channel 的崭新篇章

上篇文章(Netty 入门 — ByteBuf,Netty 数据传输的载体),我们了解了 Netty 的数据是以 ByteBuf 为单位进行传输的,但是有了数据,你没有通道,数据是无法传输的,所以今天我们来熟悉 Ne…

2023 年专业人士必须尝试的 15 款人工智能工具

在本文中,我们将看到一些人工智能驱动的工具,这些工具将在 2023 年彻底改变开发并使专业人士的生活变得轻松。我们将讨论旨在为专业人士提供支持的 15 种顶级人工智能和低代码工具。人工智能工具现在变得更加强大,使他们能够创造有影响力的产…

数字图像处理(十六)非局部均值去噪

文章目录 一、前言二、NL-means1.两个邻域块的相似度2.NL-means原理3.数学理论推导4.代码链接 参考链接 一、前言 在之前我们已经介绍过许多图像去噪的方法,比如均值滤波、中值滤波、高斯滤波等。今天我们要介绍一种新的去噪方法——非局部均值去噪(the…

如何构建一个外卖微信小程序

随着外卖行业的不断发展,越来越多的商家开始关注外卖微信小程序的开发。微信小程序具有使用方便、快速上线、用户覆盖广等优势,成为了商家们的首选。 那么,如何快速开发一个外卖微信小程序呢?下面就让我们来看看吧! 首…

二、W5100S/W5500+RP2040树莓派Pico<DHCP>

文章目录 1 前言2 简介2 .1 什么是DHCP?2.2 为什么要使用DHCP?2.3 DHCP工作原理2.4 DHCP应用场景 3 WIZnet以太网芯片4 DHCP网络设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言 …

模型保存和加载

1、sklearn模型的保存和加载API from sklearn.externals import joblib 保存:joblib.dump(rf, ‘test.pkl’)加载:estimator joblib.load(‘test.pkl’) 2、决策树的模型保存加载案例 保存: import joblib from sklearn.model_selectio…

程序员想要网上接单却不知道如何是好?那这篇文章你可得收藏好了!

作为一名程序员,想要网上接单赚赚零花钱,提高生活水平,这当然是无可厚非的,甚至有许多人已经将网上接单作为主业。 可是面对网上五花八门的接单平台,看着网上真真假假的信息,你真的清楚如何选择吗&#xf…

CAP定理下:Zookeeper、Eureka、Nacos简单分析

CAP定理下:Zookeeper、Eureka、Nacos简单分析 CAP定理 C: 一致性(Consistency):写操作之后的读操作也需要读到之前的 A: 可用性(Availability):收到用户请求,服务器就必须给出响应 P…

整个自动驾驶小车001:概述

材料: 1,树梅派4b,作为主控,这个东西有linux系统,方便 2,HC-S104超声波模块,我有多个,不少于4个,我可以前后左右四个方向都搞一个 3,l298n模块,…

指定顺序输出

系列文章目录 进阶的卡莎C++_睡觉觉觉得的博客-CSDN博客数1的个数_睡觉觉觉得的博客-CSDN博客双精度浮点数的输入输出_睡觉觉觉得的博客-CSDN博客足球联赛积分_睡觉觉觉得的博客-CSDN博客大减价(一级)_睡觉觉觉得的博客-CSDN博客小写字母的判断_睡觉觉觉得的博客-CSDN博客纸币(…

SpringCloud复习:(5) feign的底层原理

首先需要在启动类加注解EnableFeignClients,它的代码如下: 可以看到,EnableFeignClients导入了FeignClientRegistra类,它实现了ImportBeanDefinitionRegistrar,其中定义了注册bean的逻辑 其中registerFeignClients用于注册我们通…

YOLO目标检测——行人数据集【含对应voc、coco和yolo三种格式标签+划分脚本】

实际项目应用:智能监控、人机交互、行为分析、安全防护数据集说明:行人检测数据集,真实场景的高质量图片数据,数据场景丰富标签说明:使用lableimg标注软件标注,标注框质量高,含voc(xml)、coco(j…

gcc和makfile

gcc和makfile gcc预处理(进行宏替换)编译(生成汇编)汇编(生成机器可以识别的代码)连接(生成可以执行的文件或者库文件) makemakefile文件的编写 gcc 没安装的话,按照终端提示的安装命令安装就行 运行的格式: gcc [选项] [要编译的文件] [选项] [目标文件…

✔ ★【备战实习(面经+项目+算法)】 10.25学习(算法刷题:5道)

✔ ★【备战实习(面经项目算法)】 坚持完成每天必做如何找到好工作1. 科学的学习方法(专注!效率!记忆!心流!)2. 每天认真完成必做项,踏实学习技术 认真完成每天必做&…

html2pdf

页面布局时将需要保存在同一页pdf的dom元素用div包裹,并为该div添加class类名,例如.convertPDF,如果有多页创建多个.convertPDF这个div,再循环保存pdf即可 用到了html2canvas和JsPdf这两个插件,自行站内搜索安装

使用 jdbc 技术升级水果库存系统

抽取执行更新方法抽取查询方法 —— ResultSetMetaData ResultSetMetaData rsmd rs.getMetaData();//元数据,结果集的结构数据 抽取查询方法 —— 解析结果集封装成实体对象提取 获取连接 和 释放资源 的方法将数据库配置信息转移到配置文件 <dependencies><depend…

【Win11】系统重装教程(最新最详细)

目录 一.简介 二.用U盘制作PE系统 三、安装系统 软件&#xff1a;Windows 11版本&#xff1a;21H2语言&#xff1a;简体中文大小&#xff1a;5.14G安装环境&#xff1a;PE系统&#xff0c;至少7代处理器硬件要求&#xff1a;CPU2.0GHz 内存4G(或更高&#xff09;下载通道①丨…