首页 > 编程语言 >【乔二参】【借助AI工具】Java零基础从入门到精通【3-1变量常量】

【乔二参】【借助AI工具】Java零基础从入门到精通【3-1变量常量】

时间:2024-07-11 10:28:12浏览次数:13  
标签:Java 变量 AI 代码 数据类型 注释 乔二参 常量

视频讲解地址

【乔二参】【借助AI工具】Java零基础从入门到精通

变量

Java变量是存储数据值的容器,它们允许程序在内存中存储和操作数据。在Java中,变量必须先声明其类型,然后才能使用。变量类型决定了变量可以存储什么类型的数据(如整数、浮点数、字符、布尔值等)以及可以对该变量执行哪些操作。下面将详细解释Java变量的定义、用途、基本语法和常见示例。

定义

在Java中,定义变量需要指定变量的类型、名称,并且可以选择性地初始化(即赋予初始值)。变量的类型决定了变量的存储大小和可以进行的操作。

用途

  • 存储数据:变量用于存储程序中需要处理的数据。
  • 传递数据:变量可以作为函数或方法的参数,用于在函数或方法之间传递数据。
  • 状态管理:在面向对象编程中,变量(特别是类的成员变量)用于存储对象的状态信息。

基本语法

Java中定义变量的基本语法如下:

type variableName [= initialValue];
  • type:指定变量的类型,如intdoubleString等。
  • variableName:变量的名称,必须是有效的Java标识符,不能以数字开头,可以包含字母、数字、下划线(_)和美元符号($),但不能是Java的保留字。
  • [= initialValue]:可选的,为变量赋予初始值。如果不初始化,变量会有一个默认值(对于对象类型,默认值为null;对于数值类型,如int,默认值为0;对于boolean,默认值为false)。

数据类型

Java的数据类型主要分为两大类:基本数据类型(Primitive Types)和引用数据类型(Reference Types)。

基本数据类型

基本数据类型是Java中内置的数据类型,它们直接存储数据的值,而不是引用(或内存地址)。基本数据类型共有八种,它们分别是:

  1. byte:字节类型,占用1个字节(8位),范围从-128到127。
  2. short:短整型,占用2个字节(16位),范围从-32,768到32,767。
  3. int:整型,也是Java中的默认整数类型,占用4个字节(32位),范围从-2,147,483,648到2,147,483,647。
  4. long:长整型,占用8个字节(64位),范围从-9,223,372,036,854,775,808到9,223,372,036,854,775,807。在声明时需要加Ll后缀(如long num = 10000000000L;)。
  5. float:单精度浮点型,占用4个字节(32位),用于存储小数。在声明时需要加Ff后缀(如float num = 3.14F;)。
  6. double:双精度浮点型,占用8个字节(64位),用于存储小数,范围比float大且精度更高。
  7. char:字符型,占用2个字节(16位),用于存储单个字符(Unicode字符)。
  8. boolean:布尔型,占用1个字节(但不一定总是这样,具体取决于JVM实现),只有两个值:truefalse

引用数据类型

引用数据类型不直接存储数据值,而是存储数据的引用(或内存地址)。Java中的引用数据类型包括类(Class)、接口(Interface)和数组(Array)。

  1. 类(Class):类是Java程序的基本构建块,用于创建对象。每个对象都是类的一个实例,它包含了类声明的变量(属性)和方法。
  2. 接口(Interface):接口是一种特殊的类,它完全由抽象方法和常量组成。接口是一种规范,定义了实现接口的类必须遵守的契约。
  3. 数组(Array):数组是一种数据结构,用于存储固定大小的同类型元素序列。在Java中,数组也是对象,可以被存储在变量中。

除了上述三种主要的引用数据类型外,Java还有一些特殊的引用类型,如枚举(Enum)和注解(Annotation),它们都是基于类或接口的特殊形式。

值得注意的是,Java中的字符串(String)虽然看起来像基本数据类型,但实际上它是java.lang.String类的一个实例,因此属于引用数据类型。

常量

Java常量概述

在Java中,常量是指其值在程序执行期间不可改变的量。与变量不同,一旦常量被赋值,其值就不能被重新赋值。常量常用于表示那些不应该被改变的数据,如圆周率π的值、重力加速度g的值等。

定义

Java中的常量可以通过多种方式定义,但最常用的是在声明时通过final关键字来定义。final关键字表示该变量的值一旦被初始化之后就不能被修改。

基本语法

定义常量的基本语法如下:

final 数据类型 常量名 = 值;
  • 数据类型:可以是Java中的任何基本数据类型(如intfloatchar等)或对象类型(如StringMyClass的实例等)。
  • 常量名:通常使用大写字母,如果常量名由多个单词组成,则每个单词之间使用下划线_分隔,这是一种约定俗成的命名习惯,有助于区分常量和变量。
  • :常量被赋予的初始值,一旦赋值后,就不能被更改。

