漫漫Java路1—基础知识3—数据类型和变量作用域以及常量

2021-06-09 03:03

阅读:363

标签:底层原理   强类型   浮点   类型转换   基本   局部变量   字符类型   特点   不能   

强类型语言

所有变量定义后才能使用,区别于js等弱类型语言

数据类型分类

  1. 基本类型(primitive type)
  2. 引用类型(reference type)

整数类

  • byte:占1字节
  • short:占2字节
  • int:占4字节
  • long:占8字节

浮点类

  • float:占4字节
  • double:占8字节

boolean类

占1位

分true和false

字符类型

占2字节

枚举类型

enum Season{
    spring,summer,autumn,winter
};
//使用
Season a=spring;
int b=a.nextInt();//转换为对应序号,从1开始计数,即b=1    

引用类型

接口

数组

特点

long a=345L;
float b=3333.22222F; 
//字符类
  //三种赋值方法:
        char c=‘a‘;
	char d=45;//字符类加减是基于ascii码的运算
	char e=‘\u0041‘;//Unicode编码
        final boolean f=ture;//将e变为常量       

进制拓展

int a=1;
int b=010;//八进制
int c=0x11;//十六进制

浮点数的误差问题

浮点数因为设计时就决定了误差,在进行精度计算时,引入类BigDecimal计算

关于浮点数的细节和底层原理在后面会专门写一篇文章,敬请期待

类型转换

  1. 强制转换

    int i=123;
    byte a=(byte)i;
    
  2. 自动转换:从低到高会自动转换

    byte,short,char->int->long->float->double

注:

布尔值不能转换

不相干类型转换会产生错误

tips之数字书写

  long s=100_99_99999_7777L;

这种书写可以简化识别,编译器也支持这种书写方式

变量作用域

类变量

具有static关键词,随着类产生与消失

实例变量

从属于对象 使用的时候要自行初始化,也就是要实例化,不自行初始化的话,数值默认为0或者0.0,布尔型默认为false,除了基本类型,其余都是null

局部变量

在方法内使用

常量

final+常量名=常量值

final同样是修饰符,与static、public等同时使用时不存在先后顺序

漫漫Java路1—基础知识3—数据类型和变量作用域以及常量

标签:底层原理   强类型   浮点   类型转换   基本   局部变量   字符类型   特点   不能   

原文地址:https://www.cnblogs.com/l1j1ng/p/14502720.html


评论


亲,登录后才可以留言!