前言

我们在实际开发当中,少不了对数据的处理,那我们需要怎么进行处理呢?不可能直接对数据进行处理,这样就会特别麻烦、也会导致数据不安全,所以我们就需要用到数据类型 ,变量(容器),下面我们就来了解数据类型和变量的作用以及用法。

1、数据类型概念

就是用了保存数据的一个类型,一种数据类型,只能保存该类型的数据值。

1.1、作用

  • 只有了解数据类型,才能选择合适的类型存放数据,才能更好的利用计算机硬件资源(内存和硬盘等)。
  • 不同的数据类型存放的数据大小是不同的。
  • 数据类型的使用方式就是用来声明一个变量,装数据的。

1.2、数据类型分类

8种数据类型的范围和占用内存大小。

常用的整数类型是 int 、 long ,byte 和 short 基本不用,常用的小数类型是 double ,float 基本不用,因为 double 是不精确的,在实际开发中表示精确的小数。我们使用 BigDecimal 类(使用在金额,关于钱的地方)。

计算机存储数据:存储在硬盘【磁盘】,硬盘中的方式都是用【 二进制 】数据的方式进行存储     01010101010101010101010101010101

计算机底层本质存储的数据形式,就是二进制数据,例如:0101010101010101

2、基本数据类型

2.1、整数类型

整数类型包含 byte 、short 、int 、long。

整数的默认类型为 int 。

为什么需要需要整数有四种类型?

因为不同的数据类型,占用的内存空间是不一样的,能够存储值的范围也就不一样。

注意事项:

  1. byte 的范围大小 [ -128 ~ 127 ]。
  2. long 赋值时,因为整数默认是 int 类型,需要转换为 long 类型的值,后面加上 l(L) 【建议写(大写L)】。
  3. 超过了 long 的范围,用 BigInteger 的类来存放其值。
  4. 同一个整数可以使用不同的进制表示。

2.2、浮点数类型

浮点数类型包括:float、double 。

浮点数默认类型为:double 。

浮点数可以理解为表示的小数:

注意事项:

  1. 直接赋值给 float 类型,需要加上 F 或 f ,因为默认类型都为 double 。
  2. 精度损失,如 double d = 1.0 表示的是无限接近于 1.0 的一个小数,而不是真正的 1.0 。如果需要精确的表示一个小数,可以使用 BigDecimal 。
  3. 单精度与双精度的区别:
    1. 对于单精度浮点数,运行速度相比 double 更快,占内存更小,
    2. 但是当数值非常大或非常小的时候就会变得不精确。
    3. 双精度比单精度表示的位数大,精确的位数多,简单的说,float 表示的小数点位数少。
    4. 初学建议用 double 类型,而实际开发用 BigDecimal 类型表示小数。

2.3、字符类型

  1. 什么是字符:单引号引起来的一个符号就是字符数据。例如: ' a ' ;
  2. 占用内存空间:16 位,占用 2 个字节;表示范围 [ 0,65535 ] 字符常量使用单引号 ' ' 引起来。
  3. 使用方式:
    1. ' a ',' 1 ',' 好 ' 等最常用。
    2. 使用一个数字表示字符,参考下图中 ASCII 码表[字符编码]。关于ASCII码表请百度了解。 例如:char c = 65;  // 表示 ' A ' 这个字符。
    3. 16 进制表示一个字符。例如:char c = '\u0041'; // 十六进制的 0041,是十进制的 65,在字符集中对应的是 A 字符。

    4. 特殊字符使用 ( 需要使用转义符号转义\ ) 
      1. \r 表示回车符;
      2. \n 表示换行符;
      3. \t 表示相当于Table键制表符,;
      4. \b表示退格键,相当于Back Space键;
      5. \’表示单引号;
      6. \” 表示双引号;
      7. \\ 表示一个斜杠\。
    5. 注意:因为系统差异性,在不同的系统中 ,有时候\r起作用,有时候\n起作用。所以,一般建议:\r\n 连用,这样可以在任意系统中都可以换行。

2.4、布尔类型

只有两个值:true、false,不能使用:0和1表示。

2.5、进制

大家都可以看到上面的基本类型都有一个表示范围,那么这个表示范围是怎么算出来的呢?这就必须通过学习计算机保存数据的底层原理才能了解。

计算机的底层保存数据都是通过二进制来完成的,所以,我们需要学习一下进制。

