精华内容
下载资源
问答
  • 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八种基本数据类型

    千次阅读 2018-04-16 20:56:39
    基本数据类型Java八种基本数据类型1)四种整数类型(byte、short、int、long):(注意: 一个字节byte = 8位bit) ! byte:8 位,用于表示最小数据单位,如文件中数据,-128~127 short:16 位,很少用,-32768 ~ 32767...
    基本数据类型
    Java八种基本数据类型
    1)四种整数类型(byte、short、int、long):(注意: 一个字节byte = 8位bit) !
       byte:8 位,用于表示最小数据单位,如文件中数据,-128~127
       short:16 位,很少用,-32768 ~ 32767
       int:32 位、最常用,-2^31-1~2^31  (21 亿)
       long:64 位、次常用
       注意事项:
       int i=5; // 5 叫直接量(或字面量),即 直接写出的常数。
       整数字面量默认都为 int 类型,所以在定义的 long 型数据后面加 L或 l。
       小于 32 位数的变量,都按 int 结果计算。
       强转符比数学运算符优先级高。见常量与变量中的例子。
    2)两种浮点数类型(float、double):
       float:32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数。
       double:64 位,最常用,后缀 D 或 d,1 位符号位,11 位指数,52 位有效尾
       注意事项:
       二 进 制 浮 点 数 : 1010100010=101010001.0*2=10101000.10*2^10(2次方)=1010100.010*2^11(3次方)= . 1010100010*2^1010(10次方)
       尾数:  . 1010100010   指数:1010   基数:2
       浮点数字面量默认都为 double 类型,所以在定义的 float 型数据后面加F 或 f;double 类型可不写后缀,但在小数计算中一定要写 D 或 X.X
       float  的精度没有 long 高,有效位数(尾数)短。
       float  的范围大于 long  指数可以很大。
       浮点数是不精确的,不能对浮点数进行精确比较。
    3)一种字符类型(char):
       char:16 位,是整数类型,用单引号括起来的 1 个字符(可以是一个中文字符),使用 Unicode 码代表字符,0~2^16-1(65535) 。
       注意事项:
       不能为 0个字符。
     转义字符:\n : 换行  \r : 回车  \t :Tab 字符   \" :双引号  \\ :表示一个\
       两字符 char 中间用+连接,内部先把字符转成 int 类型,再进行加法运算,char 本质就是个数!二进制的,显示的时候,经过处理显示为字符。
    4)一种布尔类型(boolean):true 真  和 false 假。
    5)类型转换:       char-->
       自动转换:byte-->short-->int-->long-->float-->double               
       强制转换:会损失精度,产生误差,小数点以后的数字全部舍弃。容易超过取值范围。
    类型转换
        精度从高到低  double  float  long  int  short(char)  byte
        (1)自动类型转换  将一个低精度---高精度
        (2)强制类型转换  将一个高精度---低精度(精度会下降)
    int i=(int)(Math.random()*100);       //int( ): 强制类型转换  生成0-100的随机整数 ,包含0,小于100.
    6)记忆:8位:Byte(字节型)
             16位:short(短整型)、char(字符型)
             32位:int(整型)、float(单精度型/浮点型)
             64位:long(长整型)、double(双精度型)
             最后一个:boolean(布尔类型)




    【基本数据类型包装类的主要作用: 进行基本数据类型和字符串之间的转换】
    【基本类型数据 转为 字符串 的三种方式】
    1.  基本数据类型对象包装类中的方法 static String toString(基本类型)  ;
    2.  String类中的方法: static String valueOf(基本类型)
    3.  基本类型数据 + “   ” ;













    展开全文
  • java 八种基本数据类型

    万次阅读 2017-12-25 12:54:24
    四类八种基本数据类型 1. 整型 byte(1字节) short (2个字节) int(4个字节) long (8个字节) 2.浮点型 float(4个字节) double(8个字节) 3.逻辑性 boolean(八分之一个字节) 4.字符型 char(2个字节,一个...

    四类八种基本数据类型

    1. 整型 byte(1字节) short (2个字节) int(4个字节) long (8个字节)

    2.浮点型 float(4个字节) double(8个字节)

    3.逻辑性 boolean(八分之一个字节)

    4.字符型 char(2个字节,一个字符能存储下一个中文汉字)


    基本数据类型与包装类对应关系和默认值

    short        Short       (short)0

    int           Integer        0

    long        Long           0L

    char        Char          '\u0000'(什么都没有)

    float        Floa            t0.0f

    double     Double         0.0d

    boolean   Boolean      false


    若某个类的某个成员是基本数据类型,即使没有初始化,java也会确保它获得一个默认值,如上所示。(这种初始化方法只是用于成员变量,不适用于局部变量)。

    jdk1.5支持自动拆装箱。可以将基本数据类型转换成它的包装类

    装箱

    Integer a = new Integer();

    a = 100;

    拆箱

    int b = new Intger(100);





    一个字节等于8位,一个字节等于256个数,-128到127

    一个英文字母或一个阿拉伯数字就是一个字符,占用一个字节

    一个汉字两个字符,占用两个字节


    基本数据类型自动转换

    byte->short , char->int->long

    float->double

    int ->float

    long->double

    小可转大,大转小会失去精度。


    字符串与基本类型或其他类型间的转换

    ⑴其它类型向字符串的转换
    ①调用类的串转换方法:X.toString(),例如:StringBuffer类;
    ②自动转换:X+“”;
    ③使用String的方法:String.volueOf(X);
    ⑵字符串作为值,向其它类型的转换
    ①先转换成相应的封装器实例,再调用对应的方法转换成其它类型
    例如,字符中“32.1”转换double型的值的格式为:new Float(“32.1”).doubleValue()。也可以用:Double.valueOf(“32.1”).doubleValue()
    ②静态parseXXX方法
    String s = "1";
    byte b = Byte.parseByte( s );
    short t = Short.parseShort( s );
    int i = Integer.parseInt( s );
    long l = Long.parseLong( s );
    Float f = Float.parseFloat( s );
    Double d = Double.parseDouble( s );
    ③Character的getNumericValue(char ch)方法
    具体可查阅api。




    展开全文
  • java八种基本数据类型及包装类详解

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

    详解一、八种基本数据类型常识

    1.1、基本常识表

    对于上图有以下几点需要注意:

    1. java八种基本数据类型分为四类八种,四类分别为整型、浮点型、布尔型、字符型;八种分别为byte、short、int、long、float、double、boolean、char;
    2. java八种基本数据类型的字节数:分别为1、2、4、8个字节;1字节(byte、boolean)、 2字节(short、char)、4字节(int、float)、8字节(long、double);
    3. 整数的默认类型为int,浮点数的默认类型为double
    4. 八种基本数据类型的包装类:除了char的是Character、int类型的是Integer,其他都是首字母大写
    5. 关于值的范围问题,需要注意char类型是无符号的,不能为负,所以是0开始的;

    详解二、直接量与类型转换

    2.1、直接量

    1. 整数型的直接量默认为int类型
    2. 浮点型的直接量默认为double类型
    @Test
    	public void d() {
    		int a=100;//这个100就是直接量
    		a=a+100;//但是这个a+100不是直接量
    		double b=3.14;
    	}

    2.2、类型转换

    1.自动转换:低类型的向高类型的转换 

            如下图:顺着箭头的方向是可以自动转换的;

    2.强制转换:高类型的向底类型转换,但可能会数据溢出或者精度丢失

     

    以上现象在实际中可以出现这三种问题:

    • 定义变量时出现的类型转换
    @Test
    	public void e(){
    		long a=200;//200是直接量,默认为int类型这里是自动转换为弄类型
    		
    		/*long b=100000000000;*/
    		//100000000000是个整数直接量,默认应该为int类型,但是超出了int类型的取值范围
    		
    		long c=1000000000000L;
    		//在整数直接量后面将了一个L,表示该直接量不再默认为int类型,为long类型,所以没错
    		
    		/*float d=34.3;*/
    		//浮点型直接量默认为double,double类型大,所以不能直接转换为float
    		
    		float e=34.3f;
    		//在浮点数直接量后面加上一个f,表示该直接量不再默认为double,为float类型
    	}

        以上为几种正常的情况,但是有一种特殊的情况,就是int型直接量可以直接赋给byte、short、char类型变量,只要不超出变量类型的取值范围

    @Test 
    	public void f() {
    		byte a=100;
    		short b=200;
    		char c=100;//注意char类型是一种特殊的int类型,可以不用写成单引号括起来的
    		
    		/*byte d=128;直接量128超出了byte类型的取值范围*/
    		
    		/*char e=-1;直接量-1不在char类型的取值范围内*/
    		
    	}

     

    • 数据运算时的类型转换

              (1)运算时,运算结果会向较大的类型转换

    @Test
    	public void g() {
    		int a=3;
    		double b=4;
    		System.out.println(a+b);//输出7.0
    		
    		float c=3.2f;
    		/*c=c+3.14; 编译错误,运算之后变为double类型*/	
    	}

             (2)特殊的:byte、short、char三种数据类型参与运算时,先一律转化为int类型;

    	@Test
    	public void h() {
    		byte a=3;
    		byte b=4;
    		/*byte c=a+b;
    		 * 编译错误,此处由于byte类型参与运算时,先直接转换为int类型,
    		 * 所以最后的结果也是int类型,但是得出的结果不能叫做int类型的直接量,所以编译错误
    		 * */
    		int d=a+b;
    	}
    • 强制转换

              高等级转为低等级的时候,必须强制转换,但实际工作中不推荐使用强制转换,可能会失精度或数据溢出;

    @Test
    	public void j() {
    		int a=128;
    		byte b=(byte)a;
    		System.out.println(b);//输出-128,出现了数据溢出
    		
    		double c=1.23;
    		int d=(int)c;
    		System.out.println(d);//输出1,精度丢失
    	}

           补充说明:不是只有强制转换的时候会出现数据,例如下面这种情况

    @Test
    	public void k() {
    		int a=10000000;
    		int b=10000000;
    		int c=a*b;
    		System.out.println(c);//输出276447232,得到的结果超出了int类型的范围,数据溢出
    	}

    详解三、对应包装类及使用

    3.1、基本介绍

           java是一门面向对象的语言,但是8中基本数据类型不具备面向对象的特征,所以实际使用中很不便所以为java八种基本数据类型提供了对应的包装类。

    基本数据类型

    对应包装类

    包装类的父类

    byte

    java.lang.Byte

    java.lang.Number

    short

    java.lang.Short

    java.lang.Number

    int

    java.lang.Integer

    java.lang.Number

    long

    java.lang.Long

    java.lang.Number

    float

    java.lang.Float

    java.lang.Number

    double

    java.lang.Double

    java.lang.Number

    boolean

    java.lang.Boolean

    java.lang.Object

    char

    java.lang.Character

    java.lang.Object

    1. 对应包装类比较特殊的就是int对应的Integer和char对应的Character;
    2. 对应包装类的直接父类:前6个由于是数,直接父类为Number,而后两个的直接父类就是Object类;

    3.2、常用方法一:静态方法 valueOf()

    1. 参数为基本数据类型,返回包装类对象
    2. 参数为String字符串(Character类没有以String为  参数的该方法),返回包装类对象
    @Test
    	public void a() {
    	/*1.参数为基本数据类型		
    	 * 作用:将基本数据类型转换为对应包装类 * */
    		Integer i=Integer.valueOf(10);
    		System.out.println(i);//输出10
    	
    	/*2.参数为String字符串时,
    	 * 作用:返回指定字符串值的包装类对象
    	 * 	*/
    		Integer a=Integer.valueOf("100");
    		System.out.println(a);//输出100
    		
    		Integer b=Integer.valueOf("100a")为
    		System.out.println(b);//运行错误,字符串的值不少一个int类型的
    		
    	}
    

    3.3、常用方法二:静态方法parseXXX(String str)

    1. Character类没有该方法;
    2. 作用:将字符串装换为对应的基本数据类型(注意此处和上面的valueOf方法返回值的不同);
    @Test
    	public void b() {
    		/*作用:将给定字符串装换为对应的基本数据类型
    		 * 前提是该字符串必须正确描述该基本数据类型表示的值*/
    		int a=Integer.parseInt("100");
    		System.out.println(a);//输出100
    		
    		int b=Integer.parseInt("100a");
    		System.out.println(b);//运行错误,字符串的值不为int类型
    				
    	}

    3.4、常用方法二:非静态方法XXXValue()

    1. 因为是非静态方法,所以不能像上面两个方法用类名调用了;
    2. 数字类的包装类(八种包装类中父类是Number的的六个类)才有该方法;
    3. 作用:将当前包装类对象转换为对应的基本数据类型;
    @Test
    	public void c() {
    		/*作用:将包装类对象转换为对应的基本数据类型*/
    		
    		Integer a=Integer.valueOf(100);//将基本数据类型转换为包装类对象
    		int b=a.intValue();//将包装类对象转换为对应的基本数据类型
    		System.out.println(b);//输出100
    		
    		Double c=Double.valueOf(2.33);
    		double d=c.doubleValue();
    		System.out.println(d);
    	}

    3.5、自动拆箱与装箱

    • 简介:jdk1.5之后的新特性。该特性是编译器认可的,是在编译器自动将基本数据类型和包装类相互转换,节省了麻烦。
    1. 自动拆箱 包装类——>基本数据类型 (原理是调用了xxxValue方法)    
    2. 自动装箱 基本数据类型——>包装类 (原理是调用了valueOf方法)
    @Test
    	public void d() {
    		/*自动装箱:valueOf*/
    		Integer i=123;//原理是 Integer i=Integer.valueOf(123);
    		
    		/*自动拆箱*/
    		int i1=i+1;//原理是	int i1=i.intValue()+1;
    		
    		Integer a=123;
    		Integer b=123;
    		Integer c=a+b;
    		/*原理为Integer c=Integer.valueOf(a.intValue()+b.intValue());*/
    	}

    3.6、关于valueOf()方法源码研究

    • 通过按住Ctrl键,鼠标点击该方法即可查看源码,以Integer类的valueOf(int i)的源码为例
     public static Integer valueOf(int i) {
            if (i >= IntegerCache.low && i <= IntegerCache.high)
                return IntegerCache.cache[i + (-IntegerCache.low)];
            return new Integer(i);
        }
    • 关于源码的理解:Integer类的valueOf(int i)方法首先会判断i是否在-128~127之间,如果在的话,就返回的对象是Integer类中静态数组cache中的对象,如果不是在这之间,就会重写创建一个新的对象。

    通过查看其它类的该方法的源码之后,可以得到该表:

    包装类

    valueOf(X i)返回对象的原则

    Byte

    直接取,数组范围为(-128,127),且byte值的范围也是(-128,127)

    Short

    (-128,127)之间在数组中取,否则new

    Integer

    (-128,127)之间在数组中取,否则new

    Long

    (-128,127)之间在数组中取,否则new

    Float

    直接new

    Double

    直接new

    Boolean

    直接返回,不new

    Character

    0-127之间从数组中取,否则new

    详解四、相关面试题

    4.1、类型转换

    • 注意一些喜欢忽视的类型转换
    public static void main(String[] args) {
    		int a=10;
    		double b=3.4;
    		System.out.println(a>b?a:b);
    		System.out.println(a);
    	}
    /*输出:10.0   10
    解析:这里是一个很容易让人不注意的类型转化,这里a与b参与了运算,
    所以类型向类型大的方向转化,10就变成了10.0,但是a本身是没有变化的*/

    4.2、+=的情况

    public static void main(String[] args) {
    		short a=1;	//第一行
    		 a=a+1;		//第二行
    		 a+=1;		//第三行
    }
    /*第几行的代码会出错?
    答案:第二行会出错,由于a+1变为了int类型,而int类型不能直接赋值给short类型
    但是+=这种情况是特殊的,所以不会出错;
    */

    4.3、自动装箱

    • 包装类和基本数据类型比较时,只要值相等就相等
    public static void main(String[] args) {
    		Integer a1=127;
    		Integer a2=127;
    		int a3=127;
    		Integer b1=128;
    		Integer b2=128;
    		int b3=128;
    		System.out.println(a1==a2);
    		System.out.println(a1==a3);
    		System.out.println(b1==b2);
    		System.out.println(b1==b3);	
    }
    /*输出:true true false true
    解析:自动装箱时采用valueOf方法,由于127在静态数组的范围内,所以不是new的,
    而128的两个引用是指向new出现对象的,所以第一个是true,第三个是false。
    而包装类和基本数据类型比较时,只要数值是相等的,就相等
    */

    4.4、char类型存储汉字

         char类型能不能存储一个汉字?为什么?

         解析:能,char类型采用的是Unicode编码,Unicode编码包含汉字,所以char类型自然是可以存储一个汉字的

    4.5、浮点数精度问题

    public static void main(String[] args) {
    		System.out.println(0.1*3==0.3);
    		System.out.println(0.1*4);
    }
    /*输出:false 0.4
    解析:有些浮点数不能准确的表示出来,与整数相乘之后出精度丢失,常见为小数位含3的
    */

    第一篇技术博客!记载一下2018.12.20 10:14:20!

    觉得写的还可以的话不要忘记点赞哦!

    觉得哪里写的有问题的话,欢迎评论指出问题,我们讨论讨论!

     

    展开全文
  • java八种基本数据类型及使用场景总结
  • JAVA八种基本数据类型-字节数和取值范围Java8种基本数据类型: 类型 字节 位数 取值范围 默认值 包装类 boolean 1/8 1 true, false false Boolean byte 1 8 -128-127 0 Byte short 2 16 -...
  • 八种基本数据类型以及包装类1. 基本数据类型 byte 占用1个字节(8位),范围:-2^7~2^7-1 short 占用2个字节(16位),范围:-2^15~2^15-1 int 占用4个字节(32位),范围:-2^31~2^31-1 long 占用8个字节(64位)...
  • 在我们面试或者考试过程中经常会考到八种基本数据类型以及它们的封装类,那么有哪八种基本数据类型呢?它们的封装类又是什么呢?  首先,八种基本数据类型分别是:int、short、float、double、long、...
  • byte:byte 数据类型是8位、有符号的,以二进制补码表示的整数;最小值是 -128(-2^7);最大值是 127(2^7-1);默认值是 0;byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int...
  • Java八基本数据类型

    万次阅读 多人点赞 2020-12-17 09:58:05
    Java基本数据类型图: 整数类型:byte 1字节,8位,最大存储数据量是255,存放的数据范围是-128~127之间。 构造方法: public Byte(byte value) 构建了一个新分配的Byte表示指定的byte价值。 参数 value -被 ...
  • Java中的八种基本数据类型

    千次阅读 2017-07-01 11:24:51
    Java中的八种基本数据类型 boolean byte short int long float double char 代码public class Math { // true 和 false public static final boolean mBoolean = true; // -128 到 127 public static final byte ...
  • java四类八种基本数据类型

    千次阅读 2017-04-04 11:28:31
    java四类八种基本数据类型第一类:整型 byte short int long 第二类:浮点型 float double第三类:逻辑型 boolean(它只有两个值可取true false)第四类:字符型 char 字节: boolean 布尔型 1/8 byte 字节类型 1 ...
  • Java 基本数据类型

    万次阅读 多人点赞 2017-01-12 09:16:54
    基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型。它们是我们编程中使用最频繁的类型。java是一强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化。
  • Java八种基本数据类型

    千次阅读 2019-04-09 21:07:48
    1. 变量的数据类型 2.整数类型变量 整型类变量用来存储整数数值,即没有小数部分的值 整数类型分四中不同的类型:字节型(byte)、短整型(short)、整型(int)、长整型(long) 在为一个long类型的变量赋值时...
  • Java四类八种基本数据类型

    万次阅读 多人点赞 2017-03-08 15:43:21
    第一类:逻辑型boolean 第二类:文本型char ...char类型占2个字节 short从-32768到32767 int从-2147483648,到2147483647共10位 long从-9223372036854775808到9223372036854775807共19位
  • 数据—— java四类八种基本数据类型

    千次阅读 2016-08-29 09:38:00
    java基本数据类型就8种,记住就好了。除了这些都是引用型的了。 java四类八种基本数据类型 第一类:整型 byte short int long 第二类:浮点型 float double 第三类:逻辑型 boolean(它只有两个值可取true ...
  • Java 中的几种基本数据类型 Java中有 8 种基本数据类型,分别为: 6 数字类型 :byte、short、int、long、float、double 1 字符类型:char 1 布尔型:boolean 对应的包装类型 boolean -> Boolean byte -&...
  • java数据类型(八种基本数据类型+三种引用类型)

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

    千次阅读 2018-08-10 10:54:09
    一、java八种基本数据类型对应的包装类型: 原始类型 包装类 原始类型所占的字节数 short Short 2个字节 int Integer 4个字节 long Long 8个字节 float Float 4个字节 double Double ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 929,144
精华内容 371,657
关键字:

java八种基本数据类型

java 订阅