java夯实基础-基本数据类型
学习任何一门语言,基础永远都是最重要的。本文测试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夯实基础-基本数据类型相关推荐
- 【JAVA SE】第二章 Java语法基础、数据类型、基本类型的字面值、基本类型的类型转换和运算规则
第二章 Java语法基础.数据类型.基本类型的字面值.基本类型的类型转换.运算规则和标识符命名风格 文章目录 第二章 Java语法基础.数据类型.基本类型的字面值.基本类型的类型转换.运算规则和标识符 ...
- java核心基础 --- 基本数据类型
2019独角兽企业重金招聘Python工程师标准>>> 本篇博文主要介绍 java 基础数据类型.基本类型的数据转换.自动装箱拆箱机制. 1. 基础数据类型 整型 整型包含 byte ...
- 1.java的基础和数据类型
一.学习要求 1.听课一定要全神贯注 2.课堂笔记,一定要自己总结,而且要有很严谨的逻辑关系.提纲很重要 3.作业不折不扣的完成,并且多完成 4.阶段项目一定要独立完成 5.每天早上由一位同学来进行早 ...
- java 夯实基础_夯实基础-java equals使用,和 == 的区别
在研究hashcode的用法,发现自己对equals的理解还不够深,废话少说,继续专研,记录如下: 要想搞清楚equals和==的区别,就先要搞清楚JAVA的数据类型: java的数据类型只要分两大类 ...
- Java的基础语法——数据类型
数据类型 强类型语言 强类型定义语言 要求变量的使用要严格符合规定,所用变量都必须先定义后才能使用 一旦定义了一个变量,指定了某个数据类型,如果不经过转换,它就永远是这个类型 提高了安全性,但是速度比 ...
- java夯实基础系列:反射
一.反射定义&通俗理解 反射之中包含了一个"反"的概念,所以要想解释反射就必须先从"正"开始解释,一般而言,当用户使用一个类的时候,应该先知道这个类 ...
- java夯实基础-关键字
本文总结了java中51个关键字,分别对他们的含义.作用有一定说明. 1.访问权限 public 共有权限 可跨包访问 protected 保护权限 同一包可访问:不同 ...
- 关于java的基础--基本数据类型以及循环
一.基本数据 1,基本数据类型 Java数据类型包括:基本数据类型(原始类型),引用类型 String表示字符串,他修饰的只能存放字符串类型的数据 声明变量的语法:访问修饰符 类型 变量名 基本数据类 ...
- java夯实基础:final脑图
final的作用从两个方面理解:基本的锁定功能,帮助JVM实现效率和安全.关于final的解释非常多,本文仅做整理的总结. 基本用法:锁定 final的锁定功能通过final修饰的对象来具体实现,fi ...
最新文章
- 赠书 | 图解机器学习算法,看这文就够了!
- jquery 移除border_jQuery - 删除元素
- Ubuntu下使用Anaconda安装opencv 解决无法读取视频
- python操作excel和txt文件
- leetcode 897. 递增顺序搜索树(中序遍历)
- ubuntu中的大小写
- mysql archive分区_MYSQL-分区表
- php整点抽奖活动,php实现活动人选抽奖功能代码
- Qt之打印pdf文档
- 解决css font-size设置小字体不生效
- 《华为研发》读书笔记与读后感范文3300字
- alert转换成html,如何修改alert弹窗的具体样式?
- HC-05蓝牙模块简易说明
- mysql 数据库军规_Mysql数据库32条军规
- 【总结】最全面的Python面试知识!
- 计算机设计大赛感言,计算机编程比赛获奖感言.doc
- html提交成功跳转页面,提交表单后跳转到想要的页面--jQuery form
- TIA protal v17安装非C盘找不到step7 basic
- vue——省市区三级联动demo
- 【漫漫转码路】Python Day 15
热门文章
- .netcore向写es日志报错Elasticsearch.Net.UnexpectedElasticsearchClientException:expected:‘{‘,actual:‘<‘
- 2021年起重机械指挥考试技巧及起重机械指挥证考试
- Geodetic集合
- 2008车展美女车模
- hbw-utils - 关于guava和jdk的compare方法
- 机器人是如何实现对话的?
- CSS样式穿透的几种方法
- paip.花生壳 服务启动失败 以及不能安装服务,权限失败的解决
- 完成迭代效劳器端和客户端
- 那些你熟悉而又陌生的函数