学习任何一门语言,基础永远都是最重要的。本文测试java中八种基本数据类型(int,short,long,float,double,char,boolean,byte),包括其占用空间大小,能够存储的最大值和最小值、java中自动装箱和拆箱、注意事项。

测试代码如下:

package com.wllfengshu.test;import org.junit.Test;/***1、测试基本数据类型*2、测试基本数据类型占用空间大小*3、测试基本数据类型存储的最大值和最小值 */
public class Variate {//int@Testpublic void testInt(){System.out.println("占用空间"+Integer.SIZE/8+"Byte");System.out.println("最大值"+Integer.MAX_VALUE);System.out.println("最大值"+Integer.MIN_VALUE);//总结:int占用4字节,最大值约21忆,最小值约-21忆int a=1;Integer b=2;Integer c=3;b=a;//自动装箱System.out.println(b);a=c;//自动拆箱System.out.println(a);//总结:自动拆箱和自动装箱}//long@Testpublic void testLong(){System.out.println("占用空间"+Long.SIZE/8+"Byte");System.out.println("最大值"+Long.MAX_VALUE);System.out.println("最大值"+Long.MIN_VALUE);//总结:long占用8字节long a=1;Long b=2L;//整数默认为int类型,int类型数据不能自动装箱为LongLong c=3L;//在整形数据后加L,表示该数为long类型
//      Long d=4;//错误b=a;//自动装箱System.out.println(b);a=c;//自动拆箱System.out.println(a);//总结:整形数据默认为int,自动拆箱和自动装箱}//short@Testpublic void testShort(){System.out.println("占用空间"+Short.SIZE/8+"Byte");System.out.println("最大值"+Short.MAX_VALUE);System.out.println("最大值"+Short.MIN_VALUE);//总结:short占用2字节,最大值约3万,最小值约-3万short a=1;Short b=2;//整数默认为int类型,把int数据赋值给short类型可能会出现数据丢失Short c=3;b=a;//自动装箱System.out.println(b);a=c;//自动拆箱System.out.println(a);//     int d=4;
//      short e=d;//该代码必须通过强转//对以上需要强转代码的总结:编译器问题,具体解释请看:http://ask.csdn.net/questions/657817#answer_471158}//char@Testpublic void testChar(){System.out.println("占用空间"+Character.SIZE/8+"Byte");System.out.println("最大值"+Character.MAX_VALUE);System.out.println("最大值"+Character.MIN_VALUE);//总结:char占用4字节,最大值\uffff,最小值\u0000    \ u 表示unicode编码char a='1';Character b='2';Character c='3';b=a;//自动装箱System.out.println(b);a=c;//自动拆箱System.out.println(a);//总结:自动拆箱和自动装箱String uniCodeTemp = "\\u"+(int)'你';//获取字符的unicode编码值System.out.println(uniCodeTemp);}//float@Testpublic void testFloat(){System.out.println("占用空间"+Float.SIZE/8+"Byte");System.out.println("最大值"+(long)Float.MAX_VALUE);System.out.println("最大值"+Float.MIN_VALUE);//总结:float占用4字节float a=1;Float b=(float) 2;//int can't case to FloatFloat c=3f;b=a;//自动装箱System.out.println(b);a=c;//自动拆箱System.out.println(a);//总结:自动拆箱和自动装箱float d=(float) 1.0;//this is double,because 1.0 default is double Float e=(float) 2.0;}//double@Testpublic void testDouble(){System.out.println("占用空间"+Double.SIZE/8+"Byte");System.out.println("最大值"+Double.MAX_VALUE);System.out.println("最大值"+Double.MIN_VALUE);//总结:double占用8字节double a=1;//
//      Double b=2;//报错Double c=(double) 3;c=a;//自动装箱//总结:自动拆箱和自动装箱}//boolean@Testpublic void testBoolean(){/*** 根据http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html官方文档的描述:boolean: The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions. This data type represents one bit of information, but its "size" isn't something that's precisely defined.布尔类型:布尔数据类型只有两个可能的值:真和假。使用此数据类型为跟踪真/假条件的简单标记。这种数据类型就表示这一点信息,但是它的“大小”并不是精确定义的。所以,boolean类型没有给出精确的定义,《Java虚拟机规范》给出了4个字节,和boolean数组1个字节的定义,具体还要看虚拟机实现是否按照规范来,所以1个字节、4个字节都是有可能的。*/boolean a=true;Boolean b=true;b=a;//自动装箱}//byte@Testpublic void testByte(){System.out.println("占用空间"+Byte.SIZE/8+"Byte");System.out.println("最大值"+Byte.MAX_VALUE);System.out.println("最大值"+Byte.MIN_VALUE);//总结:Byte占用1字节byte a=1;//数值为超过127不报错,编译器会做检查Byte b=2;b=1;int c=a;
//      a=c;//编译器并不知道整形变量c是否超过byte最大值,它只有在运行期间才能检测,所以报错}
}

