二、Java变量

news2024/11/24 7:00:06

文章目录

  • 一、变量介绍
    • 1.1 为什么需要变量
    • 1.2 变量的介绍
    • 1.4 变量使用注意事项
  • 二、+号的使用
  • 三、数据类型
    • 1.1 整数类型
    • 1.2 浮点类型
    • 1.3 字符类型(char)
    • 1.4 布尔类型:boolean
  • 四、编码
  • 五、数据类型转换
    • 5.1 自动类型转换
    • 5.2 强制类型转换
    • 5.3 基本数据类型和String类型的转换
  • 六、课后作业
  • 七、扩展知识
    • 7.1 Java API 文档
    • 7.2 Java中变量存放位置

一、变量介绍

1.1 为什么需要变量

在这里插入图片描述

1.2 变量的介绍

在这里插入图片描述

在这里插入图片描述

1.4 变量使用注意事项

在这里插入图片描述

二、+号的使用

在这里插入图片描述

三、数据类型

在这里插入图片描述

1.1 整数类型

  • 基本介绍
    Java的整数类型就是用于存放这整数值的,比如 12,30,3456等等
    在这里插入图片描述

在这里插入图片描述

  • 代码说明
public class IntDetail{
    public static void main(String[] args){
        // Java的整型常量默认为 int 型,声明long型常量须后加 'l' 或加 'L'
        int n1 = 1; // 4个字节
        int n2 = 1L;// 会报错
        long n3 = 1L;// 8个字节
    }
}

1.2 浮点类型

  • 基本介绍
    Java的浮点类型可以表示一个小数,比如 123.4,7.8,0.12等等
    在这里插入图片描述

在这里插入图片描述

public class FloatDetail{
    public static void main(String[] args){
        // Java的整型常量默认为 int 型,声明long型常量须后加 'l' 或加 'L'
        float n1 = 1.1; // 会报错
        float n2 = 1.1F; // 占4个字节
        float n3 = 1.1F; // 占4个字节 
        double n4 = 1.1; // 8个字节
        
        // 十进制数形式:如 5.12            512.0f                   .512
        double num5 = .123; // 等价 0.123
        // 科学计数法形式:如:5.12e2      5.12E-2
        System.out.println(5.12e2)
        System.out.println(5.12E-2)

        // 浮点数使用陷阱:2.7 和 8.1 / 3 比较
        double num11 = 2.7;
        double num12 = 8.1 / 3; // 数学结果是2.7,计算机结果是接近2.7的一个小数
        
        // 得到一个重要的使用点:当我们对运算结果是小数的数进行相等判断时,要小心
        // 应该是以两个数的差值的绝对值,在某个精度范围内判断
        if(Math.abs(num11 - num12) < 0.00001){
        }
    }
}

1.3 字符类型(char)

  • 基本介绍
    字符类型可以表示单个字符,字符类型是char,char是两个字节(可以存放汉字),多个字符我们用字符串String(我们后面详细讲解String)
    在这里插入图片描述
public class CharDetail{
    public static void main(String[] args){
        char c1 = 'a';
        char c2 = '\t';
        char c3 = '韩';
        char c4 = 97; // 说明:字符类型可以直接存放一个数字
        
        char c2 = 'a'; // 输出 'a' 对应的 数字
        System.out.println((int) c2); // 使用强制转换
        char c3  = '韩';
        System.out.println((int) c3); // 38889
        char c4 = 38889;
        System.out.println(c4); // 韩

        // char 类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码
        System.out.println('a' + 10); // 107
    }
}

1.4 布尔类型:boolean

在这里插入图片描述

在这里插入图片描述

四、编码

  • 字符类型本质探讨
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

五、数据类型转换

5.1 自动类型转换

在这里插入图片描述

  • 自动类型转换使用和细节

在这里插入图片描述

public class AutoCovertDetail{
    public static void main(){
        // byte、short 和 char 之间不会相互自动转换
        // 当把具体的数赋给 byte(或char\short) 时,(1) 先判断是否在byte范围内,如果是就可以
        byte b1 = 10; // 对, -128~127
        int n2 = 1;
        byte b2 = n2; // 错误。原因:如果是变量赋值,判断类型

        // 细节4:byte,short,char 它们三者可以计算,在计算时首先转换为int类型
        byte b2 = 1;
        short s1 = 1;
        short s2 = b2 + s1; // 错,b2 + s1 => int
        byte b4 = b2 + s1;// 错,b2 + s1 => int
        int s2 = b2 + s1; // 对,b2 + s1 => int
    }
}

5.2 强制类型转换

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.3 基本数据类型和String类型的转换

在这里插入图片描述

  • 在Java中每一个基本数据类型都对应一个包装类,以实现对象的功能
