数据类型

强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

Java的数据类型分为两大类

  • 基本类型(primitive type)

    • 数值类型

      • 整数类型

        • byte占1个字节范围:-128-127
        • short占2个字节范围:-32768-23768
        • int占4个字节范围:-2147483648-2147483648
        • long占8个字节范围:-9223372036854775808-9223372036854775808
      • 浮点类型
        • float占4个字节
        • double占8个字节
      • 字符类型char占2个字符
    • boolean类型:占1位其值只有true和false两个
  • 引用类型(reference type)

      • String
      • BigDecimal 数学工具类
    • 接口
    • 数组

    面试题:Java基础八大类型有哪些?

扩展

  • 整数扩展

    • //进制:	二进制0b	十进制	八进制0	十六进制0x
      int i = 10;
      int i2 = 010; //八进制0
      int i3 = 0x10; // 十六进制0x 0~9 A~F 16
  • 浮点数

    • // float	有限	离散	舍入误差 大约 接近但不等于
      // 最好不要使用浮点数进行比较
      float f = 0.1f; //0.1
      double d = 1.0/10; //0.1
      if(f==d){}//返回false float d1 = 12321312312312f;
      flaot d2 = d1+1;
      if(d1==d2){}//返回true
    • 面试题:银行业务怎么表示?钱
      DigDecimal 数学工具类

  • 字符

    • char c1 = 'A';
      char c2 = '中';
      System.out.println((int)c1); //强制转换成Unicode对应的数值
      System.out.println((int)c2); //强制转换成Unicode对应的数值 char c3 = '\u0061';
      System.out.println(c3);//a
  • 转义字符

    • \n 换行
    • \t 制表符
  • 布尔值扩展

    • boolean flag = true
      if(flage){ }

    类型转换

    由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。

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

    运算中,不同类型的数据先转换为同一类型,然后进行运算。

    强制转换和自动类型转换

    // 强制转换	(类型)变量名		高-->低
    int i = 128
    byte b = (baye)i; //内存溢出,byte最大值为127 // 自动转换 低-->高
    int i = 128
    double i =i; // 精度问题,小数点后面的数丢失
    System.out.println((int)23.7) // 23
    System.out.println((int)-45.89f) // -45 // char的强制转换
    char c ='a';
    int d = c+1;
    System.out.println(d); // 输出98
    System.out.println((char)d); // 输出b

    注意点:

    1. 不能对布尔值进行转换
    2. 不能把对象类型转换为不相干的类型
    3. 在把高容量转换到低容量的时候,需要强制转换
    4. 转换的时候可能存在内存溢出,或者精度的问题
// 操作比较大的数的时候,注意溢出问题
// JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money*years; // -1474836480,计算是已经溢出
long total2 = money*years; // 默认是int,转换之前就已经存在问题 // 解决方式
long total2 = money*((long)years); // 先吧一个数转换为long

