Java每日一练——Java简介与基础练习

news2024/11/16 7:48:49

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用


文章目录

目录

系列文章目录

文章目录

前言

一、简述解释型语言与编译型语言

二、Java语言的执行流程

2.1、Java程序的组织形式

2.2、Java源程序的命名规则

三、理解Java编程时面向对象的编程

3.1、软件领域的开发方法

3.2、结构化方法简介

3.3、面向对象方法简介

3.4、面向对象的基本特征

四、Java的数据类型及补充

4.1、Java注释

4.1.1、Javadoc标签

4.1.2、Javadoc命令

4.1.3、DOS命令生成API帮助文档 

4.1.4、MyEclipse生成API帮助文档

4.2、标识符与关键字

4.2.1、分隔符

4.2.2、标识符

4.2.3、关键字(keyword)

4.2.4、保留字

4.3、数据类型

4.3.1  整数类型

4.3.2   浮点类型

4.3.3   布尔类型

4.3.4   字符类型

4.3.4  Java引用数据类型

总结


前言

Java语言的简述以及简单练习


提示:以下是本篇文章正文内容,下面案例可供参考

一、简述解释型语言与编译型语言

高级语言分为解释型与编译型语言。比如我们常见的编译型的语言包括C语言、C++语言、Pascal语言、python语言等等,但是Java语言既是编译型语言,也是解释型语言。

二、Java语言的执行流程

Java语言的执行需要先编译,再解释两个步骤。Java语言执行时会生成.class文件【这个文件里面的时字节码】,Java里面负责执行字节码文件的是Java虚拟机,即JVM(Java Virtual  Machine)。JVM是可以运行Java字节码文件的虚拟机,不同平台的虚拟机也是不同的,也可以将其理解为转换器,它是一种抽象的计算机。

2.1、Java程序的组织形式

class是Java程序的最小单位,所有程序部分都要放在class类里面定义

2.2、Java源程序的命名规则

  • 文件的后缀名必须是.java命名
  • 一个Java源文件只能定义一个类,不可类的定义使用不同的源文件命名
  • Java源文件的主文件名必须与该源文件的public类同名

三、理解Java编程时面向对象的编程

3.1、软件领域的开发方法

结构化的方法与面向对象的方法

早期的语言大多数采用结构化的方法,但是随着软件技术的开发,面向对象的方法提供了更好的灵活性、可扩展性和可维护性。

3.2、结构化方法简介

结构化的程序的最小单元是函数,它采用的是自顶而下的设计方法。

他的结构有三种:

  • 顺序结构
  • 选择结构
  • 循环结构

3.3、面向对象方法简介

它的基本思想是使用类、对象、继承、封装、消息等

面向对象是将其抽象表达为系统的类,作为系统的基本构成单元

基本等式:成员变量(状态数据)+ 方法(行为)= 类定义

从上式可以看出面向对象的程序单元是类,而面向过程的程序单元是函数(相当于方法)

3.4、面向对象的基本特征

封装(encapsulation)继承(inheritance)多态(polymorphism)

  1. 封装将对象的实现细节隐藏起来,通过公用的方法来暴露该对象的功能
  2. 继承是面向对象实现软件复用的重要手段,当子类继承父类之后,子类作为一种特殊的父类,将直接获得父类的属性与方法
  3. 多态是指子类对象可以直接赋值给弗雷德变量,但是运行时依然表现为父类的行为特征,这意味着同一类型的对象在执行同一方法时,可以表现出多种行为特征。
  4. 抽象也是面向对象的重要部分,抽象就是忽略一个主题中与当前目标无关的哪些方面,以便更充分地注意与当前目标有关的方面。抽象并不意味着了解全部问题,而只考虑部分问题。【此处注意:抽象并不是面向对象的特征之一,它只是面向对象的重要组成部分】

在面向对象时,类之间共享属性和操作的机制称为继承,继承具有传递性Java不支持多继承。

四、Java的数据类型及补充

4.1、Java注释

注释分为三大类:多行注释、单行注释、文档注释。

多行注释【“/*”开始,“*/”结束】单行注释【//】

添加注释也是代码检查的重要手段。

