变量常量标识符 Day5

news2024/9/21 0:40:25

1. 变量

1.1 变量的概念

  • 变量是计算机内存中的一块存储单元,是存储数据的基本单元
  • 变量的组成包括:数据类型、变量名、值,后文会具体描述
  • 变量的本质作用就是去记录数据的,比如说记录一个人的身高、体重、年龄,就需要去程序中记录数据,而不同的数据使用不同的数据类型去存储,后文会具体描述

1.2 变量的定义

变量的定义有三种方法

  • 直接声明
  • 先声明后赋值
  • 多个同类型变量声明与赋值

代码举例:

public class VariableDefine {
    public static void main(String[] args) {
        int age;                //第一种方法:变量的声明
        age = 21;
        int number = 12345;     //第二种方法:先声明后赋值
        int a,b,c = 100,d=123;  //第三种方法:多个同类型变量声明与赋值

        System.out.println("age = " + age);
        System.out.println("number = " + number);
        System.out.println("c = " + c);
        System.out.println("d = " + d);
    }
}

  • 以上代码可以清晰看到三种变量的定义方法

  • 输出结果:
    在这里插入图片描述

    • 要实现 age = 21这种效果,只需要在输出时,用字符串 + 变量就可以了,如上输出,其中,+只做文字拼接,不做加法计算

    • 注意如果只是单纯输出变量的值,不需要双引号,如

      System.out.println(age);	//输出变量的值,不需要加双引号
      System.out.println("age");	//如果加了双引号,那么输出的是字符age,既不是变量age也不是变量的值。
      

      输出结果
      在这里插入图片描述

注意事项:

  • 未赋值的变量是不能使用的,当我们注释掉了age,此时age就没有赋值,可以看到没有赋值是直接报错了
    在这里插入图片描述

  • 第三种定义变量的方法,不推荐使用,因为代码可读性不高,不便于阅读

1.3 变量概念解析

有了变量的定义,用以上代码解析一下变量的概念

  • 变量是计算机内存中的一块存储单元,是存储数据的基本单元
    • 当我们声明一个变量age,int age;那么在内存当中就会开辟一个int字节的空间,这块空间的名称叫做age,我们可以通过age来访问到这一块空间
      在这里插入图片描述

此时里面还没有数据,我们只需要赋值age = 21;就把数据存到内存当中
在这里插入图片描述

  • 变量的组成包括:数据类型、变量名、值
    • 比如说:int number = 12345;,其中int是整数类型,变量名为number,值为12345,这三个部分组成了一个number变量

1.4 局部变量

  • 定义位置

    • 定义在方法内

      • 比如说定义在main方法以内

        public class VariableDefine {
            public static void main(String[] args) {
                int a = 10;
                System.out.println(a);
            }
        }
        
  • 作用范围

    • 当前变量最近的大括号内

      public class VariableDefine {
          public static void main(String[] args) {
              int a = 10;
              System.out.println(a);
              if(a == 10){
                  int b = 20;
                  int c = 30;
                  System.out.println(c);
              }
              System.out.println(b);
          }
      }
      

      运行结果
      在这里插入图片描述

      可以看见c在作用范围内,而b已经不在作用范围内 所以无法使用

  • 重名

    • 重名的作用范围内不能出现重名

      public class VariableDefine {
          public static void main(String[] args) {
              int a = 10;
              System.out.println(a);
              if(a == 10){
                  int b = 20;
                  int b = 30;
                  System.out.println(b);
              }
          }
      }
      

      印证结论
      在这里插入图片描述

  • 默认值

    • 局部变量必须先赋值后使用,没有默认值

      public class VariableDefine {
          public static void main(String[] args) {
              int a = 10;
              int b;
              System.out.println(b);
          }
      }
      
      

      验证结论
      在这里插入图片描述

  • 生命周期

    • 随着方法的入栈而生效,随着方法的出栈而死亡
  • 存储文章

    • 基本数据类型存在栈区中,引用数据类型 变量名在栈区 而值在堆区

