java中的常量与变量

2023-05-16

常量

常量:在程序运行期间,固定不变的量。

常量的分类:
1.字符串常量:凡是用双引号引起来的部分,叫做字符串常量。例如:“abc”、“Hello”、“123”。
2.整数常量:直接写上数字,没有小数点。例如:100,200,0,-250。
3.浮点数常量:直接写上的数字,有小数点。例如:2.5、-3.14、0.0。
4.字符常量:凡是用单引号引起来的单个字符,就是字符常量。例如:‘A’、‘b’、‘9’、‘中’。
5.布尔常量:只有两种取值。true、false。
6.空常量:null。代表没有任何数据。

注意:
1.两个单引号中间必须有且仅有一个字符,没有不行。
2.两个单引号中间必须有且仅有一个字符,有两个不行。
3.空常量不能直接用来打印输出。

例如:System.out.println(’’);这是错误的。
例如:Syetem.out.println(‘AB’);这是错误的。
例如:System.out.println(nulll);这是错误的。

数据类型

数据类型分为基本数据类型和引用数据类型。

基本数据类型:四类八种。
    整数型    byte short int long
    浮点型    float double
    字符型    char
    布尔型    boolean

简要提一下引用数据类型:字符串、数组、类、接口、Lambda。

如下图所示。

在这里插入图片描述

取值范围与内存占用不相关,就比如说图中的long占用8个字节而单精度浮点数float只占用四个字节,但是float的取值范围却比long的取值范围大很多,这是因为float采用的是科学计数法计算省空间。

注意事项:
1.字符串不是基本类型,而是引用类型。
2.浮点型可能只是一个近似值,并非精确值。
3.数据范围与字节数不一定相关。例如:float数据范围比long更加广泛,但是float是4字节,long是8字节。
4.浮点数当中默认类型是double。如果一定要使用float类型,需要加上一个后缀F。
如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L。大小写后缀都可以,推荐使用大写字母后缀。
例如:System.out.println(100L);

变量

变量:程序运行期间,内容可以发生改变的量。

创建一个变量并且使用的格式:数据类型 变量名称; 变量名称 = 数据值;

一步到位的格式:数据类型 变量名称 = 数据值;//在创建一个变量的同时,立刻放入指定的数据值。

用long 和 float时要加后缀。例如:long num = 30000000000L; float num = 2.5F;

数据类型转换

当数据类型不一样时,将会发生数据类型转换。

数据类型转换分为两类:

  自动类型转换(隐式)
    1.特点:代码不需要进行特殊处理,自动完成。
    2.规则:数据范围从小到大。

  强制类型转换(显式)
    1.特点:代码需要进行特殊的格式处理,不能自动完成。
    2.格式:范围小的数据类型 范围小的变量名 = (范围小的类型)原本范围大的数据; 例如:int num = (int) 100L;

注意事项:
    1.强制类型转换一般不推荐使用,因为有可能发生精度损失、数据溢出。如图。

在这里插入图片描述

    2.byte/short/char这三种类型都可以发生数学运算,例如加法“+”.
    3.byte/short/char这三种类型在运算的时候,都会被首先提升为int类型,然后在计算。
    4.boolean类型不能发生数据类型转换

数据溢出:数据范围大的数据类型转换为数据范围小的数据类型,装不下,数据溢出了。
精度损失:就是把有一部分数据的精度给舍掉了。例如:int num = (int) 3.99;输出结果为3。

例如:char ch = ‘A’;//这是一个字符变量,里面是大写字母A
           System.out.println(ch+1);//66,也就是大写字母A被当成65处理。
计算机的底层会用一个数字(二进制)来代表字符A,就是65。
一旦char类型进行了数学运算,那么字符就会按照一定的规则翻译成为一个数字。

例如:
byte num1 = 40;
byte num2 = 50;
//byte + byte => int + int => int
byte result1 = num1 + num2;
System.out.println(result1);
编译器报错,因为byte+byte运算时默认会提升为int+int 应该用int去接收。
int result1 = num1 + num2;

byte+short也是一样。举一个正确的例子:
short num1 = 60;
byte num2 = 40;
//byte + short => int + int => int
//int强制类型转换为short:注意必须保证逻辑上真实大小本来就没有超过short范围,否则会发生数据溢出
short result = (short) (num1 + num2);
System.out.println(result);//100

ASCII码表

数字和字符的对照关系表(编码表):
ASCII码表:American Standard Code for Information Interchange,美国信息交换标准代码。
Unicode码表:万国码。也是数字和符号的对照关系,开头0-127部分和ASCII完全一样,但是从128开始包含有更多的字符。

在这里插入图片描述

记住三个:48代表0,65代表A,97代表a。其余的查表即可。

例如:
char zifu1 = ‘1’;
System.out.println(zifu1 + 0);//49

char zifu2 = ‘A’;

char zifu3 = ‘c’;
int num = zifu3;
//左侧是int类型,右边是char类型,char => int ,确实是从小到大发生了自动类型转换
System.out.println(num);//99

char zifu4 = ‘中’;
System.out.println(zifu4 + 0);//20013

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中的常量与变量 的相关文章