文档注释为开发人员提供了非常有用的帮助,应用程序接口(API)来实现,API文档列出了该类所有的成分,类、方法、接口、成员变量等等。

我们在编辑好Java程序之后,可以使用javadoc工具来提取程序中的文档注释来生成API文档

Javadoc 是 Sun 公司提供的一种工具,它可以从程序源代码中抽取类、方法、成员等注释,然后形成一个和源代码配套的 API 帮助文档。也就是说,只要在编写程序时以一套特定的标签注释,在程序编写完成后,通过 Javadoc 就形成了程序的 API 帮助文档。

API 帮助文档相当于产品说明书,而说明书只需要介绍那些供用户使用的部分,所以 Javadoc 默认只提取 public、protected 修饰的部分。如果要提取 private 修饰的部分,需要使用 -private。

4.1.1、Javadoc标签

Javadoc 工具可以识别文档注释中的一些特殊标签,这些标签一般以@开头,后跟一个指定的名字,有的也以{@开头,以}结束。Javadoc 可以识别的标签如下表所示:
 

标签描述示例
@author标识一个类的作者,一般用于类注释@author description
@deprecated指名一个过期的类或成员,表明该类或方法不建议使用@deprecated description
{@docRoot}指明当前文档根目录的路径Directory Path
@exception可能抛出异常的说明,一般用于方法注释@exception exception-name explanation
{@inheritDoc}从直接父类继承的注释Inherits a comment from the immediate surperclass.
{@link}插入一个到另一个主题的链接{@link name text}
{@linkplain}插入一个到另一个主题的链接,但是该链接显示纯文本字体Inserts an in-line link to another topic.
@param说明一个方法的参数,一般用于方法注释@param parameter-name explanation
@return说明返回值类型,一般用于方法注释,不能出现再构造方法中@return explanation
@see指定一个到另一个主题的链接@see anchor
@serial说明一个序列化属性@serial description
@serialData说明通过 writeObject() 和 writeExternal() 方法写的数据@serialData description
@serialField说明一个 ObjectStreamField 组件@serialField name type description
@since说明从哪个版本起开始有了这个函数@since release
@throws和 @exception 标签一样.The @throws tag has the same meaning as the @exception tag.
{@value}显示常量的值,该常量必须是 static 属性。Displays the value of a constant, which must be a static field.
@version指定类的版本,一般用于类注释@version info


对两种标签格式的说明:

  • @tag 格式的标签(不被{ }包围的标签)为块标签,只能在主要描述(类注释中对该类的详细说明为主要描述)后面的标签部分(如果块标签放在主要描述的前面,则生成 API 帮助文档时会检测不到主要描述)。
  • {@tag} 格式的标签(由{ }包围的标签)为内联标签,可以放在主要描述中的任何位置或块标签的注释中。


Javadoc 标签注意事项:

  • Javadoc 标签必须从一行的开头开始,否则将被视为普通文本。
  • 一般具有相同名称的标签放在一起。
  • Javadoc 标签区分大小写,代码中对于大小写错误的标签不会发生编译错误,但是在生成 API 帮助文档时会检测不到该注释内容。

4.1.2、Javadoc命令

Javadoc 用法格式如下:

javadoc [options] [packagenames] [sourcefiles]

对格式的说明:

  • options 表示 Javadoc 命令的选项;
  • packagenames 表示包名;
  • sourcefiles 表示源文件名。


在 cmd(命令提示符)中输入javadoc -help就可以看到 Javadoc 的用法和选项(前提是安装配置了JDK),下面列举 Javadoc 命令的常用选项:
 

名称说明
-public仅显示 public 类和成员
-protected显示 protected/public 类和成员(默认值)
-package显示 package/protected/public 类和成员
-private显示所有类和成员
-d <directory>输出文件的目标目录
-version包含 @version 段
-author包含 @author 段
-splitindex将索引分为每个字母对应一个文件
-windowtitle <text>文档的浏览器窗口标题

4.1.3、DOS命令生成API帮助文档 

新建一个空白记事本,输入下列代码: 