二进制:逢二进一 ,只有0和1。二进制的10表示十进制的2

八进制:逢八进一 ,0 1 2 3 4 5 6 7。二进制的10表示十进制的8

十进制:逢十进一 ,默认进制

十六进制:逢十六进一,0 1 2 3 4 5 6 7 8 9 A B C D E F。二进制的10表示十进制的16。

2.6、引用数据类型

除了基本类型以外,几乎所有的其他类型都是引用类型。  如:java自带的类、我们自定义的类、接口、枚举、数组等都属于引用数据类型。

  1. 类  class

  2. 接口 interface

  3. 枚举 enum

  4. 抽象类 abstract class

  5. 数组   数据类型[ ]

String 类是java中一种自带的引用数据类型,表示字符串数据。

语法:

// 使用双引号 包含字符内容。
String  s = "你好";
System.out.println(s); // 你好

3、常量

3.1、常量概念

常量就是一个固定不变值。例如 123,45,1.2,false等。

3.2、常量分类

整数常量,所有整数,如 1、2、3、100、200 等。

小数常量,所有小数,如 1.2、2.7、3.14 等。

字符常量,用单引号括起来的符号如,' A '、' a '、' 好 ' 等。

布尔常量,只有 true 和 false,分别表示对与错。

字符串常量,使用双引号括起来的内容如:" 早上好 "、" 贤叔同学 " 等。

3.3、代码案例

/**
*   常量:constant ,就是固定不变的值整数类型:1/2/3小数类型:1.2 ...布尔类型:boolean字符类型:char  用 ''表示,只能写一个字符字符串类型:String  字符串常量 用 " " 表示,在 "" 中随便写几个字符串    java中\有转义功能,一个是表示转义,两个\\才能显示\
*/
public class Constant {
public static void main(String[] args) {System.out.println(1); // 整数常量 1System.out.println(2); // 整数常量 2System.out.println('a'); // 字符常量 aSystem.out.println('b'); // 字符常量 bSystem.out.println(3.14); // 小数常量 3.14System.out.println(3.17); // 小数常量 3.17System.out.println(true); // 布尔常量 trueSystem.out.println("adskljfalsdijfla sd \r\n fpor9 02 \t 384r489423");// 字符串常量long lon = 2147483647; // 2147483647 是int最大值
//  long lon2 = 2147483648; // 2147483648 超过 int类型表示范围long lon3 = 2147483648L; // 2147483648 int类型
}
}

4、变量

4.1、变量引入

4.2、变量概念

变量:就是一个盒子(容器),用来装数据的。同一时间只能装一个数据。

4.3、变量作用

变量作用:用来装好数据,进行运算处理的。

4.4、变量使用

变量是内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),Java中每个变量必须先声明,后使用, 该区域的数据可以在同一类型范围内不断变化。

(变量可以理解为装某种类型数据的容器,容器可以重复使用)

  1. 声明变量:

    语法:数据类型 变量名;

    例如:int age; // 声明一个int类型的变量age(年龄)

    注意:

    声明变量可以同时声明多个变量【不建议】

    语法:数据类型 变量名1, 变量名2, 变量名3...; // 值和变量的类型必须相同  或者

    语法:数据类型 变量名1 = 值1, 变量名2 = 值2, 变量名3 = 值3...; // 值和变量的类型必须相同

    例如: int age, age2, age3;   或者  例如: int age = 1, age2 = 2, age3 = 3;

  2. 变量赋值:

    语法:变量名 = 值; // =右边的值,赋值给 =左边的变量。注意:必须保证值和变量的数据类型一致。

    例如:age = 23; // 将23赋值给变量age。注意:必须保证值23和变量age的数据类型一致。

    注意:

    声明变量同时赋值 语法:

    数据类型 变量名 = 值; // 值和变量的类型必须相同。

  3. 变量取值:

    语法:变量名;

    使用方式:

    1. 直接打印输出。

    2. 做运算(+,-,*,/....)。

    3. 赋值给另外的变量。

    4. 作为方法参数使用。

5、代码案例1:

public class Var {public static void main(String[] args) {// ==================  int类型变量使用  =========================// 1. 声明变量,语法:数据类型 变量名;  例如:int age;int score;// 声明一个int类型变量score// 2. 变量赋值,语法:变量名 = 值; 就是将 = 右边的值,赋值给 = 左边的变量。注意:必须保证值和变量的数据类型一致score = 0; // 将 int 类型的值 0 通过 = 赋值给 = 左边的变量 score/** 3. 变量取值,语法:变量名;使用方式:1. 直接打印输出2. 做运算( +,-,*,/....)3. 赋值给另外的变量*/// 1. 直接打印输出变量scoreSystem.out.println(score); // 0 // 2. 做运算(+,-,*,/....) score + 1score = score + 1; // 将变量score中的值0取出来,加上1后,重新赋值给 score 保存。这时,score 的值就是1// 重新打印 score 的值System.out.println(score); // 1// 3. 赋值给另外的变量int score2 = score; // 声明一个 int 类型的变量 score2,赋值为 变量 score 的值// 打印变量 score2System.out.println(score2); // 1// 重新打印 score的值System.out.println(score); // 1}
}

6、代码案例2:

public class Var2 {public static void main(String[] args) {// =============================== byte类型  ====================================// 1. 变量声明 语法: 数据类型 变量名; byte byt; // 声明一个 byte 类型的变量 byt// 2. 变量赋值:语法:变量名 = 值; 将=右边的值,赋值给 = 左边的变量。注意:必须保证值和变量的数据类型一致
//  byt = 128; // byte表示范围[-128,127]超过表示范围了byt = 127; // 将=右边的byte值127,赋值给 =左边的变量byt保存。  注意:必须保证值和变量的数据类型一致// 3. 变量取值,语法:变量名;// 使用方式1:   1. 直接打印输出System.out.println(byt); // 127// 1.5 声明变量同时赋值 【掌握】语法:数据类型 变量名 = 值; // 值和变量的类型必须相同byte byt2 = -128; // 声明一个byte类型变量byt2直接赋值为-128// 直接打印输出变量byt2System.out.println(byt2); // -128/**  1.6 声明变量可以同时声明多个变量【不建议,了解】语法:数据类型 变量名1, 变量名2, 变量名3...; // 值和变量的类型必须相同或者语法:数据类型 变量名1 = 值1, 变量名2 = 值2, 变量名3 = 值3...; // 值和变量的类型必须相同例如: int age, age2, age3; 或者例如: int age = 1, age2 = 2, age3 = 3;*/int a, b, c; // 同时声明int类型a/b/c三个变量// 赋值方式相同 :变量名 = 值;a = 1;b = 2;c = 3;int e = 1, f = 2, g = 3; // 同时声明int类型e/f/g三个变量,同时给e赋值1,给f赋值2,给g赋值3// ===============================    short类型   自己写 ====================================// 1 声明变量同时赋值,语法:数据类型 变量名 = 值; 例如:short s = 1;// 声明一个short类型变量,直接赋值为1// 2. 变量取值:     语法:变量名;// 使用方式1:  1. 直接打印输出//===============================   long类型  ====================================// 1 声明变量同时赋值,语法:数据类型 变量名 = 值;   例如:long lon = 1L;long lon = 1L; // 声明一个long类型变量,直接赋值为long类型值1L。【注意:long类型值必须加上大写L】// 2. 变量取值:     语法:变量名;System.out.println(lon); // 使用方式1: 1. 直接打印输出//===============================   boolean类型   ====================================// 1 声明变量同时赋值,语法:数据类型 变量名 = 值;   boolean boo = true; // 声明一个boolean类型变量,直接赋值为true。// 2. 变量取值:     语法:变量名;// 使用方式1:  1. 直接打印输出System.out.println(boo);// ===============================  float 类型【单精度浮点型】    ====================================// 1 声明变量同时赋值,语法:数据类型 变量名 = 值;
//  float flo = 3.14; // 报错,因为3.14默认是double类型,类型比float更大float flo = 3.14f; // 声明一个float类型变量,直接赋值为3.14F。【赋值的时候必须加上F/f,因为 浮点类型默认是double类型】// 2. 变量取值:        语法:变量名;System.out.println(flo); // 使用方式1: 1. 直接打印输出// ===============================  double 类型【双精度浮点型】       ====================================// 1 声明变量同时赋值,语法:数据类型 变量名 = 值;   double doub = 3.14; // 声明一个double类型变量,直接赋值为3.14。// 2. 变量取值:      语法:变量名;// 使用方式1:  1. 直接打印输出System.out.println(doub);// 科学计数法double doub2 = 3.14E2; // 表示 3.14 * 10^2System.out.println(doub2);double doub3 = 3.14E-2; // 表示 3.14 / 10^2System.out.println(doub3);// ===============================  String 字符串类型(引用类型)    最常用【掌握】====================================// 1 声明变量同时赋值,语法:数据类型 变量名 = 值;    String str = "abc"; // 声明一个String类型变量str,直接赋值为"abc"。// 2. 变量取值:      语法:变量名;System.out.println(str); // 使用方式1: 1. 直接打印输出// +在字符串中表示连接符号,也就是拼接符号str = str + "123"; // 将String变量str中值abc取出来,然后通过+号拼接 123,重新赋值给 str// 重新打印strSystem.out.println(str); // abc123// +在字符串出现之前,表示加法运算,字符串之后表示拼接符号System.out.println(1 + 2 + "ab" + 1 + 2); // 3ab12// =============================== char 类型     最常用【掌握】====================================// 1 声明变量同时赋值,语法:数据类型 变量名 = '值'; // 值必须是单个字符    char ch = 'a'; // 声明一个char类型变量ch,直接赋值为'a'。// 2. 变量取值:        语法:变量名;System.out.println(ch); // a 使用方式1:    1. 直接打印输出// 1 声明变量同时赋值,语法:数据类型 变量名 = 值;  char ch2 = '好'; // 声明一个char类型变量ch2,直接赋值为'好'。// 2. 变量取值:      语法:变量名;System.out.println(ch2); // 使用方式1: 1. 直接打印输出// 1 声明变量同时赋值,语法:数据类型 变量名 = 值;  char ch3 = '1'; // 声明一个char类型变量ch3,直接赋值为'1'。// 2. 变量取值:      语法:变量名;System.out.println(ch3); // 使用方式1: 1. 直接打印输出// 希望打印变量的时候,格式如下:变量名 = 变量值;System.out.println("ch3 = " + ch3); // ch3 = 1// ===============================    char 类型     以下4种使用作为了解  ============================// 使用方式2: 声明char类型变量赋值为 int值 注意,不能超过char的表示范围:[0,65535]char ch4 = 65; // 将65所对应的字符A赋值给ch4System.out.println(ch4); // A// char ch5 = 65536; // 65536超过char的表示范围:[0,65535]
//  System.out.println(ch5); // // 使用方式3: 声明int类型变量赋值为char值int i = 'A'; // 这里是将字符A所对应的int值赋值给变量iSystem.out.println(i); // 65// 使用方式4:十六进制的表示[unicode]char ch6 = '\u0041'; // 0041是十进制的65,在字符集中对应的是A字符System.out.println(ch6); // A// 使用方式5:特殊字符的使用。 ' \ System.out.println('\''); // \表示转移符号,就是表示 \'Java中的'System.out.println('\\'); // \System.out.println('\r'); // 换行System.out.println('\n'); // 回车System.out.println('\t'); // tab键System.out.println("=======\r\n====="); // 建议大家换行连用 \r\n}
}

7、注意事项:

        1. 此处的数据类型可以是Java中支持的所有的数据类型!

        2. 数据类型限定了变量可以存值的类型。

        3. 赋值使用的 = 号,从右往左赋值。

        4. 规范写法:= 两边都加上一个空格。

        5. 变量一旦定义好了,可以反复使用。

        6. 变量只可以存一个值,下次存值会覆盖上一次的值。

二、8大数据类型、变量相关推荐

  1. java类作用域标识符_java入门 (二) 标识符、数据类型、类型转换、变量、常量、作用域...

    java入门(二) 标识符 数据类型 类型转换 变量.常量.作用域 本次笔记引用B站:狂神说,虽然早就会了,现在回头来敲下基础,加深印象 1.标识符: java所有的组成部分都需要名字.类名丶变量名丶 ...

  2. 【Java从入门到头秃专栏 】(二) 注释 数据类型 变量 常量 关键字 标识符 运算符 输入输出

    目录 1 注释 2 数据类型 3 变量与常量 4 关键字.标识符 5 运算符 6 键入值.输出值 1 注释 注释就是写在程序中对代码进行解释说明的文字,方便自己和其他人查看,以便大家更加容易理解程序. ...

  3. C语言数据类型 / 变量类型 - C语言零基础入门教程

    目录 一.C 语言数据类型分类 二.C 语言整形 1.无符号整形(16 位系统) 2.有符号整形(16 位系统) 3.int 和 long 区别 4.超出取值范围的整形 三.C 语言浮点型 float ...