03 Java的数据类型分为两大类 类型转换 八大基本类型的更多相关文章

  1. java的数据类型分为两大类

    java的数据类型分为两大类 基本类型(primitive type) 数据类型 整数类型 byte占一个字节范围:-128-127 short占两个字节范围:-32768-32767 int占四个字 ...

  2. dll的加载方式主要分为两大类,显式和隐式链接

    之前简单写过如何创建lib和dll文件及简单的使用(http://blog.csdn.net/betabin/article/details/7239200).现在先再深入点写写dll的加载方式. d ...

  3. CSS的选择器分为两大类

    CSS的选择器分为两大类:基本选择题和扩展选择器. 基本选择器: 标签选择器:针对一类标签 ID选择器:针对某一个特定的标签使用 类选择器:针对你想要的所有标签使用 通用选择器(通配符):针对所有的标 ...

  4. 【Java知识点专项练习】之 数据类型两大类

    Java的数据类型分为两大类:基本类型和引用类型: 基本类型只能保存一些常量数据,引用类型除了可以保存数据,还能提供操作这些数据的功能: 为了操作基本类型的数据,java也对它们进行了封装, 得到八个 ...

  5. 关于fmri数据分析的两大类,四种方法

    关于fmri数据分析的两大类,四种方法: 数据驱动: tca:其实这种方法,主要是提取时间维的特征.如果用它来进行数据的分析,则必须要利用其他的数据方法,比如结合ICA. ica:作为pca的一般化实 ...

  6. Access Violation分成两大类:运行期和设计期(很全的解释)

    用Delphi开发程序时,我们可以把遇到的Access Violation分成两大类:运行期和设计期. 一.设计期的Access Violation 1.硬件原因  在启动或关闭Delphi IDE以 ...

  7. sql 两大类 DDL数据定义语言 和DCL数据控制语言

    SQL分为五大类: DDL:数据定义语言   DCL:数据控制语言     DML:数据的操纵语言  DTL:数据事务语言  DQL:数据查询语言. DDL (date definition lang ...

  8. (一)spark算子 分为3大类

    value类型的算子 处理数据类型为value型的算子(也就是这个算子只处理数据类型为value的数据),可以根据rdd的输入分区与输出分区的关系分为以下几个类型 (1)输入分区与输出分区一对一型 m ...

  9. 类中的两大类(string类、math类)的应用

    类是我们在学习C#的过程中很关键也是特别容易让人蒙逼得地方,类的应用直接可以调用它的属性和方法来进行判断和验证 string类(也叫字符串类) C#中的String类很有用,下面是一些它的常用方法的总 ...

随机推荐

  1. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 解决

    感谢大佬:https://blog.csdn.net/a704397849/article/details/93797529 springboot + mybatis多数据库 + druid连接池配置 ...

  2. Shell脚本之编程规范和变量

    Shell脚本编程规划和变量 1.Shell脚本概述 2.Shell编程规划 3.重定向与管道 4.Shell脚本变量 1.Shell脚本概述 Shell的作用:充当"翻译官"的角 ...

  3. Java中浅拷贝和深拷贝的区别

    浅拷贝和深拷贝的定义: 浅拷贝: 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.即对象的浅拷贝会对"主"对象进行拷贝,但不会复制主对象 ...

  4. 框架4--NFS网络共享

    目录 框架4--NFS网络共享 1.练习 2.昨日问题 3.今日内容 4.NFS简介 5.NFS应用 6.NFS实践 6.1.服务端 6.2.客户端 7.NFS配置详解 8.搭建考试系统 8.1.搭建 ...

  5. Solution -「LOJ #138」「模板」类欧几里得算法

    \(\mathcal{Description}\)   Link.   \(T\) 组询问,每次给出 \(n,a,b,c,k_1,k_2\),求 \[\sum_{x=0}^nx^{k_1}\left\ ...

  6. mysql 查询附近N公里内数据

    mysql 查询一个地点(经纬度) 附近N公里内的数据.(根据一个地点的经纬度查询这个地点方圆几公里内的数据)1.创建测试表 CREATE TABLE `location` ( `id` int(10 ...

  7. 多图|一文详解Nacos参数!

    Nacos 中的参数有很多,如:命名空间.分组名.服务名.保护阈值.服务路由类型.临时实例等,那这些参数都是什么意思?又该如何设置?接下来我们一起来盘它. 1.命名空间 在 Nacos 中通过命名空间 ...

  8. 中国首个进入谷歌编程之夏(GSoC)的开源项目: Casbin, 2022 年预选生招募!

    Casbin 明日之星预选生计划-Talent for Casbin 2022 "Casbin 明日之星预选生计划-Talent for Casbin 2022"是什么? &quo ...

  9. 入手这个商业智能工具,建设自助式BI平台轻松搞定

    ​数据的重要性无需多言,可数据的获取和使用却依然不是一件容易的事.尤其是对企业中不掌握数据的广大业务人员,对数据又爱又恨,对掌握数据对IT部门,更是恨多爱少,为了拿到数据分析数据,不断的申请.催促.沟 ...

  10. 用这个BI工具,不会代码的业务人员也能做数据分析!

    随着企业的迅速发展,企业对数据分析的需求也在不断地凸显,但我们在实际的工作中经常会遇到这样尴尬的情形:擅长数据分析的人不懂业务,擅长业务的人又不了解数据分析.那么怎么让更懂业务逻辑.业务分析需求和痛点 ...