/**
* @author C语言中文网
* @version jdk1.8.0
*/
public class Test{
    /**
     * 求输入两个参数范围以内整数的和
     * @param n 接收的第一个参数,范围起点
     * @param m 接收的第二个参数,范围终点
     * @return 两个参数范围以内整数的和
     */
    public int add(int n, int m) {
        int sum = 0;
        for (int i = n; i <= m; i++) {
            sum = sum + i;
        }
        return sum;
    }
}

将文件命名为 Test.java,打开 cmd 窗口,输入javadoc -author -version Test.java

打开 Test.java 文件存储的位置,会发现多出了一个 Test.html 文档。打开文档,文档页面如图 2 和图 3 所示

4.1.4、MyEclipse生成API帮助文档

1)在 MyEclipse 中新建一个 Test 类,代码如下:

 
package test;
/**
* @author C语言中文网
* @version jdk1.8.0
*/
public class Test {
    public static void main(String[] args) {
        /**
         * 这是一个输出语句
         */
        System.out.println("C语言中文网Java教程访问地址:http://c.biancheng.net/java/");
    }
}

注意:代码 9~11 行没有放在类、成员变量或方法之前,所以 Javadoc 会忽略这个注释。

2)在项目名处单击鼠标右键,然后选择Export...,如图 4 所示。


3)在弹出窗口中选择 Java 文件夹,点击 Java 文件夹下面的 Javadoc,然后点击“Next”,如图 5 所示。
 


4)选择你要生成 Javadoc 的项目,并更改你想保存的 API 帮助文档地址(默认为工程目录下,建议不要修改)。点击“Finish”,如图 6 所示。
 


5)点击“Finish”之后会问是否更新 Javadoc 文件的位置,只需要点击“Yes To All”即可,如图 7 所示。
 


6)这时可以看到控制台输出生成 Javadoc 的信息,如图 8 所示。
 


7)打开保存的文件夹,找到 Test.html 文件并打开,如图 9 所示。
 


以上就是使用 MyEclipse 简单建立一个 API 帮助文档的过程。

4.2、标识符与关键字

4.2.1、分隔符

  1. 分号(;)作为分隔符,允许一行书写多个语句,一个语句也可以跨多行【一个字符串、变量名不能跨多行书写】
  2. 花括号({})定义代码段,而且是成对出现。在Java当中类的定义以及方法的定义都要放在代码段里面
  3. 方括号([])访问数组元素,其后面常常跟着数组变量名,方括号里指定希望访问的数组元素的索引
  4. 圆括号(())功能丰富的分隔符,定义方法时包括所有的形参说明,调用方法时传入实参值,还可以将表达式中的部分括起来,进行优先运算,还可以作为强制转换的运算符等等
  5. 空格(   )分割一段语句的不同部分,但是不能使用空格将变量名分割,那样会导致错误,常见的空格包括空格符(space)、制表符(tab)和回车(enter)
  6. 圆点(.)通常用于类/对象和他的成员(成员变量、方法和内部类)之间的分隔符,表明调用某一类或者实例的指定成员

4.2.2、标识符

Java 中标识符是为方法、变量或其他用户定义项所定义的名称。标识符可以有一个或多个字符。在 Java 语言中,标识符的构成规则如下。

  • 标识符由数字(0~9)和字母(A~Z 和 a~z)、美元符号($)、下划线(_)以及 Unicode 字符集中符号大于 0xC0 的所有符号组合构成(各符号之间没有空格)。
  • 标识符的第一个符号为字母、下划线和美元符号,后面可以是任何字母、数字、美元符号或下划线。


另外,Java 区分大小写,因此 myvar 和 MyVar 是两个不同的标识符。

提示:标识符命名时,切记不能以数字开头,也不能使用任何 Java 关键字作为标识符,而且不能赋予标识符任何标准的方法名。

标识符分为两类,分别为关键字和用户自定义标识符。

  1. 关键字是有特殊含义的标识符,如 true、false 表示逻辑的真假。
  2. 用户自定义标识符是由用户按标识符构成规则生成的非保留字的标识符,如 abc 就是一个标识符。


提示:使用标识符时一定要注意,或者使用关键字,或者使用自定义的非关键字标识符。此外,标识符可以包含关键字,但不能与关键字重名。不能包含空格,标识符只包含美元符($)不可以包含@、#等其他特殊字符。

