初始Java

目录

前言:

配置环境变量:

Java程序的执行: 

JDK、JRE、JVM之间的关系:

一些概念:

基础语法:

main方法: 

快捷方法: 

注释方法:

符号:

编码格式: 

命名规则:

初始化规则: 


前言:

       从今天开始,我们就进入Java的学习了,前期有很多语法是和C语言相同的,所以有些细节肯能会跳过(希望各位有一门语言基础,最好是C)。

配置环境变量:

       在使用Java编译之前,我们需要下载JDK(下载这部分知识我也不是很清楚,可能会出错见谅一下),之后下载编译器(一般使用IDEA比较方便)。下载完编译器以后,我们需要配置环境变量。

       环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。

       但是为什么要配置环境变量?我们知道有个东西叫做控制台(home + R输入cmd打开)。但是我们打开软件的话可以双击可执行程序。其实在控制台也可以。

       如果直接执行 路径名 + qq.exe 其实也可以执行。如果不配置环境变量,直接在cmd中启动qq,则会报错:

        除非这样:

        之后打开QQ:

         如果配置环境,就可以在任何目录下启动。接下来我们就来配置环境变量:

 

        原谅作者没有写如何配置Java环境变量,但是我们至少理解了为什么要配置环境变量。

Java程序的执行: 

        java程序到底是如何进行执行的,首先需要.java文件,之后和C语言一样,进行编译生成.class文件。

       我们先定义一个记事本(.txt)并往里面写一些Java的语句,之后写完保存,并把后缀改为.Java。

        注意我们配置好环境变量以后只是能在所有目录中执行Java的命令,但是执行文件还是要去具体的目录执行。在当前目录输入cmd,并执行javac 文件名。会发现生成了一个.class文件。

        此时生成的.class文件是字节码文件。我们直接打开,里面是二进制文件,所以是乱码:

        之后java + 文件名(不加后缀名)即可执行Java程序:

        这是为什么?接下来我们来讲:

       Java的执行也是需要先进行编译的,之后通过一系列步骤生成可执行文件(注意不是链接)。在运行Java程序之前,要先装好JDK(Java Develoment Kit 即 Java 开发工具包),包含了Java开发工具,Java程序最终是在JVM(Java虚拟机)中运行的。