2. 常量

无法改变的数据叫做常量

public class ConstantTest {
    public static void main(String[] args) {
        System.out.println(100);    //100为整型常量
        System.out.println(3.14);   //3.14为浮点型常量
        System.out.println('a');    //a为字符常量
        System.out.println(true);   //true为布尔常量
        System.out.println("true"); //"true"为字符串常量
    }
}

3. 标识符

标识符
只要是需要自定义名称的内容,都属于标识符
标识符名称不能与Java关键字、保留字冲突
可以以字母、下划线、美元符号、人民币符号,可以包含数字但不能以数字开头
类名:由一个或多个单词组成,每个单词字母开头大写,满足大驼峰
变量名:由一个或多个单词组成,第一个单词字母开头小写,其余每个单词大写,满足小驼峰
定义变量居然做到见名知义,尽量使用单词定义,最好不要中英文混用,或者是中文拼音,不便于阅读

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

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

相关文章

Vue接入高德地图并实现基本的路线规划功能

目录 一、申请密钥 二、安装依赖 三、代码实现 四、运行截图 五、官方文档 一、申请密钥 登录高德开放平台,点击我的应用,先添加新应用,然后再添加Key。 如图所示填写对应的信息,系统就会自动生成。 二、安装依赖 npm i am…

Java调用数据库 笔记05

一. 数据库(通过各种驱动来实现调用): (应用程序通过接口控制的各种数据库驱动来调用数据库-->jdbc方法) 1.创建Java的普通class类 2.加载驱动 Class.forName("com.mysql.jdbc.Driver"); 3.驱动管理类…

中国空间计算产业链发展分析

2024中国空间计算产业链拆解 空间计算设备主要包括AR、VR、MR等终端设备。VR设备通常包括头戴式显示器(VR头盔)、手柄或追踪器等组件,用以完全封闭用户视野,营造虚拟环境体验。这些设备配备高分辨率显示屏、内置传感器和跟踪器。 …

电气自动化入门02:三相交流电及其主要应用参数

视频链接:1.2 电工知识:三相交流电及其主要应用参数_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1PJ41117PW?p3&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 1.什么是交流电 交流电就是:大小和方向都随时间不断变化的电流 2…

OPPO大模型升级为AndesGPT-2.0 支持多模态等能力

OPPO公司宣布其人工智能大模型AndesGPT-2.0在权威第三方评测机构SuperCLUE发布的《中文大模型基准评测2024年8月报告》中表现卓越,荣获多项第一,标志着OPPO在AI领域的技术实力进一步得到行业认可。 AndesGPT-2.0在总榜上位列国内大模型第二,同…

简单题27 - 移除元素(Java)20240917

问题描述&#xff1a; 代码&#xff1a; class Solution {public int removeElement(int[] nums, int val) {int k 0; // k指针用于记录不等于val的元素放置位置for (int i 0; i < nums.length; i) {if (nums[i] ! val) {nums[k] nums[i]; // 如果元素不等于val&#…

7.4 溪降技术:滑行

目录 7.4 滑行概览观看视频课程电子书: 滑行一级基本原则滑道评估接近滑行着陆 V7提示&#xff1a;着陆技巧总结 7.4 滑行 概览 滑入深潭 滑行是顺着瀑布下降的一种独特且有趣的方式。河流冲刷岩石在峡谷中形成了水道、滑梯或滑道。滑梯可以有不同的长度、高度、轨迹和水量。随…

【踩坑】Gradle依赖下载问题解决:stributions/gradle-8.10-bin.zip failed: timeout (10000ms)

在构建项目时&#xff0c;Gradle 默认会从 https://services.gradle.org/distributions/ 下载对应版本的 Gradle 包。由于网络问题&#xff0c;这个过程可能非常缓慢&#xff0c;甚至会出现下载失败的情况。为了解决这一问题&#xff0c;我将 gradle-wrapper.properties 文件中…