用途

  • 提高代码的可读性:常量通常用于表示程序中的某些重要或固定的值,通过有意义的常量名,可以提高代码的可读性。
  • 维护方便:如果程序中某个值需要更改,只需修改该常量的定义即可,无需逐个查找并修改所有使用该值的代码。
  • 安全:防止值被意外修改,增强程序的健壮性。

常见示例

示例1:基本数据类型变量

public class Main1 {
    public static void main(String[] args) {
        int age = 30; // 整数类型变量
        double salary = 5000.50; // 浮点类型变量
        char gender = 'M'; // 字符类型变量
        boolean isEmployed = true; // 布尔类型变量

        System.out.println("Age: " + age);
        System.out.println("Salary: " + salary);
        System.out.println("Gender: " + gender);
        System.out.println("Is Employed: " + isEmployed);
    }
}

示例2:字符串变量

在Java中,字符串不是基本数据类型,而是String类的对象。

public class Main2 {
    public static void main(String[] args) {
        String name = "John Doe"; // 字符串类型变量

        System.out.println("Name: " + name);
    }
}

变量命名规范

Java变量的命名规范遵循一定的命名约定,这些约定虽然不是强制性的(即Java编译器不会因不遵循这些命名约定而报错),但它们被广泛采用以提高代码的可读性和一致性。以下是Java变量命名的一些基本规范:

  1. 区分大小写:Java是大小写敏感的,因此变量名userNameusername在Java中会被视为两个不同的变量。

  2. 避免使用Java关键字:不能使用Java的关键字(如classintreturn等)作为变量名。

  3. 使用有意义的名称:变量名应该能够清晰地表达变量的用途或内容。例如,使用customerName而不是cn

  4. 驼峰命名法

    • 小驼峰命名法(lowerCamelCase):用于变量名、方法名等。第一个单词以小写字母开始,后面的单词首字母大写。例如,int studentId;
    • 大驼峰命名法(UpperCamelCase):用于类名。第一个单词的首字母大写。例如,public class Student {}
  5. 限制使用特殊字符:变量名只能包含字母、数字、下划线(_)或美元符号($)。然而,在实践中,应尽量避免使用_$,因为这会降低代码的可读性。

  6. 长度限制:在理论上,变量名可以很长,但通常建议保持简洁并具有描述性。过长的变量名会降低代码的可读性。

  7. 前缀/后缀命名:在某些情况下,为了表达变量的类型或用途,可能会使用前缀或后缀。例如,在布尔变量前加is(如isFinished)或使用_作为私有成员变量的后缀(尽管这并非Java社区普遍接受的做法)。

  8. 避免使用拼音或数字开头:尽量使用英文单词来命名变量,避免使用拼音(除非项目有特定要求),并且不要以数字开头。

遵循这些命名规范,可以使你的Java代码更加清晰、易于理解和维护。记住,命名规范是一种约定,它们的目的是提高代码的可读性和一致性,因此请尽量遵循这些规范,并在团队中保持一致。

注释

Java注释是Java代码中的特殊文本,它们被编译器忽略,不参与程序的执行。注释的主要目的是为了提高代码的可读性和可维护性,通过为代码添加说明来帮助开发者理解代码的意图和功能。Java提供了三种主要类型的注释:

1. 单行注释

