前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java学习笔记-全栈-Java基础-02-java变量/常量中的坑

Java学习笔记-全栈-Java基础-02-java变量/常量中的坑

作者头像
devi
发布2021-08-18 15:19:31
2890
发布2021-08-18 15:19:31
举报
文章被收录于专栏:搬砖记录

变量与常量

1. 变量的本质

变量就是可操作的的存储空间,通过变量名操纵该空间。

2. 变量的分类

类型

声明位置

从属于

生命周期

局部变量

方法\语句块内

方法\语句块

声明—>方法\语句块结束

成员变量(实例变量)

类内,方法外

对象

对象创建—>对象回收

静态变量(类变量)

类内,static修饰

类被加载—>类被卸载

代码语言:javascript
复制
局部变量不允许不初始化。静态变量或者成员变量具有消极默认值(0,null,false)。

3.常量

final int A=5; 通常,变量名全为大写,也为常量。

4. 命名规范

类成员变量\局部变量\方法名\包名:首字母小写-驼峰分割 常量:全大写-下划线分割 类名:首字母大写-驼峰分割

5. 数据类型

数据类型

基本数据类型

引用数据类型

数值型

字符型

char-2byte

布尔型-boolean-1bit或1/4bit

整数类型

byte-1byte

short-2byte

int-4byte

long-8byte

浮点类型

double-8byte-精确后14位

float-4byte-精确后7位

接口

大小统一为4byte-记录引用对象的地址

重点知识

  • 1byte=8bit
  • 对于整型,表数范围为 -2(位数 -1)~2(位数-1) -1 (拿出一个符号位所以位数-1,最后-1因为还有个0)。
  • 八进制数以0开头,十六进制以0x或0X开头,二进制以0b或0B开头。
  • 浮点型float、double一定不能用于比较,绝对不能作为控制条件。(试想,两个数之间的小数是无限多的,所以不可能精确的表示一个小数,一定存在误差),若需要进行不产生舍入误差的精确数字比较或计算,使用BigDecimal类。
  • char c1=‘中’ 是合法的,因为Java使用的是Unicode,一个Unicode占用2byte。
  • Java的String类型跟c语言中的实现一样,实际是char sequence。

6. 奇怪的报错

1)为什么long a=55555555555编译错误?

两个前提: Java整型常数默认为int型 变量的本质是通过变量名操纵存储空间

long a 表示声明一个变量a,55555555555表示开辟了一个存储空间存放该整型,而Java 默认整型为int,这个数对于int来说溢出了,此时就会报错。

改为long a=55555555555L即可

2)为什么float a=3.14编译错误?

两个前提: Java浮点常数默认为double型 变量的本质是通过变量名操纵存储空间

实际3.14是double,占用8个字节,而float a只有4个字节,将8个长度空间给4个长度空间自然塞不下。

应该改为float a=3.14L

7.运算转换规则

  • short、byte、int之间的 混合运算均为int
  • long+short\byte\int结果为long
  • 有double,结果为double
  • float+float=float
  • 并非字节少的自动转化为字节大的,如long 8byte,float 4byte,但long->float
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/12/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 变量与常量
    • 1. 变量的本质
      • 2. 变量的分类
        • 3.常量
          • 4. 命名规范
            • 5. 数据类型
              • 6. 奇怪的报错
                • 7.运算转换规则
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档