JAVA初学者王者模式 -- 数据类型和数据类型转换

JAVA初学者必须熟练掌握的第一块金砖——数据类型

一、什么是数据类型?

首先,什么是数据呢?
在计算机中存储的东西,有数字,字母(包括汉字等其他文字),图片等等,这些都是以位(bit)(0 或 1)表示。数学上面,我们的理解,小数,整数,这些都是数据,是一种类型。

数据类型

从上面我们可以看出来,数据类型是某种相同特性划分的一种合集。
百度百科的解释:数据类型在数据结构中的定义是一组性质相同的值的集合以及定义在这个值集合上的一组操作的总称

数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。

二、JAVA数据类型

JAVA初学者王者模式 -- 数据类型和数据类型转换

1.基本数据类型,又称原生数据类型
  • 整数型:byte、short、int、long;默认为int

  • 浮点类型:float、double;默认为double

  • 字符型:char

  • 布尔型:boolean
    JAVA初学者王者模式 -- 数据类型和数据类型转换

    • 整数类型表现形式(默认为int类型):
      byte b = 1;
      short s = 10;
      int i = 20;
      long j = 30L;
      注意点:long类型需要在数字后面添加L或者l
      整数类型用进制表现常量:
      二进制:int a = 0B110;格式:0B二进制
      八进制:int a = 0;格式:0八进制
      十六进制:int a = 0Xe3;格式:0X十六进制
    • 浮点类型表现形式(默认为double类型):
      float f = 520.13F;
      double d = 520.13D;
      注意点:float类型数字后面需要跟F或者f
      double类型数字后面的D或者d是可以省略的
    • 字符类型表现形式:
      char a = ‘A’;
      char b = ‘好’;
      char c = ‘1’;
      char d = 65;
      –’ '形式里面只能是单个字符;
      – 这里65对应的值就是A,或者另外一种表达形式char d = ‘\u0041’;
      – 特殊符号(需要使用转义符号转义):\’,\”,\,\r(回车),\n(换行),\t(制表符)
    • 布尔类型boolean
      该类型的值只能是true或者false;这也是boolean的常量,默认值是false

ASSCII(了解即可)
JAVA初学者王者模式 -- 数据类型和数据类型转换

2.引用数据类型,又称对象数据类型,包括类,接口,数组
  • String是一个类,表示字符串,字符串都是用"字符串"来表示,连接字符串使用+符号,起的作用是拼接功能。比如:String name=“成都”+“是一个平原”;//值就是:成都是一个平原

三、常量和变量

1.常量

  • 整数常量 例如:0B110,123, 1000L
  • 小数常量 例如:1.3 , 2.5, 2.1F
  • 字符串常量 例如:”Hello” “我们去吃火锅”
  • 字符常量 例如: ‘1’ ‘好’
  • 布尔常量 例如:true false

2.变量

官方概念:在计算机内存区域分配了一个内存地址,计算机中的一个存储空间

(1)语法:
  • 先定义后赋值,格式:
    数据类型 变量;
    变量=表达式或者值;
    int a;
    a=3;
  • 定义的时候同时赋值,格式:
    数据类型 变量=表达式或者值;
    int a=3;
(2)分类:成员变量和局部变量
  • 成员变量
  1. 直接声明在类结构体中的变量,又称全局变量或字段。可以放方法上面或者下面
  2. 作用域:整个类里面
  3. 有默认值
  • 局部变量
  1. 直接声明在方法或者代码块里面。方法形参,代码块变量,方法内变量
  2. 作用域:声明的方法形参上或者方法内部,或者声明的代码块里面
  3. 没有默认值,需要事先赋值

四、数据类型转换

为何需要数据类型转换?比如:

  1. 为了节省空间:大转小
  2. 代码需要:小转大 (存钱1000 其实存起来的1000.000)
  3. Web前台传的都是字符串数据,如果后台需要运算,得转换

JAVA初学者王者模式 -- 数据类型和数据类型转换

1.自动转换

定义:把小数据范围类型的数据或者变量赋给另一个大数据范围类型变量,系统可以完成自动类型转型,也称为“隐式类型转换”

  • byte,short,char——>int——>long——>float——>double
    short,char不会自动转换
    (这里也可以延伸到byte,short,char,int类型的表达式自动提升为int类型)

2.强制转换

定义:把大范围类型的数值或变量赋给另一个小案范围类型变量时,不能自动转换,必须加上强制转换符才能完成,该操作可能造成数据精度降低或者溢出,也称为显示类型转换

  • byte,short,char<——int<——long<——float<——double
    格式:小数据类型 变量=(小数据类型)(大数据类型或者表达式)
    比如:int a=(int)11100.00f;

欢迎大家留言评论