小码笔记4:Java数据类型

一、常量

1. 概念

常量:程序运行中,固定不变的量

2.分类
  • 字符串常量
    "a"、"ab"、"中"、""

  • 整数常量 整数

  • 小数常量 小数

  • 字符
    'a'、'5'、'B'、'中'

  • boolean常量
    boolean值 true和false

  • 空常量
    空值,什么都没有 值为null (直接输出会报空指针异常)

二、数据类型

1.概念

Java语言是强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型也分配了不同的内存空间,所以它们表示的数据大小也是不一样的,分为:

  • 基本数据类型
  • 引用数据类型
    在这里插入图片描述

2.基本数据类型

类型 长度(bit) 长度(字节) 最小值 最大值 备注
整型(默认int) 字节型byte 8位 1 -128 127
短整型short 16位 2 -32768 32767
整数型int 32位 4 -2^31 2^31-1 最大21亿
整数型long 64位 8 -2^63 2^63-1 L
浮点型(默认double) 单精度float 32位 4 F(精确7位)
双精度double 64位 8
字符型(默认null) 字符型char 16位 2 Unicode、ascll码表
布尔型(默认false) 布尔型boolean 8位 1 true、false

3.引用数据类型

除了八种基本出具类型都是引用数据类型
如:字符串(String)、数组、类、接口、Lambda等等

4.小结

  • 字符串是引用数据类型 不是基本数据类型
  • 浮点数可能只是一个近似值,并非精确值
  • 数据范围与字节数不一定相关,例如4字节的float数据范围比8字节的long更广泛
  • 浮点数默认double,想要使用float类型加后缀F
    整数默认int,想要使用long类型需要加后缀L
    推荐大写

三、变量

1.概念

  • 变量:在程序运行过程中,其值可以发生改变的量
    从本质上讲,变量是内存中的一小块区域,其值可以在一定范围内变化

2.定义格式

1. // 第一种:声明变量并赋值
	数据类型 变量名 = 初始化值; 
    int age = 18;

2. // 第二种:先声明,后赋值(使用前赋值即可)
    数据类型 变量名;
    变量名 = 初始化值;
    double money;
    money = 55.5;

3. // 第三种:定义int类型的变量a和b,中间使用逗号隔开
    int a = 10, b = 20; 
    int c,d; // 声明int类型的变量c和d,中间使用逗号隔开
    c = 30;
    d = 40;

3.小结注意

1. 在作用域内,创建的多个变量不能重名
2. 变量如果没有赋值,不能直接使用,如果想使用必须先赋值
3. 变量的作用域
      作用域:变量定义在哪个代码块中只能在哪里只用,
      		 超出所属大括号范围就失效
      
4. 全局变量和局部变量
      全局变量:父级块申明变量,子级可以使用,无法重复申明
      局部变量:子级块之间(程序块{
    
    }区分)申明变量互不干扰

四、数据类型转换

1.概念

  • 数据类型转换:当数据类型不同时,将会发生类型转换

  • 分类

    • 自动类型转换(隐式)
    • 强制类型转换(显式)

2.自动类型转换

自动转换(隐式)

  • 特点:自动完成
  • 规则:数据范围从小到大
    在这里插入图片描述

3.强制类型转换

  • 特点:代码需要进行特殊的格式处理,不能自动完成

  • 格式:范围小类型 范围小变量名 =(范围小类型) 范围大数据

  • 注意事项

    • 强制类型转换一般不推荐使用,有可能发生精度损失、数据溢出

    • byte、short、char这三种类型都可以发生数学运算,
      例如"+"、"-",在运算时都会被首先提升为int类型,然后再计算

    • boolean类型不能发生数据类型转换

    • 按ascll码表和UniCode表
      0-127同ASCLL码表,后面有多个字符
      48—'0'
      65—'A'
      97—'a'

猜你喜欢

转载自blog.csdn.net/XIAOMAO1REN/article/details/115096956