例如以下合法与不合法标识符。

  • 合法标识符:date、$2011、_date、D_$date 等。
  • 不合法的标识符:123.com、2com、for、if 等。


标识符用来命名常量、变量、类和类的对象等。因此,一个良好的编程习惯要求命名标识符时,应赋予它一个有意义或有用途的名字。

4.2.3、关键字(keyword)

关键字(或者保留字)是对编译器有特殊意义的固定单词,不能在程序中做其他目的使用。关键字具有专门的意义和用途,和自定义的标识符不同,不能当作一般的标识符来使用。例如,在《使用记事本编写运行Java程序》一节的实例 HelloJava.java 中的 class 就是一个关键字,它用来声明一个类,其类名称为 HelloJava。public 也是关键字,它用来表示公共类。另外,static 和 void 也是关键字,它们的使用将在本教程后面的章节中详细介绍。

Java 的关键字对 Java 编译器有特殊的意义,它们用来表示一种数据类型,或者表示程序的结构等。保留字是为 Java 预留的关键字,它们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。


Java 语言目前定义了 51 个关键字,这些关键字不能作为变量名、类名和方法名来使用。以下对这些关键字进行了分类。

  • 数据类型:boolean、int、long、short、byte、float、double、char、class、interface。
  • 流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally。
  • 修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native。
  • 动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new。
  • 保留字:true、false、null、goto、const。

4.2.4、保留字


保留字:Java版本尚未使用,但以后版本可能会作为关键字使用。
在命名标记符时要避免使用这些保留字:

goto、const、byValue、cast、future、 generic、 inner、 operator、 outer、 rest、 var

注意:

java中true、false、friendly和null不属于关键字,也不是保留字,它们只是显式常量值,但是你在程序中不能使用它们作为标识符。
java关键字和保留字都是小写。即null是关键字,NULL不是关键字;TRUE、FALSE也不是关键字。
sizeof 是 C/C++ 中的方法,Java 中并没有这个方法,也没有该关键字 或 保留字

提示:由于 Java 区分大小写,因此 public 是关键字,而 Public 则不是关键字。但是为了程序的清晰及可读性,要尽量避免使用关键字的其他形式来命名。

4.3、数据类型

基本数据类型包括 boolean(布尔型)、float(单精度浮点型)、char(字符型)、byte(字节型)、short(短整型)、int(整型)、long(长整型)和 double (双精度浮点型)共 8 种,详见表 1 所示。

表 1 Java的基本数据类型
类型名称关键字占用内存取值范围
字节型byte1 字节-128~127
短整型short2 字节-32768~32767
整型int4 字节-2147483648~2147483647
长整型long8 字节-9223372036854775808L~9223372036854775807L
单精度浮点型float4 字节+/-3.4E+38F(6~7 个有效位)
双精度浮点型double8 字节+/-1.8E+308 (15 个有效位)
字符型char2 字节ISO 单一字符集
布尔型boolean1 字节true 或 false

提示:char 代表字符型,实际上字符型也是一种整数类型,相当于无符号整数类型。

所有的基本数据类型的大小(所占用的字节数)都已明确规定,在各种不同的平台上保持不变,这一特性有助于提高 Java 程序的可移植性。

Java 数据类型的结构如图 1 所示。


Java 是一种强制类型的语言,所有的变量都必须先明确定义其数据类型,然后才能使用。Java 中所有的变量、表达式和值都必须有自己的类型,没有“无类型”变量这样的概念。
基本数据类型又可分为 4 大类,即整数类型(包括 byte、short,int 和 long)、浮点类型(包括 float 和 double)、布尔类型和字符类型(char),下面分别介绍这 4 大类数据类型。

4.3.1  整数类型

Java 定义了 4 种整数类型变量:字节型(byte)、短整型(short)、整型(int)和长整型(long)。这些都是有符号的值,正数或负数。具体说明表 2 所示:

表 2 Java整数类型变量说明
名称说明
字节型(byte)byte 类型是最小的整数类型。当用户从网络或文件中处理数据流时,或者处理可能与 Java 的其他内置类型不直接兼容的未加工的二进制数据时,该类型非常有用。
短整型(short)short 类型限制数据的存储为先高字节,后低字节,这样在某些机器中会出错,因此该类型很少被使用。
整型(int)int 类型是最常使用的一种整数类型。
长整型(long)对于大型程序常会遇到很大的整数,当超出 int 类型所表示的范围时就要使用 long 类型。

4.3.2   浮点类型

浮点类型是带有小数部分的数据类型,也叫实型。浮点型数据包括单精度浮点型(float)和双精度浮点型(double),代表有小数精度要求的数字。

单精度浮点型(float)和双精度浮点型(double)之间的区别主要是所占用的内存大小不同,float 类型占用 4 字节的内存空间,double 类型占用 8 字节的内存空间。双精度类型 double 比单精度类型 float 具有更高的精度和更大的表示范围。

Java 默认的浮点型为 double,例如,11.11 和 1.2345 都是 double 型数值。如果要说明一个 float 类型数值,就需要在其后追加字母 f 或 F,如 11.11f 和 1.2345F 都是 float 类型的常数。

例如,可以使用如下方式声明 float 类型的变量并赋予初值。

float price = 12.2f; // 定义float类型并赋予初值

也可以使用如下的任意一种方式声明 double 类型的变量并赋予初值。

double price = 12.254d; // 定义double类型的变量并赋予初值

double price = 12.254; // 定义double类型的变量并赋予初值

注意:一个值要能被真正看作 float,它必须以 f(或 F)后缓结束;否则,会被当作 double 值。对 double 值来说,d(或 D)后缓是可选的。

4.3.3   布尔类型

布尔类型(boolean)用于对两个数值通过逻辑运算,判断结果是“真”还是“假”。Java 中用保留字 true 和 false 来代表逻辑运算中的“真”和“假”。因此,一个 boolean 类型的变量或表达式只能是取 true 和 false 这两个值中的一个。

在 Java 语言中,布尔类型的值不能转换成任何数据类型,true 常量不等于 1,而 false 常量也不等于 0。这两个值只能赋给声明为 boolean 类型的变量,或者用于布尔运算表达式中。

例如,可以使用以下语句声明 boolean 类型的变量。

 
  1. boolean isable; // 声明 boolean 类型的变量 isable
  2. boolean b = false; // 声明 boolean 类型的变量 b,并赋予初值为 false

4.3.4   字符类型

Java 语言中的字符类型(char)使用两个字节的 Unicode 编码表示,它支持世界上所有语言,可以使用单引号字符或者整数对 char 型赋值。

一般计算机语言使用 ASCII 编码,用一个字节表示一个字符。ASCII 码是 Unicode 码的一个子集,用 Unicode 表示 ASCII 码时,其高字节为 0,它是其前 255 个字符。

Unicode 字符通常用十六进制表示。例如“\u0000”~“\u00ff”表示 ASCII 码集。“\u”表示转义字符,它用来表示其后 4 个十六进制数字是 Unicode 码。

字符型变量的类型为 char,用来表示单个的字符

提示:字符通常用 16 进制表示,范围从“\uOOOO”~“\uFFFF”,即从 0~65535。\uOOOO 和 \uFFFF 中的 u 告诉编译器是用两个字节(16 位)字符信息表示一个 Unicode 字符。

4.3.4  Java引用数据类型

引用数据类型建立在基本数据类型的基础上,包括数组、类和接口。引用数据类型是由用户自定义,用来限制其他数据的类型。另外,Java 语言中不支持 C++ 中的指针类型、结构类型、联合类型和枚举类型。

引用类型还有一种特殊的 null 类型。所谓引用数据类型就是对一个对象的引用,对象包括实例和数组两种。实际上,引用类型变量就是一个指针,只是 Java 语言里不再使用指针这个说法。

空类型(null type)就是 null 值的类型,这种类型没有名称。因为 null 类型没有名称,所以不可能声明一个 null 类型的变量或者转换到 null 类型。

空引用(null)是 null 类型变量唯一的值。空引用(null)可以转换为任何引用类型。

在实际开发中,程序员可以忽略 null 类型,假定 null 只是引用类型的一个特殊直接量。

