Java基础学习笔记三

环境变量CLASSPATH

  1. classpath环境变量是隶属于java语言的,不是windows操作系统的,和PATH环境变量完全不同
  2. classpath环境变量是给classloader(类加载器)指路的
  3. java A 。执行后,先启动JVM, JVM启动classloader,classloader去硬盘上通过classloadepath去找.class文件。找到则执行,找不到则报错
  4. 如果classpath没有配置的话,默认从当前路径下找class字节码文件
  5. 如果classpath配置了,例如配置到桌面,那么classloader只能去桌面上找classpath文件
  6. 如果classpath配置为 claspath= .;C:\User\Administrator\Desktop 则先让类加载器在当前目录下寻找,如果找不到去 C:\User\Administrator\Desktop找

关于编译时的乱码问题

当java源文件中有中文时,由于EditPlus工具默认是简体中文GBK
jdk21使用默认UTF-8的编码方式进行编译
编码不一致了所以乱码了

解决方式

  1. 第一种:java -encoding GBK HelloWorld2.java
  2. 第二种: 将editplus的字符集修改为UTF-8

不管哪一种,都是让两边的字符编码方式一致


java注释

//单行注释/*
多行注释
多行注释
多行注释
*//**
*javadoc 注释
*javadoc 注释
*javadoc 注释
*编写在这里的注释信息,可以被javadoc命令解析提取并生成到帮助文档中
*/

Javadoc是Java编程语言中的一种工具,用于生成API文档。它可以从源代码中提取特定的注释,并生成详细的文档,用于描述类、接口、方法、字段等程序元素的用途和用法。

使用Javadoc可以为你的Java代码生成清晰、易读的文档,以便其他开发者能够理解和正确使用你的代码库。生成的文档通常包含类的层次结构、方法和字段的详细描述,参数和返回值的说明,异常的抛出情况,以及示例代码等。

以下是使用Javadoc的一般步骤:

  • 在Java源代码中编写注释:使用特定的注释标记(/** … */)在类、方法、字段等程序元素的前面编写注释。注释可以包含描述、参数说明、返回值说明、异常说明等。注释应该清晰、简明地描述程序元素的用途和使用方法。

  • 运行Javadoc工具:使用命令行或集成开发环境(IDE)中的集成功能,运行Javadoc工具来处理源代码并生成文档。Javadoc工具通常是作为JDK的一部分提供的。

  • 生成API文档:Javadoc工具会解析源代码中的注释,并根据注释的内容生成API文档。生成的文档通常以HTML格式呈现,并包含类、方法、字段等程序元素的详细说明。文档可以包含索引、链接、继承关系图等辅助功能,以帮助开发者更好地浏览和理解代码库。

  • 查看和发布文档:生成的API文档可以在浏览器中直接查看,也可以发布到Web服务器上以供他人访问。开发者可以通过浏览文档来了解代码库的结构和使用方式,并参考文档中的说明来正确使用代码库。

以下是一些常用的Javadoc命令选项:

-d :指定生成文档的输出目录。
-sourcepath :指定源代码文件的查找路径。
-classpath :指定编译后的类文件的查找路径。
-subpackages :递归包含指定的包及其子包中的所有类。
-exclude :排除指定的包及其子包中的类。
-author:在生成的文档中包含作者信息。
-version:在生成的文档中包含版本信息。
-private:包括私有成员在内的所有成员都会被文档化。


关于一个程序的解析

/**
*HelloWorld2程序是一个问世程序,演示了中文乱码问题
*@author 徐漠漠
*@version 1.0
*@since 1.0
*/public class HelloWorld2
{	/***这是main方法,程序的入口,程序就是从这里进来开始执行的*@param args 这个main方法的参数*///1.这是main方法,也叫做主方法//2.main方法是JVM规定的,固定写法,程序就是从这个位置进来执行的,是程序的入口//3. 对于main方法来说能修改的只有args这个变量名//4.public表示公开的//5.static 静态的//6.void表示main方法执行结束后不返回任何数据public static void main(String[] args){//方法体//方法体中的代码有执行顺序从上到下依次执行法System.out.println("徐漠漠最棒");//没有ln是不换行的System.out.print("hj");System.out.print("123");System.out.print("hjhh");}//类体//类体中不能直接编写Java语句
}