public class StringToBasic{
    public static void main(String[] args){
        String s5 = "123";
        // 解读  s5.charAt(0)  将 s5 字符串的第一个字符 '1'
        System.out.println(s5.charAt(0))
    }
}

六、课后作业

在这里插入图片描述

在这里插入图片描述

七、扩展知识

7.1 Java API 文档

在这里插入图片描述

7.2 Java中变量存放位置

  • 在方法中声明的变量,即该变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在方法栈中,当方法结束系统会释放方法栈,其对应在该方法中声明的变量随着栈的销毁而结束,这就局部变量只能在方法中有效的原因。在方法中声明的变量可以是基本类型的变量,也可以是引用类型的变量
    1. 当声明是基本类型的变量的时,其变量名(变量名及值是两个概念)是放在JAVA虚拟机栈
    2. 当声明的是引用类型变量时,所声明的变量名(该变量实际上是在方法中存储的是内存地址值)是放在JAVA虚拟机的栈中,该变量所指向的对象是放在堆内存中的。
  • 在类中声明的变量是成员变量,也叫全局变量,放在堆中的(因为全局变量不会随着某个方法执行结束而销毁)。同样在类中声明的变量即可是基本类型的变量,也可是引用类型的变量
    1. 当声明的是基本类型的变量变量名其值放在堆内存中的
    2. 引用类型时,其声明的变量仍然会存储一个内存地址值,该内存地址值指向所引用的对象。引用变量名对应的对象仍然存储在相应的堆中

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

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

相关文章

计算机毕业设计花卉交易管理系统

技术可行性 根据花卉交易管理的基本需求&#xff0c;该系统需要实现把商品的基本信息&#xff0c;销售信息等内容存放到数据库中&#xff0c;是典型的管理信息系统。管理信息系统是建立在现代信息技术基础之上&#xff0c;面向组织的全面管理和简单决策的信息系统[3]。其开发主…

K8S故障

故障显示 解决办法 kubectl -n kube-system edit deployments.apps coredns删除下列数据

探秘沙漠玫瑰:花语蕴含的爱与坚韧及其独特魅力

在广袤无垠的沙漠深处&#xff0c;隐藏着一种神秘而独特的植物——沙漠玫瑰。它宛如大自然遗落在荒漠中的珍宝&#xff0c;绽放着别样的光芒。当人们提及沙漠玫瑰时&#xff0c;首先想到的便是它那饱含深意的花语。那究竟沙漠玫瑰的花语中蕴含着怎样的浪漫与坚韧呢&#xff1f;…

景联文科技高质量文本标注:驱动自然语言处理技术的发展与应用

文本标注是自然语言处理&#xff08;NLP&#xff09;领域的一个重要环节&#xff0c;是指在文本数据上添加额外的信息或标记的过程&#xff0c;目的是为了让计算机能够理解和处理这些文本数据。 通过文本标注&#xff0c;可以为文本中的各个部分提供具体的含义和上下文信息&…

C++相关概念和易错语法(26)(decltype、nullptr、左值和右值、移动构造和移动赋值)

1.decltype “decltype(表达式) 变量名”可以定义变量&#xff0c;这个变量的类型是()括号内表达式的类型&#xff0c;注意这个表达式不会执行&#xff0c;只会推导这个表达式的类型&#xff0c;这点和sizeof一样 2.nullptr 根据#define NULL 0&#xff0c;可知NULL会被预处理…

搭建GAN对抗生成网络进行图像模态转换

生成对抗网络&#xff08;Generative Adversarial Networks, GANs&#xff09;是一种强大的生成模型&#xff0c;它可以通过学习训练数据的分布来生成新的样本。在医学图像处理中&#xff0c;GANs被广泛用于图像模态转换&#xff0c;例如从MRI到CT的转换&#xff0c;这对于临床…

【牛客】两个字符串之间的最短距离

&#x1f397;️ 主页&#xff1a;小夜时雨 &#x1f397;️专栏&#xff1a;算法题 &#x1f397;️如何活着&#xff0c;是我找寻的方向 目录 1. 题目解析2. 代码 1. 题目解析 题目链接: https://www.nowcoder.com/practice/2c6a0a8e1d20492f92941400036e0890 本道题是个模版…

uniapp+vue3的双向渐变

在App.vue中 <style lang"scss">/*每个页面公共css */ import common/style/common-style.scss </style> 在common-style.scss中 //全局双向渐变 .pageColor{background:linear-gradient(to bottom,rgba(0,0,0,0),#fff 400rpx),//到400rpx才做白色渐变…

解锁NGINX---SSL:打造安全、高效的网站加密体验