注意:空引用(null)只能被转换成引用类型,不能转换成基本类型,因此不要把一个 null 值赋给基本数据类型的变量。


总结

以上就是今天要讲的内容,本文仅仅简单介绍了Java当中基本的一些数据类型的使用,后续有补充的内容我会继续补充的,也欢迎各位发表各自的心得与体会奥~

参考文献:

文档注释:Javadoc(文档注释)详解

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

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

相关文章

电子技术——CS和CE放大器的高频响应

电子技术——CS和CE放大器的高频响应 在绘制出MOS和BJT的高频响应模型之后&#xff0c;我们对MOS和BJT的高频响应有了进一步的认识。现在我们想知道的是在高频响应中 fHf_HfH​ 的关系。 高频响应分析对电容耦合还是直接耦合都是适用的&#xff0c;因为在电容耦合中高频模式下…

智能小车红外避障原理

红外避障电路红外避障电路由电位器R17&#xff0c;R28&#xff1b;发光二极管D8&#xff0c;D9&#xff1b;红外发射管 D2&#xff0c;D4和红外接收管D3&#xff0c;D5和芯片LM324等组成,LM234用于信号的比较&#xff0c;并产生比较结果输出给单片机进行处理。智能小车红外避障…

作为一名开发工程师,我对 ChatGPT 的一些看法

ChatGPT 又又火了。 ChatGPT 第一次爆火是2022年12月的时候,我从一些球友的讨论中知道了这个 AI 程序。 今年2月,ChatGPT 的热火更加猛烈,这时我才意识到,原来上次的热火只是我们互联网圈子内部火了,这次是真真正正的破圈了,为大众所熟悉了。 这个 AI 程序是一个智能问…

(考研湖科大教书匠计算机网络)第四章网络层-第八节:网际控制报文协议ICMP

获取pdf&#xff1a;密码7281专栏目录首页&#xff1a;【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一&#xff1a;网际控制报文协议ICMP&#xff08;1&#xff09;ICMP差错报告报文A&#xff1a;终点不可达B&#xff1a;源点抑制C&#xff1a;时间超过D&#xff…

C#的委托原理刨析and事件原理刨析和两者的比较

什么是委托委托是一种引用类型&#xff0c;表示对具有特定参数列表和返回类型的方法的引用。 在实例化委托时&#xff0c;你可以将其实例与任何具有兼容参数和返回类型的方法进行绑定。 你可以通过委托实例调用方法。简单的理解&#xff0c;委托是方法的抽象类&#xff0c;它定…

L2-033 简单计算器

本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器。如上图所示&#xff0c;计算器由两个堆栈组成&#xff0c;一个堆栈 S1​ 存放数字&#xff0c;另一个堆栈 S2​ 存放运算符。计算器的最下方有一个等号键&#xff0c;每次按下这个键&#xff0c;计算器就…

RabbitMQ相关问题

文章目录避免重复消费(保证消息幂等性)消息积压上线更多的消费者&#xff0c;进行正常消费惰性队列消息缓存延时队列RabbitMQ如何保证消息的有序性&#xff1f;RabbitMQ消息的可靠性、延时队列如何实现数据库与缓存数据一致&#xff1f;开启消费者多线程消费避免重复消费(保证消…

字符集、ASCII、GBK、UTF-8、Unicode、乱码、字符编码、解码问题等

编码解码一、背景二、字符的相关概念三、字符集3.1 ASCII[ˈski]3.1.1 ASCII的编码方式3.1.2 EASCII3.2 GBK3.2.1 GB 2312-803.2.2 GBK的制订3.2.3 GBK的实现方式3.3 Unicode&#xff08;统一码、万国码&#xff09;3.3.1 Unicode的出现背景3.3.2 Unicode的编写方式3.3.3 Unico…

Verilog 学习第四节(从计数器到可控制线性序列机——LED实验进化六部曲)

从计数器到可控制线性序列机——LED实验进化六部曲一&#xff1a;让LED灯按照亮0.25s&#xff0c;灭0.75s的状态循环亮灭二&#xff1a;让LED灯按照亮0.25s&#xff0c;灭0.5s&#xff0c;亮0.75s&#xff0c;灭1s的状态循环亮灭三&#xff1a;让LED灯按照指定的亮灭模式亮灭&a…