在这里插入图片描述

有以下程序

/*1. 一个Java源文件中可以定义多个class2. 编译之后,一个class就会对应生成一个字节码文件3. 如果一个类是public的,类名必须和源文件名保持一致4. public的类可以没有。如果有的话也只允许有一个5. 每个类中都可以编写入口main方法
*/class X
{public static void main(String[] args){System.out.println("x执行过了");}
}class Y
{}
class Z
{}

javac编译后生成了三个类
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

GIS学习

匹配查询,先连接两个表,然后在一个表里面查询 合并两个形状 比较好的colormap http://soliton.vm.bytemark.co.uk/pub/cpt-city/views/totp-cpt.html https://docs.gmt-china.org/latest/cpt/builtin-cpt/ 计算坡度时就要捕捉栅格 重分类时也要捕捉栅…

数据结构:10、排序

本文将会介绍8种排序,并在文章末附上代码 一、排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,…

[蓝桥杯 2019 省 A] 外卖店优先级

模拟 双指针 #include<iostream> #include<algorithm> using namespace std; using ll long long; #define int long long const int N 1e510; const int inf 0x3f3f3f3f; const int mod 1e97;int n,m,ts;bool vis[N]; int a[N]; int last[N]; pair<int,int…

外卖项目:菜品管理功能代码实现(debug)

文章目录 一、菜品管理功能代码实现1、新增菜品2、菜品分页查询3、修改菜品4、菜品的起售与停售5、删除菜品 一、菜品管理功能代码实现 1、新增菜品 这涉及到多张表&#xff0c;要用事务 添加成功 2、菜品分页查询 3、修改菜品 该页面共涉及4个接口。 接口&#xff1a; 根…

protobuf原理解析-基于protobuf-c实现序列化,反向序列化

1.一个实例 前面介绍了使用protobuf的流程&#xff0e; (1). 定义proto文件来描述需要序列化和反向序列化传输的消息&#xff0e; (2). 借助proto-c&#xff0c;为proto文件生成对应的代码控制文件&#xff0e; (3). 程序借助生成的代码控制文件和protobuf-c动态库的支持实现类…

如何写出干净的 Git Commit

大家好&#xff0c;我是楷鹏。 写一份干净的 Git Commit&#xff0c;不仅赏心悦目&#xff0c;也有诸多好处&#xff0c;比如 为项目或者仓库生成 change log方便在其他一些 Git 工具使用&#xff0c;比如 CI/CD、代码协作和审计平台、发版工具等 这是 AngularJS 仓库的 Git …

短视频矩阵系统技术交付

短视频矩阵系统技术交付&#xff0c;短视频矩阵剪辑矩阵分发系统现在在来开发这个市场单个项目来说&#xff0c;目前基本上已经沉淀3年了&#xff0c;那么我们来就技术短视频矩阵剪辑系统开发来聊聊 短视频矩阵系统经过315大会以后&#xff0c;很多违规的技术开发肯定有筛选到了…

[ C++ ] STL---string类的使用指南

目录 前言&#xff1a; string类简介 string类的常用接口 string类对象的构造函数 string类对象的赋值运算符重载 string类对象的容量操作 string类对象的访问与遍历 [ ] 下标遍历 迭代器遍历 普通迭代器iterator ​编辑 const迭代器const_iterator 反向迭代器rever…

常见的WAFI攻击包括哪些

WIFI攻击是指黑客利用各种手段&#xff0c;对WIFI网络进行非法入侵和攻击&#xff0c;以获取用户的个人信息、网络权限或其他敏感数据。常见的WIFI攻击方式主要包括以下几种&#xff1a;伪造认证页面&#xff1a;黑客可以创建一个伪造的认证页面&#xff0c;当用户尝试连接到WI…

Vue2(三):绑定样式、条件渲染(v-if,v-show)、列表渲染(v-for)、key的原理、列表过滤、列表排序

一、绑定样式 1.绑定class样式 (1)字符串写法 适用于&#xff1a;样式类名不确定&#xff0c;需要动态获取。 <div id"root"><div class"basic" :class"mood" click"changeMood">test</div><!-- class是原本的…