电路设计学习(一)

FUSB302BUCX 可编程 USB Type-C 控制器&#xff0c;带 PD&#xff08;默认 SNK&#xff09; FUSB302BUCX 是一款由 ON Semiconductor 生产的 USB Type-C 控制器&#xff0c;用于实现 USB Type-C 和 USB Power Delivery (PD) 协议。它主要负责 USB Type-C 端口的检测、CC 引脚…

SprinBoot+Vue爱老助老服务平台的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平台Java领域优质…

Sa-Token的v1.39.0自定义鉴权注解怎么玩

个人博客&#xff1a;无奈何杨&#xff08;wnhyang&#xff09; 个人语雀&#xff1a;wnhyang 共享语雀&#xff1a;在线知识共享 Github&#xff1a;wnhyang - Overview 简介 在Sa-Token最新的v1.39.0版本的更新日志中有这么一句话 核心&#xff1a; 升级&#xff1a;重…

剖解杨辉三角

杨辉三角 思路&#xff1a; 我们将上述转换为一个二维数组&#xff0c;即可实现效果 另外在实现代码之前我们要了解Java中是如何实现二维数组的&#xff1a; 实现代码如下&#xff1a; public List<List<Integer>> generate(int numRows){List<List<Integ…

MySQL-DQL(数据查询语言)

数据查询语言(DQL-Data Query Language) 代表关键字&#xff1a;select MySQL语句执行顺序 1、基础操作 1.1 启动服务 a.手动启动 我的电脑->右键->管理->服务->mysql->右键启动/启动 b.命令方式 在管理员模式下运行cmd,执行如下操作&#xff1a; net sta…

Nginx 跨域 + 无法设置 Cookie 解决办法

今天来分享一下关于项目部署上线时怎么解决跨域问题!!! 首先感谢一下大佬的方法,才让这个困扰我很久的问题得以解决!!! 这也是我请教大佬才解决的问题,大佬和我说,这是他耗费两周才解决的问题,我这也是属于前人栽树后人乘凉了,嘿嘿嘿!!! 前端问题 前端没有携带 cookie 导致后端…

WGCAT可以导出工单吗

可以的 WGCAT工单管理系统&#xff0c;支持将工单数据导出为PDF文件

Mac OS系统如何下载安装Python解释器

目录 Mac安装Python的教程 mac下载并安装python解释器 如何下载和安装最新的python解释器 访问python.org&#xff08;受国内网速的影响&#xff0c;访问速度会比较慢&#xff0c;不过也可以去我博客的资源下载&#xff09; 打开历史发布版本页面 进入下载页 鼠标拖到页面…

基于vue框架的宠物领养管理系统88v55(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户,宠物分类,宠物信息,领养信息,宠物动态,捐赠物资,领养进度,友情链接 开题报告内容 基于Vue框架的宠物领养管理系统开题报告 一、项目背景与意义 随着社会的进步和人们生活水平的提高&#xff0c;宠物已成为许多家庭不可或缺的一部…

滑动窗口(2)_无重复字符的最长字串

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 滑动窗口(2)_无重复字符的最长字串 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目…

Cortex-A7:处理器组成架构

0 参考资料 ARM Cortex™-A Series Version: 4.0 Programmer’s Guide.pdf 1 Cortex-A7处理器组成架构 1.1 Cortex-A7处理器简介 Cortex-A7处理器是ARM公司推出的用于入门级智能手机、平板电脑以及其他低功耗移动设备的处理器架构。 1.2 Cortex-A7处理器组成框图 注&#xf…

idea一个窗口打开多个仓库的代码

一、背景 最近新进了一家外包公司&#xff0c;这个项目由于是微服务的&#xff0c;且每个微服务都独立用一个仓库进行代码管理。看项目的时候&#xff0c;我们不能一个窗口&#xff0c;只打开一个仓库代码&#xff0c;那样看起来会非常麻烦&#xff0c;一开始对项目全貌的了解…