注意:上表中大小单位为:位

【最后】有不足或者错误之处,欢迎大家指正

java夯实基础-基本数据类型相关推荐

  1. 【JAVA SE】第二章 Java语法基础、数据类型、基本类型的字面值、基本类型的类型转换和运算规则

    第二章 Java语法基础.数据类型.基本类型的字面值.基本类型的类型转换.运算规则和标识符命名风格 文章目录 第二章 Java语法基础.数据类型.基本类型的字面值.基本类型的类型转换.运算规则和标识符 ...

  2. java核心基础 --- 基本数据类型

    2019独角兽企业重金招聘Python工程师标准>>> 本篇博文主要介绍 java 基础数据类型.基本类型的数据转换.自动装箱拆箱机制. 1. 基础数据类型 整型 整型包含 byte ...

  3. 1.java的基础和数据类型

    一.学习要求 1.听课一定要全神贯注 2.课堂笔记,一定要自己总结,而且要有很严谨的逻辑关系.提纲很重要 3.作业不折不扣的完成,并且多完成 4.阶段项目一定要独立完成 5.每天早上由一位同学来进行早 ...

  4. java 夯实基础_夯实基础-java equals使用,和 == 的区别

    在研究hashcode的用法,发现自己对equals的理解还不够深,废话少说,继续专研,记录如下: 要想搞清楚equals和==的区别,就先要搞清楚JAVA的数据类型: java的数据类型只要分两大类 ...

  5. Java的基础语法——数据类型

    数据类型 强类型语言 强类型定义语言 要求变量的使用要严格符合规定,所用变量都必须先定义后才能使用 一旦定义了一个变量,指定了某个数据类型,如果不经过转换,它就永远是这个类型 提高了安全性,但是速度比 ...

  6. java夯实基础系列:反射

    一.反射定义&通俗理解   反射之中包含了一个"反"的概念,所以要想解释反射就必须先从"正"开始解释,一般而言,当用户使用一个类的时候,应该先知道这个类 ...

  7. java夯实基础-关键字

    本文总结了java中51个关键字,分别对他们的含义.作用有一定说明. 1.访问权限 public    共有权限       可跨包访问 protected   保护权限      同一包可访问:不同 ...

  8. 关于java的基础--基本数据类型以及循环

    一.基本数据 1,基本数据类型 Java数据类型包括:基本数据类型(原始类型),引用类型 String表示字符串,他修饰的只能存放字符串类型的数据 声明变量的语法:访问修饰符 类型 变量名 基本数据类 ...

  9. java夯实基础:final脑图

    final的作用从两个方面理解:基本的锁定功能,帮助JVM实现效率和安全.关于final的解释非常多,本文仅做整理的总结. 基本用法:锁定 final的锁定功能通过final修饰的对象来具体实现,fi ...

最新文章

  1. 赠书 | 图解机器学习算法,看这文就够了!
  2. jquery 移除border_jQuery - 删除元素
  3. Ubuntu下使用Anaconda安装opencv 解决无法读取视频
  4. python操作excel和txt文件
  5. leetcode 897. 递增顺序搜索树(中序遍历)
  6. ubuntu中的大小写
  7. mysql archive分区_MYSQL-分区表
  8. php整点抽奖活动,php实现活动人选抽奖功能代码
  9. Qt之打印pdf文档
  10. 解决css font-size设置小字体不生效
  11. 《华为研发》读书笔记与读后感范文3300字
  12. alert转换成html,如何修改alert弹窗的具体样式?
  13. HC-05蓝牙模块简易说明
  14. mysql 数据库军规_Mysql数据库32条军规
  15. 【总结】最全面的Python面试知识!
  16. 计算机设计大赛感言,计算机编程比赛获奖感言.doc
  17. html提交成功跳转页面,提交表单后跳转到想要的页面--jQuery form
  18. TIA protal v17安装非C盘找不到step7 basic
  19. vue——省市区三级联动demo
  20. 【漫漫转码路】Python Day 15

热门文章

  1. .netcore向写es日志报错Elasticsearch.Net.UnexpectedElasticsearchClientException:expected:‘{‘,actual:‘<‘
  2. 2021年起重机械指挥考试技巧及起重机械指挥证考试
  3. Geodetic集合
  4. 2008车展美女车模
  5. hbw-utils - 关于guava和jdk的compare方法
  6. 机器人是如何实现对话的?
  7. CSS样式穿透的几种方法
  8. paip.花生壳 服务启动失败 以及不能安装服务,权限失败的解决
  9. 完成迭代效劳器端和客户端
  10. 那些你熟悉而又陌生的函数