Java程序员线上排查问题神器-Arthas

文章目录前言一、Arthas是什么&#xff1f;二、快速入门1.下载2.如何运行三、常用命令1.dashboard2.trace总结前言 最近公司项目版本迭代升级&#xff0c;在开发新需求导致没什么时间写博客。 在开发需求的过程中&#xff0c;我写了一个接口&#xff0c;去批量调内部已经写好…

浏览器工作原理详解

浏览器工作原理 以打开百度官网为例 在浏览器地址栏输入网址www.baidu.com &#xff0c;回车 这一过程发生了什么&#xff1f; 首先我们要知道www.baidu.com 这是个域名&#xff0c;需要通过DNS去解析为IP地址&#xff08;也就是服务器地址&#xff09;&#xff0c;然后返回…

yum/vim工具的使用

yum 我们生活在互联网发达的时代&#xff0c;手机电脑也成为了我们生活的必须品&#xff0c;在你的脑海中是否有着这样的记忆碎片&#xff0c;在一个明媚的早上你下定决心准备发奋学习&#xff0c;“卸载”了你手机上的所有娱乐软件&#xff0c;一心向学&#xff01;可是到了下…

前端面试题整理之HMTL篇(一)

HTML面试题&#xff08;一&#xff09; 前言&#xff1a; 面试题及答案解析&#xff0c;大部分来自网络整理&#xff0c;我自己做了一些简化&#xff0c;如果想了解的更多&#xff0c;可以搜索一下&#xff0c;前端面试题宝典微信公众号或者查百度&#xff0c;另外如果出现错误…

Windows环境下安装和配置Gradle

1. 概述 Gradle是Google公司基于JVM开发的一款项目构建工具&#xff0c;支持Maven&#xff0c;JCenter多种第三方仓库&#xff0c;支持传递性依赖管理&#xff0c;使用更加简洁和支持多种语言的build脚步文件&#xff0c;更多详情可以参阅Gradle官网 2. 下载 由于Gradle与S…

【opencv 系列】第2章 图片视频的读取和保存

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言1. 图片2.视频(读取摄像头、视频文件)2.1 从摄像头读视频2.2 从视频读取文件2.3 保存摄像头读取的视频2.4 图片的打开,读取和保存代码2.5 摄像头的打开,读取和保…

[LeetCode]1237. 找出给定方程的正整数解

题目链接&#xff1a;https://leetcode.cn/problems/find-positive-integer-solution-for-a-given-equation/description/ 题目描述&#xff1a; 样例1&#xff1a; 输入&#xff1a;function_id 1, z 5 输出&#xff1a;[[1,4],[2,3],[3,2],[4,1]] 解释&#xff1a;functi…

Linux 根目录与路径

目录 Linux的根目录 /usr目录&#xff08;存放用户数据&#xff09; /bin目录&#xff08;存放所有用户都可使用的应用程序&#xff09; /sbin目录&#xff08;存放管理员才可以使用的应用程序&#xff09; /opt目录&#xff08;存放第三方软件&#xff09; /boot目录&am…

[Android Studio] Android Studio Virtual Device(AVD)虚拟机的功能试用

&#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea; Android Debug&#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea; Topic 发布安卓学习过程中遇到问题解决过程&#xff0c;希望我的解决方案可以对小伙伴们有帮助。 &#x1f680;write…

Mindspore安装

本文用于记录搭建昇思MindSpore开发及使用环境的过程&#xff0c;并通过MindSpore的API快速实现了一个简单的深度学习模型。 什么是MindSpore? 昇思MindSpore是一个全场景深度学习框架&#xff0c;旨在实现易开发、高效执行、全场景覆盖三大目标。 安装步骤 鉴于笔者手头硬…

QM9数据集示例项目学习图神经网络

目录QM9数据集&#xff1a;QM9数据提取的特征&#xff1a;网络结构的设计官网示例代码注释&#xff1a;QM9数据集&#xff1a; QM9为小有机分子的相关的、一致的和详尽的化学空间提供量子化学特征&#xff0c;该数据库可用于现有方法的基准测试&#xff0c;新方法的开发&#…