随机推荐

  • SpringBoot+Mybatis 动态多数据源

    目录 前言代码 前言 基于SpringBoot Mybatis Druid实现一个服务连接多个数据库的动态数据源代码 xff0c 本文中数据源是固定两个 xff0c 在配置文件和代码中写死成两个了 xff0c 如果需要更多可以修改配置和代码
  • 基于SpringBoot实现的小区物业管理系统(含文档)

    一 技术 框架 xff1a springboot xff0c mybatis xff0c html 工具 xff1a idea或者eclipse xff0c navicat 数据库 xff1a mysql 二 功能描述 1 系统管理 小区物
  • JPA 中的entityManager.createNativeQuery()

    在JPA 中的entityManager createNativeQuery sql 我们用来执行原生的sql xff0c 什么叫原生的sql xff0c 你写的这个sql呢 xff0c 放到数据库中拼接上参数就可以直接执行了 代码举例 s
  • SpringMVC配置详解以及工作流程

    1 SpringMVC配置详解 xff1a 配置激活 64 controller和 64 RequestMapping注解的语句配置静态资源过滤器配置视图解析器 xff0c 如果使用freemarker插件视图解析器的配置在后面实现文件上传
  • python两个服务器之间进行文件传输(转载)

    import os import paramiko class SSHConnection object def init self host port username pwd self host 61 host self port 61
  • linux服务器开机启动流程

    Linux服务器开机启动流程顺序 xff1a 通电 gt BIOS gt 主引导记录 xff08 MBR xff09 gt grub引导 gt 加载内核 gt init进程 gt 读取 etc inittab xff08 运行级别 xff0
  • CentOS7升级8及glibc更新尝试

    CentOS7升级8及glibc更新尝试 建国70周年 xff0c 想听我和我的祖国 xff0c 想着下载个网易云音乐 结果启动 xy 64 xycto netease cloud music 发现libgcc版本太低不支持 xff0c o
  • 消息队列3个面试题

    1 在何种场景下使用了消息中间件 xff1f 2 为什么要在系统里引入消息中间件 xff1f 3 如何实现幂等 xff1f 链式调用是我们在写程序时候的一般流程 xff0c 为了完成一个整体功能 xff0c 会将其拆分成多个函数 xff08
  • 华为开发者大会2019观后感

  • element 时间日期选择器限制选择至少7天,快捷选择回调使用methods内的方法

    template部分代码 lt el date picker append to body 61 34 false 34 64 change 61 34 dateChange1 34 v model 61 34 targetTime1 34
  • win7+Ubuntu18.04双磁盘双系统安装踩坑记录

    win7 43 Ubuntu18 04双磁盘双系统安装踩坑记录 重装双系统 之前安装的双系统不知道什么原因不能进入了 xff0c 只能进入win7系统 xff0c 试了很多办法后决定重装ubuntu 1 备份原始Ubuntu重要文件 进入w
  • 指针和函数

    指针和函数 1 形参改变不了实参的值 图1 图1 2 通过地址传递可以改变实参的值 xff1a 图2 注意 xff1a 在图1与图2 在定义函数参数中 a b前 星号 的有无 说明传递的是 实参的地址与实参的值 2 函数参数中如果有数组 都
  • 文件操作

    文件操作 1 文件分类 xff1a 文本文件 xff08 例 xff1a 记事本 xff09 二进制文件 xff08 例 xff1a 视频文件 xff09 xff0c 优点 xff1a 所占内存较小 操作文件地址的两种方式 xff1a 相对
  • 简易文本编辑器

    C语言QT开发简易文本编辑器 文件 xff1a 新建 打开 保存 另存为 推出 编辑 xff1a 撤销 赋值 粘贴 剪切 构架 xff1a 编译 帮助 xff1a 关于 删除下方对框栏 设置textexit全屏 先点击textedit 然后
  • 二叉树编程

    二叉树编程 span class token macro property span class token directive keyword define span CRT SECURE NO WARNINGS span span cl
  • 字符串

    字符串 目标 认识字符串下标切片常用操作方法 一 认识字符串 字符串是 Python 中最常用的数据类型 我们一般使用引号来创建字符串 创建字符串很简单 xff0c 只要为变量分配一个值即可 a span class token opera
  • 集合

    集合 目标 创建集合集合数据的特点集合的常见操作 一 创建集合 创建集合使用 或set xff0c 但是如果要创建空集合只能使用set xff0c 因为 用来创建空字典 s1 span class token operator 61 spa
  • 函数一

    文章目录 函数目标一 函数的作用二 函数的使用步骤2 1 定义函数2 2 调用函数2 3 快速体验 三 函数的参数作用四 函数的返回值作用4 1 应用 五 函数的说明文档5 1 语法5 2 快速体验 六 函数嵌套调用七 函数应用7 1 打印
  • 概率论的基本概念

    概率论的起源与发展 概率论产生于十六世纪十六世纪中叶 xff0c 卡当在赌博时研究不输的方法1654年 xff0c 德 美黑 合理分配赌注问题 1657年 xff0c 惠更斯 论机会游戏的计算 1933年 xff0c 柯尔莫哥洛夫 概率论的
  • java中的常量与变量

    常量 常量 xff1a 在程序运行期间 xff0c 固定不变的量 常量的分类 xff1a 1 字符串常量 xff1a 凡是用双引号引起来的部分 xff0c 叫做字符串常量 例如 xff1a abc Hello 123 2 整数常量 xff1