作者简介&#xff1a;我是团团儿&#xff0c;是一名专注于云计算领域的专业创作者&#xff0c;感谢大家的关注 座右铭&#xff1a; 云端筑梦&#xff0c;数据为翼&#xff0c;探索无限可能&#xff0c;引领云计算新纪元 个人主页&#xff1a;团儿.-CSDN博客 目录 前言&#…

Spring Boot整合Sentry

Spring Boot整合Sentry Sentry搭建Sentry中新建项目集成SpringBoot1. 添加依赖2. 配置Sentry4. 日志集成&#xff08;可选&#xff09;5. 测试Sentry集成6. 配置实时告警配置Alert Settings配置警报规则 发送消息服务代码参照文档 Sentry 是一个日志平台&#xff0c;分为客户端…

WEB服务器的部署及优化

什么是 www&#xff1f; www 是 world wide web 的缩写&#xff0c;及万维网&#xff0c;也就是全球信息广播的意思 通常说的上网就是使用 www 来查询用户所需要的信息。 www 可以结合文字、图形、影像以及声音等多媒体&#xff0c;超链接的方式将信息以 Internet 传递到世界…

记录一下QGIS栅格操作-植被NDVI指数计算

记录一下QGIS栅格操作-植被NDVI指数计算 以计算植被NDVI指数为例&#xff0c;介绍QGIS栅格的相关操作以及应用。 NDVI 数据简介及下载 下载&#xff1a; 地理空间数据云https://www.gscloud.cn/search 选择波段4&#xff08;可见光红色波段&#xff09;和波段5&#xff08;近…

VS2022 - 制作自己的C#类库dll,并输出Unity识别的pdb调试信息文件

然后编写库代码&#xff0c;设置dll生成目录 *** 输出unity可以识别的pdb调试信息文件 *** 右键项目-属性-生成-高级-调试信息&#xff1a;可移植(Portable PDB) 这是因为Unity只能识别MDB和Portable PDB文件 这样设置后&#xff0c;把dll和pdb文件放入到Unity中同文件夹下&…

金融帝国实验室(Capitalism Lab)官方技术支持中文汉化包_v4.09

<FCT汉化小组>Vol.001号作品 ————————————— ◎ 作品名称&#xff1a;金融帝国实验室&#xff08;Capitalism Lab&#xff09;官方中文汉化包 ◎ 制作发布&#xff1a;FCT汉化小组 ◎ 发布版本&#xff1a;CapLab Simplified Chinese loc v4.09 ◎ 发布时…

django学习入门系列之第十点《初识 django》

文章目录 django初识django1 安装django2 创建django项目3 默认项目文件介绍4 APP 往期回顾 django Python知识点:函数、面向对象。前端开发: HTML、CSS、JavaScript、jQuery、BootStrap。MySQL数据库Python的Web框架Flask&#xff0c;自身短小精悍第三方组件。Django&#xf…

Linux驱动开发基础(SR501人体红外模块)

所学来自百问网 目录 1.模块简介 2.原理图及接线 3.设备树修改 4.驱动程序 5.应用程序 6.makefile 7.编译运行 1.模块简介 人体都有恒定的体温&#xff0c;一般在37度&#xff0c;所以会发出特定波长10uM左右的红外线&#xff0c;被动式红外探头就是靠探测人体发射的1…

Kafka·概述

概览 Producer 生产者发送消息给broker&#xff0c;并不是生成一条消息后立刻发送&#xff0c;而是积攒多条后&#xff0c;批量发送到broker。可以通过配置参数batch.size&#xff08;单位字节&#xff09;调整积攒多少后发送 Consumer Topic 消息的分类 当Producer发送指定…

沾包问题,wireshark和netstat的使用

一.沾包 TCP是一个面向字节流的传输层协议。“流” 意味着 TCP 所传输的数据是没有边界的。这不同于 UDP 协议提供的是面向消息的传输服务&#xff0c;其传输的数据是有边界的。TCP 的发送方无法保证对方每次收到的都是一个完整的数据包。于是就有了粘包、拆包问题的出现。粘包…

[数据集][目标检测]电力场景输电线杆塔塔架金属锈蚀腐蚀生锈检测数据集VOC+YOLO格式1344张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1344 标注数量(xml文件个数)&#xff1a;1344 标注数量(txt文件个数)&#xff1a;1344 标注…

医学领域使用Python语言的逻辑和代码的规范

在医学领域使用Python进行数据分析和建模时&#xff0c;掌握良好的编程逻辑和代码规范非常重要。这不仅可以提高代码的质量&#xff0c;还能让其他研究人员更容易理解和复现你的工作。下面是一些关于如何编写高质量Python代码的建议&#xff1a; 代码组织 模块化&#xff1a;…