  4. Java 版本、语言规范、API、JDK、IDE、Java 源程序编译、执行原理(跨平台性根本原因)、特殊字符用法、8 大数据类型小结

    文章目录 前言 一.三大版本类型 二.Java 语言规范 三.应用程序接口(API) 四.Java 开发工具包(JDK) 五.集成开发环境(IDE) 六.Java 运行环境(JRE) 七.Java 源 ...

  5. Python数据分析第十二课:单变量、双变量及多变量分析图

    一.单变量分析绘图 什么是单变量分析? 单变量其实就是我们通常接触到的数据集中的一列数据. 单变量分析是数据分析中最简单的形式,其中被分析的数据只包含一个变量.因为它是一个单一的变量,它不处理原因或关 ...

  6. MySQL数据库,从入门到精通:第十二篇——MySQL数据类型详解

    MySQL数据库,从入门到精通:第十二篇--MySQL数据类型详解 第 12 章_MySQL数据类型精讲 1. MySQL中的数据类型 2. 整数类型 2. 1 类型介绍 2. 2 可选属性 2. 2 ...

  7. go 语言系列(二)基本数据类型和操作符

    go 从入门到精通(二)基本数据类型和操作符 一.文件名&关键字&标识符 所有go源码都是以.go结尾 标识符以字母或下划线开头,大小写敏感 下划线_是特殊标识符,用户忽略结果 保留关 ...

  8. 树状结构大数据类型的高效支持

    树状结构大数据类型的高效支持 陈世敏 中国科学院计算技术研究所,北京 100190 摘要:传统的关系数据模型难以满足大数据应用日益丰富的数据表达和处理的需求,因此实践中涌现了多种非传统的大数据类型.其 ...

  9. 前端:JS/17/前篇总结(JS程序的基本语法,变量),数据类型-变量的类型(数值型,字符型,布尔型,未定义型,空型),数据类型转换,typeof()判断数据类型,从字符串提取整数或浮点数的函数

    JS程序的基本语法 1,JS是区分大小写的,如:Name和name是不同的: 2,JS中每一条语句,一般以英文的分号(;)结束,在Java中是严格地一定要加上分号,不然会报错:但在JavaScript ...

最新文章

  1. java signature 性能_Java常见bean mapper的性能及原理分析
  2. 模板 — 高精度计算
  3. SSH框架的简单搭建步骤
  4. java try、catch、finally及finally执行顺序详解
  5. 控制器如何跳转web-inf下的项目_第一次开发项目感想
  6. 安装Windows Service总是发生异常!
  7. 自学python好找工作么-学完Python好找工作吗?为什么有人学完找不到工作?
  8. $.ajax的回调function中的this与 element-ui的this.$alert冲突问题解决
  9. Vue项目中引用‘阿里巴巴字体图标库iconfont’
  10. UIKit框架的介绍
  11. 集成开发项目与开发集成项目的区别
  12. 第二次作业:网易云音乐案例分析
  13. matlab测量平差实验报告,测量平差实习心得精选三篇
  14. PVE虚拟机开启支持虚拟化
  15. 小米社招java面经_小米Java实习一面面经(凉)
  16. voxelmorph中的STN网络
  17. 日语自学学习网站汇总
  18. ssm项目整合与功能开发(注解开发)
  19. linux下tc、htb、iptables基础知识及openwrt 下qos使用介绍
  20. 平面构成基础知识(补习资料)

热门文章

  1. 什么是RDCost?
  2. STM32之如何定义串口通讯协议定义ASCII和hex
  3. 如何通过软文营销获得流量红利?
  4. Java数据结构链表面试题 作者:哇塞大嘴好帥(哇塞大嘴好帅) --持续更新
  5. 视觉SLAM十四讲学习笔记1——视觉里程计
  6. 【qscoj】伊苏比的梦幻之旅之教练(直接+特殊+字符串)
  7. 编译curl的动态库以及curl动态库的使用
  8. AngularJS 构架模式
  9. 《Soft-NMS – Improving Object Detection With One Line of Code》论文翻译
  10. C++ Qt 构建树形结构 树形结构生成XML