JDK、JRE、JVM之间的关系:

  • JDK(Java Develoment Kit):Java 开发工具包,提供给Java程序员使用,包含了JRE,同时包含了编译javac与自带的调试工具jconsole、jstack等。
  • JRE(Java Runtime Enviroment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。
  • JVM:Java虚拟机,运行Java代码。

        IntelliJ IDEA类似于VS,是java的集成开发环境,就是把所有功能集成起来。

一些概念:

基础语法:

       接下来我们就要聊聊刚才往文件中写的内容了。

        在一个源文件中,只能有一个public修饰的类,而且源文件名字必须与public修饰的类名字相同。

       一个java文件可以有多个类,但是只能有一个public类 。

main方法: 

快捷方法: 

ctrl + d:直接复制当前行并粘贴。

psvm:快捷生成主方法(针对IDEA)。

注释方法:

       和C语言一模一样,但是多了一个文档注释。/**    文档注释 */

符号:

       java中多了dollar符号($)。

编码格式: 

       因为C语言是以ASCII码进行编码的,所以字符只能用一个字节来表示。但是Java中是用另外一种编码格式,utf-8来编码,2个字节,所以Java中一个字符类型占据2个字节。我们使用-encoding utf-8来指定编码格式。

命名规则:

  • 类名:每个单词的首字母大写(大驼峰)
  • 方法名:首字母小写,后面每个单词大写(小驼峰)
  • 变量名:与方法名命名规则相同。

        java严格区分大小写!

       main标识符其实也是合法的,能够使用,但是不建议使用。

初始化规则: 

       Java为了安全性考虑,在定义变量时,必须初始化,否则报错。

       Java中,当你赋值一旦超过了变量能存储的最大值,会自动编译报错。 

 

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

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

相关文章

打包与解包:Go 中 archive 库的实战应用

打包与解包:Go 中 archive 库的实战应用 引言archive 库概览支持的文件格式archive 库与其他 Go 标准库的协同 使用 archive/tar 打包与解包打包文件到 Tar 归档从 Tar 归档解包文件 使用 archive/zip 进行压缩与解压缩创建 Zip 压缩文件从 Zip 归档解压文件 总结与…

C++ 具名要求-基本概念-指定该对象可以析构

此页面中列出的具名要求,是 C 标准的规范性文本中使用的具名要求,用于定义标准库的期待。 某些具名要求在 C20 中正在以概念语言特性进行形式化。在那之前,确保以满足这些要求的模板实参实例化标准库模板是程序员的重担。若不这么做&#xf…

PythonStudio=vb7国人写的python可视化窗体设计器IDE,可以替代pyqt designer等设计器了

【免费】PythonStudio-1.1.5-x86最新版国人开发的python界面ide,可以制作窗体资源-CSDN文库https://download.csdn.net/download/xiaoyao961/88688447 【免费】PythonStudio-1.1.5-x64-Setup.exe国人开发的python界面ide,可以制作窗体资源-CSDN文库https…

SysML:系统建模语言在复杂系统设计中的应用

一、引言 SysML,即系统建模语言,是一种用于描述和分析复杂系统的标准化建模方法。它的发展起源于对软件开发过程中需求的不断演变和复杂化的认识。SysML的重要性在于它提供了一种统一的建模语言,能够有效地捕捉和表达系统的不同方面&#xf…

VM中安装Linux以及Win系统

目录 准备条件 安装RHEL9.3 步骤一:按照图片进行操作 步骤二:选择配置方式 步骤三:选择虚拟芯片 步骤四:安装镜像 步骤五:选择操作系统 步骤六:名字以及存储位置 步骤七:配置虚拟机参数…

Unity获取相机渲染范围内的所有物体

1.获取所有相机渲染的物体(包括子物体)。 using System.Collections.Generic; using UnityEngine;public class RenderedObjects : MonoBehaviour {public Camera camera;private void Start(){if (camera null){camera Camera.main;}}private void …

js object 去重

测试&#xff1a;数据 let arr [ { a: 1, b: 2 }, { b: 3, a: 4 }, { b: 2, a: 1 } ] 结果 function unique(arr) {const newArr [...arr]for (let i 0; i < newArr.length; i) {for (let j i 1; j < newArr.length; j) {if (this.duibi(newArr[i], newArr[j])) {ne…

帕金森病是否存在性别差异?

帕金森病是否存在性别差异是一个值得探讨的问题。从现有的研究和临床观察来看&#xff0c;帕金森病对男性和女性在某些方面确实存在差异。 首先&#xff0c;从发病率上看&#xff0c;帕金森病对男性的影响是女性的两倍。这意味着在相同的时间和地域背景下&#xff0c;男性患上…

秋招复习之栈与队列

前言 1 栈 「栈 stack」是一种遵循先入后出逻辑的线性数据结构。 我们可以将栈类比为桌面上的一摞盘子&#xff0c;如果想取出底部的盘子&#xff0c;则需要先将上面的盘子依次移走。我们将盘子替换为各种类型的元素&#xff08;如整数、字符、对象等&#xff09;&#xff0c…

LLM、AGI、多模态AI 篇三:微调模型

文章目录 系列LLM的几个应用层次Lora技术指令设计构建高质量的数据微调步骤系列 LLM、AGI、多模态AI 篇一:开源大语言模型简记 LLM、AGI、多模态AI 篇二:Prompt编写技巧 LLM、AGI、多模态AI 篇三:微调模型 LLM的几个应用层次 AI 端到端应用。是直接面向最终用户的应用程序…

how2heap-2.23-04-unsorted_bin_leak

#include<stdio.h> #include<malloc.h>int main() {char* a malloc(0x88);char* b malloc(0x8);free(a);long* c malloc(0x88);printf("%lx , %lx\n",c[0],c[1]);return 0; }unsorted bin leak原理&#xff1a;将chunk从unsorted bin申请回来时&#…

服务器磁盘挂载及格式化

一边学习,一边总结,一边分享! 写在前面 最近一直折腾组装的电脑,来回折腾了很久关于我花费六千多组了台window+Linux主机,目前基本是可以使用了。对于Windows主机配置基本是没问题,一直在使用,以及桌面化软件,都可以自己安装,只是说这台主机有些软件可能一时半会安装…

七款人体感应报警器电路图

人体感应报警器电路图&#xff08;一&#xff09; 人体发出的红外线波长在9&#xff5e;10um之间&#xff0c;属远红外线区。我们利用热释电红外传感器及信号处理集成电路&#xff0c;组装成一个人体红外线感应开关电路报警器&#xff0c;它能依靠人体发出的微量红外线进行开关…

阿里云服务器ECS实例规格如何选择?根据使用场景选择

阿里云服务器配置怎么选择合适&#xff1f;CPU内存、公网带宽和ECS实例规格怎么选择合适&#xff1f;阿里云服务器网aliyunfuwuqi.com建议根据实际使用场景选择&#xff0c;例如企业网站后台、自建数据库、企业OA、ERP等办公系统、线下IDC直接映射、高性能计算和大游戏并发&…

c++跨平台ui

fltk https://gitee.com/mirrors_fltk/fltk.git codeblock中有fltk项目开发模板,可以快速构建项目 wxwidget https://gitee.com/sofu456/wxWidgets.git git submodule update --init --recursive 打开demo和sample set(wxBUILD_SAMPLES ALL) set(wxBUILD_DEMOS ON) build/…

【springboot+vue项目(十一)】springboot整合EasyExcel

EasyExcel是阿里巴巴开源的一个Java库&#xff0c;用于操作Excel文件。它提供了简单易用的API&#xff0c;可以读取、写入和转换Excel文件&#xff0c;支持大量数据的导入和导出操作。 一、添加依赖&#xff08;版本3.2&#xff09; <!--easyexcel操作excel--> <depe…

Hadoop入门学习笔记——八、数据分析综合案例

视频课程地址&#xff1a;https://www.bilibili.com/video/BV1WY4y197g7 课程资料链接&#xff1a;https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd5ay8 Hadoop入门学习笔记&#xff08;汇总&#xff09; 目录 八、数据分析综合案例8.1. 需求分析8.1.1. 背景介绍8.1.2…

ocrmypdf_pdf识别

安装 安装说明 https://ocrmypdf.readthedocs.io/en/latest/installation.html#native-windows提到需要的软件&#xff1a; Python 3.7 (64-bit) or later Tesseract 4.0 or later Ghostscript 9.50 or later 安装 ocrmypdf pip install ocrmypdf 添加语言包 https://oc…

一篇文章带你了解基于 Jenkins 流水线方式部署的好处

在软件开发过程中&#xff0c;部署是将代码从开发环境转移到生产环境的关键步骤。传统的部署方式可能涉及多个手动步骤和容易出错的过程。然而&#xff0c;基于 Jenkins 流水线方式部署可以带来许多好处&#xff0c;包括提高效率、一致性和可靠性。本文将探讨基于 Jenkins 流水…

Flume基础知识(六):Flume实战之实时监控目录下的多个追加文件

Exec source 适用于监控一个实时追加的文件&#xff0c;不能实现断点续传&#xff1b;Spooldir Source 适合用于同步新文件&#xff0c;但不适合对实时追加日志的文件进行监听并同步&#xff1b;而 Taildir Source 适合用于监听多个实时追加的文件&#xff0c;并且能够实现断点…