ref: http://www.cnblogs.com/simplefrog/archive/2012/07/15/2592011.html
第一类:逻辑型boolean
第二类:文本型char
char类型占2个字节
第三类:整数型(byte、short、int、long)
short从-32768到32767
int从-2147483648,到2147483647共10位
long从-9223372036854775808到9223372036854775807共19位
第四类:浮点型(float、double)
在数学中0到1有无数个浮点数;而计算机是离散的,所以表示的时候有误差,计算机用精度(小数点后几位来表示正确),比较浮点数时a==0.1是不合适的,应该a-0.1==0;如果a是0.1,则即使有误差 a-0.1==0因为a和0.1都被表示为一个有误差的计算机二进制
ref: http://suky.iteye.com/blog/591600
1.基本类型:存储在栈中,存储速度比较快些
byte,char,short,int,long,float,double,boolean
2.包装类,
Byte(1字节),
character(2字节),
Short(2字节),
Integer(4字节),
Long(8字节),
Float(4字节),
Double(8字节),
Boolean
这些包装类 都在java.lang包里,其中SIZE属性记录二进制位数,MIN_VALUE和MAX_VALUE记录取值范围。存储在堆中,因为使用final修饰,所以无法继承类以及重写任何方法。
3.int型值可以赋给所有数值类型的变量;
long型值可以赋给long、float、double类型的变量;
float型值可以赋给float、double类型的变量;
double型值只能赋给double类型变量。
把一个能表示更大范围或者更高精度的类型,转换为一个范围更小或者精度更低的类型时,
就需要使用强制类型转换。
例如:把一个double型值赋值给一个long类型变量,编译时会报错,即使这个值没有超出long类型的取值范围
long l = 1.0D;
除非使用强制类型转换
long l=(long) 1.0D;
注:
基本数据类型自动转换
byte->short,char -> int -> long
float -> double
int -> float
long -> double
小可转大,大转小会失去精度!!!
4.byte,char,short,int四种基本类型及其包装类(需要Java5.0/1.5以上版本支持)可以用于switch语句,其它类型编译会报错。
注意:enum(枚举类型,Java5.0以上版本可用)可用于swith语句
public class Test {
static enum e{ A,B }
public static void main(String[] args) {
switch (Test.e.A) {
case A:
System.out.println("A");
break;
case B:
System.out.println("B");
break;
}
}
}
结果:A
运算符对基本类型的影响
1.当使用+、-、*、/、%运算符对基本类型进行运算时,遵循如下规则:
两个操作数中,先考虑是否有一个是double类型的,是的话,另一个和结果 将会被转换成double类型。以此考虑float,long,除此之外两个操作数(包括byte、short、int、char)都将会被转换成int类型。
2.当使用+=、-=、*=、/=、%=、运算符对基本类型进行运算时,遵循如下规则:
运算符右边的数值将首先被强制转换成与运算符左边数值相同的类型,然后再执行运算,且运算结果与运算符左边数值类型相同。
面试涉及题目:
short s1=1;s1=s1+1;有什么错?short s1=1;s1+=1;有什么错?
解析:
short s1=1;//正确,int赋值给short
s1=s1+1;//编译错误,因为s1+1 结果int,转换为short,报错
s1=1+1;//正确,1+1是个编译时可以确定的常量,'+'运算在编译时就被执行了,而不是在程序执行的时候,这个语句的效果等同于s1=2
s1+=1;//正确,1首先被强制转换为short型,然后再参与运算,并且结果也是short类型
3.当使用“==”运算符在基本类型和其包装类对象之间比较时,遵循如下规则:
1). 只要两个操作数中有一个是基本类型,就是比较它们的数值是否相等。
2). 否则,就是判断这两个对象的内存地址是否相等,即是否是同一个对象。
测试验证:
int a = 1;
int b = new Integer(1);
Integer c = 1;
Integer d = new Integer(1);
//有一个是基本类型
System.out.println("a==b "+(a==b));
System.out.println("a==c "+(a==c));
System.out.println("a==d "+(a==b));
System.out.println("b==c "+(b==c));
System.out.println("b==d "+(b==d));
//两个都是包装类对象
System.out.println("d==c "+(d==c));
结果:
a==b true
a==c true
a==d true
b==c true
b==d true
d==c false
相关推荐
注解则是一种元数据,可以用来提供编译时或运行时的额外信息。 总的来说,"SE_JAVA_EXP_E046.zip"中的答案涵盖了广泛的Java编程知识点,对提升学生的编程技能和理解Java语言的精髓有着极大的帮助。通过参考这份满分...
JAVA中的关键字、标识符、注释 JAVA中的数据类型、变量、运算符、表达式 JAVA类中方法的调用
Java__基本数据类型.mp4
Java API基础包括java.lang包中的基础类库,例如Object类、Math数学类、Comparable可比较接口、基本数据类型的包装类、String字符串类、Class类操作类和System系统类等。这些类库提供了Java语言的基础功能和工具。 ...
在Java中,Jython是一个非常有用的工具,它允许我们在Java应用程序中嵌入Python代码,并能够无缝地在Python数据类型和Java数据类型之间进行转换。这极大地扩展了Java的生态系统,让我们能够利用Python丰富的库和简洁...
在编程世界中,Java是一种广泛使用的面向对象的编程语言,尤其在Android应用开发中占据了核心地位。本节课程“Java4Android 05_Java的基本数据类型...这个视频课程详细解释了这些知识点,是学习Java数据类型的好资源。
本项目名为"java 解析Excel 并判断解析的数据类型__Eclipse工程",显然是一个使用Java语言在Eclipse环境下实现的程序,其主要功能是读取Excel文件并识别其中各单元格的数据类型。 首先,我们需要了解Java中用于解析...
资源名称:Java编程基础知识变量与数据类型资源目录:【】11957c6aed0bbd30e284837b53bc3a6f【】2.Java编程基础知识变量与数据类型1.数据类型初阶【】2.Java编程基础知识变量与数据类型10.浮点类型【】2.Java编程...
本资源“JAVA数据类型思维导图”提供了一种直观的方式来理解和记忆Java中的数据类型,包括基本数据类型和引用数据类型。下面将对这两个主要的数据类型进行详细解释。 1. 基本数据类型(Primitive Data Types) - ...
javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供...
在IT领域,特别是软件开发与数据库管理中,Java与MySQL之间的数据类型映射是一个至关重要的知识点,它确保了数据在不同平台间能够准确无误地转换与存储。根据提供的文件信息,我们可以深入探讨这一主题,解析Java与...
Java语言程序设计:JAVA_2-基本数据类型、枚举类型和数组.ppt
2. 数据类型:Java有两大类数据类型,即基本数据类型(如int、float、char等)和引用数据类型(如类、接口和数组)。 3. 变量:变量是用来存储数据的容器,每条变量声明都包括数据类型和变量名。 4. 控制结构:...
在反射API中,Java 8新增了MethodHandle和MethodHandles类,这些类提供了更灵活、更高效的动态类型操作方式,特别是在需要高性能和低级别的元数据访问时。 总的来说,Java 8 API文档包含了关于以上所有特性的详细...
1. **Java语法**:这是学习Java的第一步,包括变量、数据类型、运算符、流程控制语句(如if、for、while)、方法、类和对象等。理解封装、继承和多态这些面向对象编程的基本概念至关重要。 2. **类与对象**:在Java...
4. **Stream API**:Stream API是一种处理数据的新方式,可以用于集合、数组和I/O通道等。它支持声明式处理,使得代码更简洁,可读性更强,并且能进行高效的数据过滤、映射和归约操作。 5. **方法引介和默认方法**...
#### 二、Java数据类型分类 Java的数据类型主要分为两大类:原始数据类型(Primitive Data Types)和引用数据类型(Reference Data Types)。 ##### 2.1 原始数据类型 原始数据类型包括整型、浮点型、布尔型和...
但我们可以假设"demo"可能是一个包含多个Java源代码文件(.java)的目录,每个文件都代表一个独立的示例,覆盖了Java编程的不同方面,如变量、数据类型、控制结构(如if语句和循环)、类与对象、继承、接口、异常...
这篇博客主要探讨了Java数据类型如何与Hibernate的类型映射进行对应。 首先,Java的基本数据类型在Hibernate中有对应的类型映射。例如,int型在Hibernate中通常映射为Integer类型,因为数据库字段可能允许为空...
- **数据类型**:包括基本数据类型(如整型、浮点型、字符型、布尔型)和引用数据类型(如类、接口、数组)。 - **变量与常量**:定义变量存储数据,常量则一旦声明就不能修改。 - **运算符**:包括算术运算符、...