精华内容
下载资源
问答
  • Java几种基本数据类型

    千次阅读 2019-02-28 17:03:25
    Java语言提供了八种基本类型。六数字类型(四个整数型,两个浮点型),一字符类型,还有一布尔型。 1.byte byte 数据类型是8位、符号的,以二进制补码表示的整数; 最小值是 -128(-2^7); 最大值是 ...

    内置数据类型

    Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

    1.byte

    byte 数据类型是8位、有符号的,以二进制补码表示的整数;
    最小值是 -128(-2^7);
    最大值是 127(2^7-1);
    默认值是 0,表示的为3位数以内的整数;
    byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;

    2. short

    short 数据类型是 16 位、有符号的以二进制补码表示的整数
    最小值是 -32768(-2^15);
    最大值是 32767(2^15 - 1);
    Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
    默认值是 0;

    3. int

    int 数据类型是32位、有符号的以二进制补码表示的整数;
    最小值是 -2,147,483,648(-2^31);
    最大值是 2,147,483,647(2^31 - 1);
    一般地整型变量默认为 int 类型;但int类型的表示十进制值的范围在20亿以内,故大于这个范围的,必须用long型,否则没有必要。
    默认值是 0 ;

    4. long

    long 数据类型是 64 位、有符号的以二进制补码表示的整数;
    最小值是 -9,223,372,036,854,775,808(-2^63);
    最大值是 9,223,372,036,854,775,807(2^63 -1);
    这种类型主要使用在需要比较大整数的系统上;
    默认值是 0L;
    例子: long a = 100000L,Long b = -200000L。
    "L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。

    5. float

    在这里插入图片描述
    float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
    float 在储存大型浮点数组的时候可节省内存空间;
    float和double的范围是由指数的位数来决定的。
    float的指数位有8位,于是,float的指数范围为-128~ +127,并且指数位是按补码的形式来划分的。
    其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。
    float的范围为-2^128 ~ +2^127,也即-3.40E+38 ~ +3.40E+38(有效位数为6~7 位)。
    默认值是 0.0f;
    浮点数不能用来表示精确的值,如货币;
    例子:float f1 = 234.5f。

    6. double

    在这里插入图片描述
    double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
    浮点数的默认类型为double类型;
    如上图,double的指数位有11位,而double的指数范围为-1024~+1023,并且指数位是按补码的形式来划分的。
    其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。
    double的范围为-2^1024 ~ +2^1023,也即-1.79E+308 ~ +1.79E+308(有效位数为15 位)。
    double类型同样不能表示精确的值,如货币;
    默认值是 0.0d;
    例子:double d1 = 123.4。

    7. boolean

    boolean数据类型表示一位的信息;
    只有两个取值:true 和 false;
    这种类型只作为一种标志来记录 true/false 情况;
    默认值是 false;
    例子:boolean one = true。

    8. char

    char类型是一个单一的 16 位 Unicode 字符;
    最小值是 \u0000(即为0);
    最大值是 \uffff(即为65,535);
    char 数据类型可以储存任何字符;
    例子:char letter = ‘A’;。

    关于上述数据类型,详情可参考文章链接:
    菜鸟教程,介绍详细:http://www.runoob.com/java/java-basic-datatypes.html

    大数据类型

    如果基本的整数和浮点数精度不够满足需求,那么可以使用java.math包中的两个很有用的类:BigInteger和BigDecimal。这两个类可以处理包含任意长度数字序列的数值,BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。
    使用静态的valueOf方法可以将普通的数值转换为大数值:

    BigInteger  a = BigInteger.valueOf(100);
    

    API java.math.BigInteger 1.1

    BigInteger  add (BigInteger other)
    BigInteger  subtract (BigInteger other)
    BigInteger  multiply (BigInteger other)
    BigInteger  divide (BigInteger other)
    BigInteger  mod(BigInteger other)
    返回这个大整数和另一个大整数other的和、差、积、商以及余数。
    int compareTo(BigInteger other)
    如果这个大整数和另一个大整数other相等,返回0;如果这个大整数小于另一个大整数other,返回负数;否则,返回正数。
    static BigInteger valueOf (long x)
    返回值等于x的大整数。
    

    API java.math.BigDecimal

    BigDecimal  add (BigDecimal other)
    BigDecimal  subtract (BigDecimal other)
    BigDecimal  multiply (BigDecimal other)
    BigDecimal  divide (BigDecimal other,RoundingMode mode )
    返回这个大实数和另一个大实数other的和、差、积、商。要想计算商,必须给出舍入方式(roungding mode)。
    如RoundingMode.HALF_UP是常用的四舍五入方式。
    int compareTo(BigDecimal other)
    如果这个大实数和另一个大实数other相等,返回0;如果这个大实数小于另一个大实数other,返回负数;否则,返回正数。
    static BigDecimal valueOf (long x)
    返回值等于x的大实数。
    

    ps:BigDecimal中需要主要的是除数方法,一定要指定舍入方式。
    舍入方式可参考此文:https://blog.csdn.net/lisongjia123/article/details/45438847

    总结

    1. 浮点数值不适用于禁止出现舍入误差出现舍入误差的金融计算中。例如,命令 System.out.println(2.0-1.1) 将打印出 0.8999999999999999,而不是人们想象的0.9。其主要原因是浮点数值采用二进制系统表示,而在二进制系统中无法精确的表示分数 1/10。这就好像十进制无法精确表示1/3一样。如果需要在数值计算中不含有任何舍入误差,就应该使用BigDecimal类。
    2. BigDecimal中需要主要的是除数方法,一定要指定舍入方式。
    展开全文
  • Java种基本数据类型(图文详解)

    万次阅读 多人点赞 2020-07-02 22:54:55
    Java八种基本数据类型Java种数据类型Java种数据类型的分类(图)基本数据类型分为三大类①数值型②字符型③布尔型数值型整数类型(byte,short,int,long)浮点型(float,double)字符型(char)布尔类型(boolean)...

    Java八种数据类型

    在这里插入图片描述

    Java八种数据类型的分类(图)

    在这里插入图片描述
    Java的数据类型分为两大类:①基本数据类型 ②引用数据类型

    基本数据类型分为三大类

    **由图可知,我们继续按照Java的基本数据类型可以分为三大类:

    ①数值型

    数值型数据(metric data)是按数字尺度测量的观察值,其结果表现为具体的数值。现实中所处理的大多数都是数值型数据。

    ②字符型

    字符型(Character)数据是不具计算能力的文字数据类型,用字母C表示。
    它包括中文字符、英文字符、数字字符和其他ASCⅡ字符,其长度(即字符个数)范围是0-255个字符,即0x00至0xFF。

    ③布尔型

    布尔数据是sql server中的一个名词,布尔数据由binary(二进制)数字组成,即0和1。

    数值型

    整数类型(byte,short,int,long)

    数值型可以分为两大类:①整数类型 ②浮点类型
    在这里插入图片描述
    对于图标中类型的对应表数范围和占用的存储空间解释一下:
    ①比特(bit):比特是英文 binary digit的缩写。比特是表示信息的最小单位,是二进制数的一位包含的信息或2个选项中特别指定1个的需要信息量。一般来说,n比特的信息量可以表现出2的n次方种选择。
    在这里插入图片描述
    有多少个数值,就是几bit
    ②表数的范围:就拿byte的范围-128到127之间,声明byte类型变量的时候赋值不能超过这个范围,给byte类型变量赋值时不能超过这个范围
    byte a = 130 这就是一个错误的示范,超出了范围
    byte a = 120 就正确了

    浮点型(float,double)

    在这里插入图片描述

    字符型(char)

    在这里插入图片描述
    注意转义字符:拿单个单引号来说,‘’‘ 这样是不行的,需要在前面加一个转义字符 / , ‘/’’ ,认为其就是单个单引号

    布尔类型(boolean)

    在这里插入图片描述

    记录自己最近学习到的东西,做一个总结,希望大家喜欢,一起加油!

    展开全文
  • 关于Java的8种基本数据类型,其名称、位数、默认值、取值范围及示例如下表所示:

    关于Java的8种基本数据类型,其名称、位数、默认值、取值范围及示例如下表所示:

    展开全文
  • Java 中的几种基本数据类型 Java 8 种基本数据类型,分别为: 6 种数字类型 :byte、short、int、long、float、double 1 种字符类型:char 1 种布尔型:boolean 对应的包装类型 boolean -> Boolean byte -&...

    基本数据类型

    8 种基本数据类型

    分别为:

    1. 6 种数字类型 :byte、short、int、long、float、double
    2. 1 种字符类型:char
    3. 1 种布尔型:boolean

     

    八种基本数据类型所占字节

    基本类型位(bit)字节(Byte)默认值
    boolean1false
    byte810
    char162‘u0000’
    short1620
    int3240
    long6480L
    float3240f
    double6480d

     
    3. 基本和字符串相互转换的方法

    以整形为例

    3.1. 整型转化为字符串

    String str = String.valueOf(int i);
    
    String str = Integer.toString(int i);
    
    String str = “ ” + i ;
    

    3.2. 将字符串转化为整型

    int i = Integer.parseIn(String str)
    
    int i = Integer.valueOf().intValue()
    //说明:
    //Integer.parseIn和Integer.valueOf 不同,
    //前者生成的是整型,而后者是一个对象,所以要通过intValue()来获得对象的值
    

     
     

    包装类型

    八种基本数据类型对应的包装类型

    boolean -> Boolean
    byte -> Byte
    char -> Character
    short -> Short
    int -> Integer
    long -> Long
    float -> Float
    double -> Double

     

    基本数据类型和包装类型转换

     

    1. 基本数据类型向包装类型转换(装箱)
     

    Integer a = new Integer (1);
    Integer b = 1;//jdk1.5 之后可以通过这种方式自动装箱
    Integer c = Integer.valueOf(1);
    

     
    2. 包装类型向基本数据类型转换(拆箱)
     

    int a1 = a.intValue();
    int b1 = b;//自动拆箱
    
    Double c1;
    double c2= double(c1);//通过强制转换
    

     

    8 种基本类型的包装类和常量池

    Java 基本类型的包装类的大部分都实现了常量池技术,即 Byte,Short,Integer,Long,Character,Boolean;前面 4 种包装类默认创建了数值[-128,127] 的相应类型的缓存数据,Character创建了数值在[0,127]范围的缓存数据,Boolean 直接返回True Or False。如果超出对应范围仍然会去创建新的对象。

    两种浮点数类型的包装类 Float,Double 并没有实现常量池技术。

    Integer i1 = 33;
    Integer i2 = 33;
    System.out.println(i1 == i2);// 输出 true
    
    Integer i11 = 333;
    Integer i22 = 333;
    System.out.println(i11 == i22);// 输出 false
    
    Double i3 = 1.2;
    Double i4 = 1.2;
    System.out.println(i3 == i4);// 输出 false
    

     
    应用场景:

    1. Integer i1=40;Java 在编译的时候会直接将代码封装成 Integer i1=Integer.valueOf(40);,从而使用常量池中的对象。
    2. Integer i1 = new Integer(40);这种情况下会创建新的对象。
    Integer i1 = 40;
    Integer i2 = new Integer(40);
    System.out.println(i1==i2);//输出 false
    

     
    再举一个更难一些的例子:

    Integer i1 = 40;
    Integer i2 = 40;
    Integer i3 = 0;
    Integer i4 = new Integer(40);
    Integer i5 = new Integer(40);
    Integer i6 = new Integer(0);
      
    System.out.println("i1=i2   " + (i1 == i2));
    System.out.println("i1=i2+i3   " + (i1 == i2 + i3));
    System.out.println("i1=i4   " + (i1 == i4));
    System.out.println("i4=i5   " + (i4 == i5));
    System.out.println("i4=i5+i6   " + (i4 == i5 + i6));   
    System.out.println("40=i5+i6   " + (40 == i5 + i6));     
    
    

    输出:

    i1=i2   true
    i1=i2+i3   true
    i1=i4   false
    i4=i5   false
    i4=i5+i6   true
    40=i5+i6   true
    

    解释:

    语句 i4 == i5 + i6,因为+这个操作符不适用于 Integer 对象,首先 i5 和 i6 进行自动拆箱操作,进行数值相加,即 i4 == 40。然后 Integer 对象无法与数值进行直接比较,所以 i4 自动拆箱转为 int 值 40,最终这条语句转为 40 == 40 进行数值比较。

     
     

    BigDecimal

    《阿里巴巴Java开发手册》中提到:在浮点数之间进行等值判断时,浮点数的基本数据类型(float、double)不能用==来比较,浮点数的包装数据类型(Float、Double)不能用 equals 来判断。 请看下面的例子:

    float a = 1.0f - 0.9f;
    float b = 0.9f - 0.8f;
    System.out.println(a);// 0.100000024
    System.out.println(b);// 0.099999964
    System.out.println(a == b);// false
    

    具有基本数学知识的我们很清楚的知道输出并不是我们想要的结果(精度丢失),我们如何解决这个问题呢?

    一种很常用的方法是:使用使用 BigDecimal 来定义浮点数的值,再进行浮点数的运算操作。

    BigDecimal a = new BigDecimal("1.0");
    BigDecimal b = new BigDecimal("0.9");
    BigDecimal c = new BigDecimal("0.8");
    
    BigDecimal x = a.subtract(b); //两数相减
    BigDecimal y = b.subtract(c); 
    
    System.out.println(x); /* 0.1 */
    System.out.println(y); /* 0.1 */
    System.out.println(Objects.equals(x, y)); /* true */
    

     

    BigDecimal 的大小比较

    a.compareTo(b) : 返回 -1 表示 a 小于 b,0 表示 a 等于 b , 1表示 a 大于 b

    BigDecimal a = new BigDecimal("1.0");
    BigDecimal b = new BigDecimal("0.9");
    System.out.println(a.compareTo(b));// 1
    

     

    BigDecimal 保留几位小数

    通过 setScale方法设置保留几位小数以及保留规则。保留规则有挺多种,不需要记,IDEA会提示。

    BigDecimal m = new BigDecimal("1.255433");
    BigDecimal n = m.setScale(3,BigDecimal.ROUND_HALF_DOWN);
    System.out.println(n);// 1.255
    

     
    注意

    1. 我们在使用BigDecimal时,为了防止精度丢失,推荐使用它的 BigDecimal(String) 构造方法来创建对象。
    2. BigDecimal 主要用来操作(大)浮点数,BigInteger 主要用来操作大整数(超过 long 类型)。
    3. BigDecimal 的实现利用到了 BigInteger, 所不同的是 BigDecimal 加入了小数位的概念
    展开全文
  • 首先Java中共8中基本数据类型和3中引用数据类型,那么这8种基本数据类型都占个字符呢? 二、分析问题 Java中的8种基本数据类型分别是: 字节型:byte 字符型:char 整型:int 长整型:long 短整型:short 浮点...
  • java种基本数据类型及包装类详解

    万次阅读 多人点赞 2018-12-20 10:14:40
    java种基本数据类型分为四类八,四类分别为整型、浮点型、布尔型、字符型;八分别为byte、short、int、long、float、double、boolean、char; java种基本数据类型的字节数:分别为1、2、4、8个字节;1字节...
  • Java四类八种基本数据类型

    万次阅读 多人点赞 2017-03-08 15:43:21
    第一类:逻辑型boolean 第二类:文本型char ...char类型占2个字节 short从-32768到32767 int从-2147483648,到2147483647共10位 long从-9223372036854775808到9223372036854775807共19位
  • 点击进入_更多_Java千百问1、java有哪8种基本数据类型了解数据类型看这里:java种数据类型是什么 基本数据类型包括4大类,每一类都对应一个类类型的包装器(包装类),如下: 了解基本类型包装器看这里:[什么是...
  • 必然了解Java的八种基本数据类型Java数据类型主要分为引用数据类型基本数据类型,引用数据类型就是平时大家说的万物皆对象Object,而基本数据类型,对应的,大家应该都记得(也可能不知道或者记不全了,...
  • Java数据类型基本数据类型

    千次阅读 2017-06-20 15:27:52
    数据类型,顾名思义,就是数据的类型。在Java语言中,数据类型可以简单分成基本数据类型、引用数据类型和枚举数据类型。在这里,简单介绍基本数据类型
  • 二、八种基本数据类型 三、数据类型详细介绍 整型(byte、short、int、long) 虽然byte、short、int、long 数据类型都是表示整数的,但是它们的取值范围可不一样。 byte 的取值范围:-128~127(-2...
  • java数据类型(八种基本数据类型+三引用类型)

    万次阅读 多人点赞 2017-02-08 11:05:32
    1基本数据类型;2引用数据类型 二:注意事项: 1:java开发过程中整型用int、小数用double、布尔用boolean; 2:类型转换都是小范围向大范围转换,大范围往小范围转化需要用到强制转换;  例如:(1)int a=...
  • 本篇介绍Java数据类型的划分及8种基本数据类型
  • Java基本数据类型

    万次阅读 2020-05-22 00:23:23
    1. Java基本数据类型哪些各占个字节
  • JAVA中八种基本数据类型

    千次阅读 2015-06-28 22:03:52
    他们分别是byte、short、int、long、float、double、char、boolean ...其中byte、short、int、long都是表示整数的,只不过他们的取值范围不一样 ...String是字符串,它不是基本数据类型,它是一个类。
  • Java中八大基本数据类型详解

    万次阅读 2020-12-04 11:06:42
    自从Java发布以来,基本数据类型就是Java语言的一部分,分别是 byte, short, int, long, char, float, double, boolean .当然围绕着这些基本数据类型衍生出来了很多面试题,但是说实话,工作中基本用不到
  • 2、byte --字节:字节是计算机存储容量的基本单位,一个字节由8位二进制数组成。在计算机内部,一个字节可以表示一个数据,也可以表示一个英文字母,两个字节可以表示一个汉字。1B=8bit1Byte=8bit1KB=1024Byte(字节...
  • 测试代码: public static void main(String[] args) { System.out.println (new StringBuilder ().append ("Byte-->>").append ("...).append (Byte.BYTES).append ("...
  • java基本数据类型有 mysql 的blob类型转换string HashMap<String,Object> map = list.get(i); if(map.get("content") !=null && map.get("content") !=""){ byte[] _byte = (b...
  • short int long .../*布尔类型(boolean) 字符型(char) 数值类型 定点类型 字节型(byte) 短整型(short) 整型(int) 长整型(long) 浮点类型 单精度(float) 双精度(double)
  • JAVA种基本数据类型-字节数和取值范围Java8种基本数据类型: 类型 字节 位数 取值范围 默认值 包装类 boolean 1/8 1 true, false false Boolean byte 1 8 -128-127 0 Byte short 2 16 -...
  • Java几种常用的数据类型之间转换方法: 1. short-->int 转换 exp: short shortvar=0; int intvar=0; shortvar= (short) intvar 2. int-->short 转换 exp: short shortvar=0; int intvar...
  • JAVA的四类八种基本数据类型

    万次阅读 多人点赞 2018-06-21 21:28:23
    先说明两个词汇的基本概念:bit (位):位是计算机中存储数据的最小单位,指二进制数中的一个位数,其值为“0”或“1”。byte (字节):字节是计算机存储容量的基本单位,一个字节由8位二进制数组成。在计算机内部...
  • java基本数据类型及类型转换

    千次阅读 2017-12-25 21:42:36
    这篇博文中则主要针对基本数据类型进行介绍和了解每种数据类型的特别范围以及针对各个数据类型之间的类型转换。数据类型的分类结构: 基本数据类型 数值型 整数类型(byte, short, int, long) 浮点类型(float...
  • Java基本数据类型

    千次阅读 2011-10-09 13:27:01
    在移动开发中由于移动设备...下面简单介绍下Java几种基本数据类型,以加深记忆。 在Java中一共8种基本数据类型,其中4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boo
  • Java中的8种基本数据类型

    万次阅读 2016-08-17 15:21:37
    Java基本类型共有八基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。...
  • java8个基本数据类型,它们都对应有封装类(包装类),其中基本数据类型char的包装类有些特殊,是Character类。  Java是一强类型语言,这就意味着必须为每一个变量声明一类型。在Ja
  • java8种基本数据类型:byte、int、short、long、boolean、char、float、double 对应的类为:Byte、Int、Short、Long、Boolean、Charecter、Float、Double 其中:boolean是逻辑型,char是文本型,byte、short、...
  • Java基础之003-Java基本数据类型 老帅1、Java有8种基本数据类型 类型 包装类 位数 最小值 最大值 byte java.lang.Byte 8 Byte.MIN_VALUE=-128 Byte.MAX_VALUE
  • Java 基本数据类型 - 四类八

    万次阅读 多人点赞 2018-06-13 09:57:29
    一、Java四大数据类型分类1、整型byte 、short 、int 、long2、浮点型float 、 double3、字符型char4、布尔型boolean二、八种基本数据类型三、数据类型详细介绍整型(byte、short、int、long)虽然byte、short、int...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 648,907
精华内容 259,562
关键字:

java有几种基本数据类型

java 订阅