JAVA基础-数据运算

数据运算

数据类型

在程序设计中,数据是程序的组成部分,也是程序处理的对象,不同的数据有不同的数据类型,同时不同的数据类型也有不同的数据结构、不同的存储方式,并且参与的运算也不相同。
因为在写程序的过程中时时刻刻就需要使用的各种数据类型,因此熟练的掌握各种数据类型非常的重要。

Java中的数据类型分为两个大类:基本数据类型 引用数据类型
而这两个大类之下又包含若干个小类。

基本数据类型
数据类型关键字占用字节数默认值取值范围
布尔型boolean1falsetrue,false
字节型byte10 − 2 7 -2^{7} 27~ 2 7 2^{7} 27
短整型short20 − 2 15 -2^{15} 215~ 2 15 2^{15} 215
整型int40 − 2 31 -2^{31} 231~ 2 31 2^{31} 231
长整型long80L − 2 63 -2^{63} 263~ 2 63 2^{63} 263
单精度浮点型float40F1.4X 1 0 − 45 10^{-45} 1045~3.4X 1 0 38 10^{38} 1038
双精度型double80D4.9X 1 0 − 324 10^{-324} 10324~1.8X 1 0 308 10^{308} 10308
字符型char2‘\u0000’‘\u0000’~’\uffff’

如上表,这是Java中基本数据类型的名称、关键字、占用字节数、默认值和取值范围。

  • 布尔型
    布尔型是用来表示逻辑型数据的数据类型,它的变量或常量的取值只有truefalse两个。其中,true表示flase表示

  • 整数型 - byte、short、int、long
    这四种类型都属于整数型的范围,它们的主要不同点是取值范围的不同,也就是说它们在内存中所占用的字节长度是不同的,初始化时,不能在相应的类型下赋给它们超出取值范围的数,超出后会造成数值溢出。

  • 浮点数型 - float、double
    这两种都是属于浮点数类型的范围,float单精度实数,而double双精度实数。它们分别占用了4和8个字节,也是取值范围不相同。

  • 字符型 - char
    字符型是用Unicode编码表达的字符,Unicode编码是国际标准编码方案,这样Java处理多语种的能力大大加强。

引用数据类型

Java中的引用数据类型是数组(Array)类(class)接口(interface)

  • 数组
    数组是一种有序数据的集合,其中所包含的数据要具有相同的数据类型,可以使用一个统一的数组名和下标名来唯一的定位数组中的一个数据元素。
    • 一维数组的定义方式
      type arrayName[];
      或者
      type [] arrayName;

      其中,type可以为Java中的任意数据类型,包括基本类型和引用数据类型,数组名arrayName为一个合法的标识符,[]指明该变量是一个数据类型变量,它可以放到数组名的前面或者后面,通常建议放在数组名的前面。例如:
      int[] goldsunC;
      这句话声明了一个整型数组,数组中的每个元素都应该为int

      (要注意的是,和C、C++不同,Java在数组中的定义并不为数组元素分配内存,因此[]中不用指出数组中元素的个数,即数组长度)

    • 分配内存
      为数组分配内存空间的时候,需要用到new运算符,像创造一个新的对象一样,其格式如下:
      arrayName = new type[arraySize];
      其中,arraySize用来指明数组的长度。如:
      score = new int[100];
      它就为一个整型的数组分配了100个int数占用的内存空间。
      通常这两部分(声明和分配内存)可以合在一起,格式如下:
      type arrayName = new type[arraySize];
      如:
      int[] score = new int[3]
      (在给数组分配空间的同时,数组中的每一个元素都会被自动赋一个默认值。)

    • 数组的引用
      当给定义一个数组且分配过内存过后,就可以对其进行引用,引用方式为:
      arrayName[index]
      其中,index为数组的下标,它可以是整数或者表达式,下标从0开始。

    • 数组初始化
      数组初始化有两种方法:

      • 显式的给每一个元素赋值。
      • 在数组定义的同时初始化。如:
        int[] a = {1,2,3,4,5};
    • 多维数组的定义方式
      使用如下方式定义一个二维数组:
      type arrayName[][];
      或着
      type[][] arrayName;
      定义方法与一维数组类似,由此可以递推更高维的数组定义方法。

    • 多维数组的其它概念
      在引用及初始化方法,多维数组和一维数组类似,如下方式定义并分配空间给一个二维数组:
      int[][] array = new int[2][3];
      也可以这样:
      int[][] array = new int[2][3];
      array[0] = new int[3];
      array[1] = new int[3];
      两种方法实现效果一样。
      引用的方法和一维数组相同,可以用整数或者表达式,下标从0开始。
      初始化方法除挨个赋值外也可以:
      int[][] array = {{1,2,3},{2,3,4},{3,4,5}}

      • 重要概念
        Java中的多维数组是非规则矩阵的数组,即锯齿状数组,如何理解呢?如在C++中,你可以这样写:
        int array[][] = new int[][4];
        这是因为在C++中是规则的矩阵型数组,每一个数组都是MxN的形式,即固定的M行N列。
        在Java中可以这样:
        int[][] array = new int[3][];
        array[0] = new int[1]{1};
        array[1] = new int[3]{1,2,3};
        array[2] = new int[2]{1,2};
        即有M行,但是每一行不一定都有N列。
  • 类、接口
    类和接口也是引用数据类型,不过概念跟数组不太一样,是面向对象的内容,接下来会依次介绍。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阳寜

“请作者吃颗糖!”

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值