Java变量和数据类型

本文详细介绍了Java中的变量概念、声明方式和注意事项,包括基本数据类型如整数、浮点型、布尔型和字符型的内存占用及范围。此外,还讲解了引用数据类型如数组、类、接口等,并阐述了类型转换的规则。最后,提到了标识符命名法则和不同进制之间的转换方法,为理解和使用Java编程提供了基础指导。
摘要由CSDN通过智能技术生成

Java变量和数据类型

变量

基本概念

        用来记录程序中的单个数据内容(本质是向内存申请的一个存储单元),由于数据内容可以发生变化,故称为“变量”

声明方式

        数据类型 变量名 ( = 初始值);

注意事项
  • 必须声明
  • 必须指定数据类型(java是强类型语言)
  • 必须初始化
  • 必须唯一

数据类型

基本数据类型
类型名字所占内存(/字节)数据范围备注
整数byte1-128 ~ 127(-2^7 ~ 2^7-1 )
整数short2-32768 ~ 32767 (-2^15 ~ 2^15-1)
整数int4-2147483648 ~ 2147483647(21亿) (-2^31 ~ 2^31-1)推荐使用,程序中直接给出的整数类型常量(直接量/字面量),默认为int类型
整数long8-2^63 ~ 2^63-1 (92亿个亿)常量后面加上 l 或 L 表明为long
浮点型float4-3.403E38 ~ 3.403E38单精度浮点数,表示7位有效数字,直接量后面加 f 或者 F 表示float类型
浮点型double8-1.798E308 ~ 1.798E308推荐使用,双精度浮点数,表示15位有效数字,程序中直接给出的小数类型默认为double类型
布尔类型boolean1true / false
字符类型char20 ~ 655355占两个字节且无符号位;需使用ASCII或者Unicode字符集编码对应数据的存储

常用的ASCII码

空字符 - 0
换行符 - 10
空 格 - 32
‘0’ - 48
‘A’ - 65
‘a’ - 97

引用数据类型

        数组、类、接口、枚举、标注(注解)

类型转换
  1. 自动类型转换(小类型到大类型转换,也叫向上转型)
    基本数据类型:
    在这里插入图片描述
    引用数据类型:
            子类转父类
  2. 强制类型转换(大类型到小类型的转换,也叫做向下转型或显示类型转换)
    基本数据类型:
            目标类型变量名= (目标类型)源类型变量名;
            强转会造成数据损失,具体根据具体值和数据类型的存储大小计算
    引用数据类型:
            父类转子类

注:

  • 引用数据的转换必须发生在父子类直接,否则编译保错
  • 若强转的目标类型并不是该引用真正指向的数据类型时编译通过,但在运行阶段发生类型转换异常,可通过判断 引用变量 instanceof 数据类型 避免该错误发生

标识符命名法则

  • 由数字、字母、下划线以及$组成,但数字不能开头(数字开头会被默认认为是int类型,导致出错)
  • 不能使用Java关键字
  • 区分大小写
作用

        可以给变量、类、属性、方法、包命名

进制

常见进制
  • 十进制:逢十进一,十进制权重是:10^0、 10^1、 10^2、…
  • 二进制:逢二进一,二进制的权重是2^0、 2^1、 2^2、…,二进制中的最高位(最左边)用于代表符号位,若该位是0则表示非负数,若该位是1则表示负数
  • 八进制和十六进制其实都是二进制的简写
进制转换
  • 正十进制转二进制

    • 除2取余法,使用十进制整数不断地除以2取出余数,直到商为0时将余数逆序排序
    • 拆分法,将十进制整数拆分为若干个二进制权重的和,有该权重下面写1,否则写0
  • 正二进制转十进制

    • 加权法,使用二进制中的每个数字乘以当前位的权重在累加起来
  • 负十进制转二进制

    • 将绝对值转为二进制,按位取反再加1(这里需要理解补码,参考这个博客:https://blog.csdn.net/zl10086111/article/details/80907428/)
  • 负二进制转十进制

    • 先减1再按位取反,合并为十进制后添负号
单个字节(8个二进制位)表示的整数范围
  • 非负数范围:0000 0000 ~ 0111 1111 => 0 ~ 127 => 0 ~ 2^7-1
  • 负数范围:1000 0000 ~ 1111 1111 => -128 ~ -1 => -2^7 ~ -2^0
  • 单个字节的整数范围:-2^7 ~ 2^7-1 => -128 ~ 127
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值