Android Studio实现内容丰富的安卓旅游景点预定

获取源码请点击文章末尾QQ名片联系&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动 1.开发环境 android stuido3.6 jak1.8 eclipse mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登录 2.查看景点列表 3.查看景点详情 4.景点预定 5.购物车支付结算功能 6…

计算机网络:计算机网络概述

计算机网络&#xff1a;计算机网络概述 因特网概述网络&#xff0c;互连网&#xff0c;因特网因特网发展的三个阶段因特网的标准化工作因特网组成 计算机网络的定义计算机网络的分类按使用者分类按传输介质分类按网络的覆盖范围分类按拓扑结构分类 因特网概述 网络&#xff0c…

红外相机和RGB相机标定:实现两种模态数据融合

1. 前期准备 RGB相机&#xff1a;森云智能SG2-IMX390&#xff0c;1个红外相机&#xff1a;艾睿光电IR-Pilot 640X-32G&#xff0c;1个红外标定板&#xff1a;https://item.taobao.com/item.htm?_ujp3fdd12b99&id644506141871&spma1z09.2.0.0.5f822e8dKrxxYI 2.操作步…

目标检测---IOU计算详细解读(IoU、GIoU、DIoU、CIoU、EIOU、Focal-EIOU、SIOU、WIOU)

常见IoU解读与代码实现 一、✒️IoU&#xff08;Intersection over Union&#xff09;1.1 &#x1f525;IoU原理☀️ 优点⚡️缺点 1.2 &#x1f525;IoU计算1.3 &#x1f4cc;IoU代码实现 二、✒️GIoU&#xff08;Generalized IoU&#xff09;2.1 GIoU原理☀️优点⚡️缺点 2…

网络编程:数据库

一、作业 1> 创建一个工人信息库&#xff0c;包含工号&#xff08;主键&#xff09;、姓名、年龄、薪资。 2> 添加三条工人信息&#xff08;可以完整信息&#xff0c;也可以非完整信息&#xff09; 3> 修改某一个工人的薪资&#xff08;确定的一个&#xff09; 4> …

SAP上线计划Cutover Plan

在SAP项目中&#xff0c;上线计划Cutover Plan(另一说法是切换计划)是指在项目的最后阶段&#xff0c;即从旧系统过渡到新SAP系统的过程中&#xff0c;组织必须执行的一系列活动和步骤的详细计划。这个计划对于确保平稳、有序的系统过渡至关重要。Cutover计划通常涵盖了组织沟通…

【漏洞复现】Progress Kemp LoadMaster 命令注入漏洞(CVE-2024-1212)

0x01 产品简介 Progress Kemp LoadMaster是一款高性能的应用交付控制器&#xff0c;具有可扩展性&#xff0c;支持实体硬件和虚拟机的负载均衡。它提供了当今应用服务所需的各种功能&#xff0c;包括深度用户验证、资安防护&#xff08;如WAF/IPS/DDoS防护&#xff09;以及零信…

2024学习鸿蒙开发,未来发展如何?

一、前言 想要了解一个领域的未来发展如何&#xff0c;可以从如下几点进行&#xff0c;避免盲从&#xff1a; 国家政策落地情况就业市场如何学习 通过上述三点&#xff0c;就能分析出一个行业的趋势。大家可以看到&#xff0c;我上面的总体逻辑就是根据国家政策来分析未来方…

代码随想录day24(2)二叉树:合并二叉树(leetcode617)

题目要求&#xff1a;将两个二叉树合并&#xff0c;要求是将同位置处的两个节点值相加&#xff0c;如果一个为空那就将另一个二叉树的值覆盖。 思路&#xff1a;如果使用迭代法&#xff0c;就是通过层序遍历&#xff0c;通过队列进行判断进行相加。如果使用递归法&#xff0c;…

git基础-获取git仓库

通过本章的学习&#xff0c;应该能够配置和初始化一个仓库&#xff0c;开始和停止跟踪文件&#xff0c;暂存和提交更改。我们还将展示如何设置 Git 来忽略特定的文件和文件模式&#xff0c;如何快速轻松地撤销错误&#xff0c;如何浏览项目的历史记录并查看提交之间的更改&…