单行注释以两个正斜杠(//)开始,直到行尾的所有内容都被视为注释。它们只能注释掉同一行的内容。

示例

// 这是一个单行注释
int number = 10; // 这也是注释,它位于代码行的末尾

2. 多行注释

多行注释以/*开始,以*/结束。它们可以跨越多行,非常适合对代码块或复杂逻辑进行说明。

注意:在多行注释中,不能嵌套使用多行注释(即,你不能在一个/* ... */块内部再放置一个/* ... */块)。

示例

/* 这是一个
   多行注释
   它可以跨越多行 */
int sum = 0;

3. 文档注释

文档注释以/**开始,以*/结束。它们通常用于为类或方法生成API文档(使用Javadoc工具)。文档注释可以包含文本、HTML标签和Javadoc标签(如@param@return等),用于描述类、接口、方法、变量等的用途、参数、返回值等信息。

示例:

/**
 * 计算两个整数的和
 *
 * @param a 第一个加数
 * @param b 第二个加数
 * @return 两个整数的和
 */
public int add(int a, int b) {
    return a + b;
}

注释的用途

  • 解释代码:为复杂的代码块或算法提供说明,帮助其他开发者理解代码的逻辑。
  • 调试:临时禁用代码行或代码块,而无需删除它们。
  • 记录变更:在代码修改时,通过注释记录变更的原因和日期。
  • 生成文档:通过Javadoc等工具,从文档注释中自动生成API文档。

注意事项

  • 注释应该简洁明了,避免冗余和过多的细节。
  • 不要在注释中写已经由代码表达清楚的信息。
  • 对于复杂的逻辑或算法,注释应该提供额外的、必要的背景信息或解释。
  • 保持注释的更新,当代码变更时,确保注释也相应地进行更新。

标签:Java,变量,AI,代码,数据类型,注释,乔二参,常量
From: https://blog.csdn.net/2302_79483741/article/details/140288028

相关文章

  • (免费领源码)Java/Mysql数据库+09536 SSM爱心捐赠物资维护系统,计算机毕业设计项目推荐上
    摘要随着信息技术的快速发展,计算机应用已经进入成千上万的家庭。随着物资数量的增加,物资库存管理也存在许多问题。物资数据的处理量正在迅速增加,原来的手工管理模式不适合这种形式。使用计算机可以完成数据收集、处理和分析,减少人力和物力的浪费。需要建立爱心捐赠物资维护系......
  • 本地 AI RAG 系列之 使用 OpenLlama、Postgres、Node.js 和 Next.js 进行 100% 免费矢
    简介所以你想尝试向量搜索,但你不想付钱给OpenAI,或者使用Huggingface,也不想付钱给向量数据库公司。我来帮你。让我们在自己的机器上免费开始向量搜索吧。推荐文章《知识图谱大模型系列之01利用KeyBERT、HDBSCAN和Zephyr-7B-Beta构建知识图谱,LLM增强的自然语言处......
  • 基于java+springboot+vue实现的大学城水电管理系统(文末源码+Lw)106
     基于SpringBoot+Vue的实现的大学城水电管理系统(源码+数据库+万字Lun文+流程图+ER图+结构图+演示视频+软件包)系统功能:本大学城水电管理系统管理员功能有个人中心,用户管理,领用设备管理,消耗设备管理,设备申请管理,设备派发管理,状体汇报管理,领用报表管理,消耗报表管理,班组报表管......
  • 基于java+springboot+vue实现的学生网上请假系统(文末源码+Lw)104
     系统功能:本学生网上请假系统管理员,教师,学生。管理员功能有个人中心,学生管理,教师管理,班级信息管理,请假表格管理,提交请假表管理,学生考勤管理,缺课记录管理。教师功能有个人中心,学生管理,班级信息管理,请假表格管理,提交请假表管理,学生考勤管理,缺课记录管理。学生功能有班级信......
  • 基于java+springboot+vue实现的音乐网站(文末源码+Lw)102
     功能介绍:本音乐网站管理员功能有个人中心,用户管理,歌曲分类管理,歌曲信息管理,管理员管理,系统管理等。用户可以注册登录,试听歌曲,可以下载歌曲。因而具有一定的实用性。本站是一个B/S模式系统,采用SpringBoot框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰......
  • 顶级围棋AI被发现漏洞:“超人类人工智能”还有很长的路?
    原文地址:https://www.bjnews.com.cn/detail/1720537986168936.html参考资料:(1)CanAIbesuperhuman?Flawsintopgamingbotcastdoubthttps://www.nature.com/articles/d41586-024-02218-7(2)OpenAICo-Founder,WhoHelpedOustSamAltman,StartsHisOwnCompa......
  • 从传统到智能:安全帽AI检测算法助力工地/矿山/工厂/电力巡检安全监管
    随着科技的快速发展,人工智能(AI)技术已经渗透到我们生活的方方面面,特别是在建筑工地这一对安全要求极高的领域中,AI技术的应用更是显得尤为重要。其中,安全帽AI检测算法以其高效、准确的特性,为工地的安全管理带来了革命性的变革。一、安全帽AI检测算法概述安全帽AI检测算法是一种基......
  • 从实时监控到风险智能预警:EasyCVR视频AI智能监控技术在工业制造中的应用
    随着科技的不断进步和工业制造领域的持续发展,传统的生产管理方式正逐渐转型,迈向更加智能、高效和安全的新阶段。在这个变革过程中,视频智能监控技术凭借其独特的优势,成为工业制造领域的管理新引擎,推动着从“制造”到“智造”的管理转型升级。一、EasyCVR视频智能监控技术与方案的......
  • AI出问题了?
    出问题的AI在这里运行图片正常应该是这样: 正常的AI 我也放链接了,输入的四个数字一定要从小到大输入,难度系数和等级才会正确给出!......
  • Ollama完整教程:本地LLM管理、WebUI对话、Python/Java客户端API应用
    老牛同学在前面有关大模型应用的文章中,多次使用了Ollama来管理和部署本地大模型(包括:Qwen2、Llama3、Phi3、Gemma2等),但对Ollama这个非常方便管理本地大模型的软件的介绍却很少。目前,清华和智谱AI联合发布开源的GLM4-9B大模型也能支持Ollama进行本地部署了(本地部署GLM-4-9B清华......