一、整数数据
1.1 int和Integer有什么区别
int 是基础数据类型,字节长度为4,它的创建不会再堆内存中开辟空间,一般保存在栈内存里,可以用算术运算符进行加减乘除等操作。在参数传递的时候,直接传递它的值。
Integer 是int的包装类,而本质是一个类,它的创建会在堆内存中开辟一块新的空间。它的含义也是表示一个整数数字,但是算术运算符不能操作它。在参数传递的时候,传递的是它代表的对象的一个引用。
public class IntTest
{
public static void main(String[] args)
{
int a=10;//定义int a
Integer b=new Integer(20);//用new创建一个Integer对象
Integer c=Integer.valueOf(30);//用valueOf()方法创建一个Integer对象
System.out.println(++a);//a用于"++"运算
System.out.println(b.intValue());//用intValue()方法得到int型数据
}
}
1.2 int和long的取值范围
int 数据采用4个字节进行存储,一共32位,第一位用于表示正负号,因此,它的取值范围是-2^31~2^31-1.
long数据采用的是8个字节进行存储,一共是64位。第一位表示正负符号,因此它的取值范围是-2^63~2^63-1.
二、实型数据
2.1float 和double的取值范围
float:范围从3.4E10^-38~3.4E10^38
double:范围从1.7E10^-308~1.7E10^308
2.2实型与整型的相互转换
整型和实型可以进行相互转换,其中整型转为实型时,不存在精度的损失,而实型转为整型时则可能会有精度损失。转换过程可分为显式和隐式两种方式,前者是通过强制类型转换来进行,后者是在运算、传参数等情况下,由系统自动进行。
//显式转换
int i=123;
double d=(double)i;
int k=(int)d;
//丢失精度
double d2=123.456;
int k1=(int)d2;
//隐式转换
double d3=12.1;
System.out.println(d3+123);
三、布尔型数据
3.1 布尔型的值:false 和true(不是 0,1)
3.2 boolean 和Boolean包装类的区别
1)boolean是基础数据类型,Boolean是类
2)boolean 一般存于栈空间中,Boolean对象存在堆空间中
3)boolean 是true 和false两种值,Boolean 除了true 和false ,还有null。
四、字符型数据
4.1 char的取值范围
java中的char采用的是Unicode 编码格式,用两个字节来表示一个字符,一共16位,它所能表示的最大字符数量为2^16
4.2char 是否能存汉字
char 可以存储汉字的,每个中文字符都有对应的Unicode编码
public class ChineseTest
{
public static void main(String[] args)
{
char c='海';
int i=c;
System.out.println(i);
}
}
//输出结果为:28023
4.3 转义字符
在java中,使用反斜杠"\"来代表转义,它与紧跟在它后面的字符一起组成了转义字符,从而达到了转义的目的,如:\"(输出双引号)
五、String型数据
字符串类具有一定的特殊性,JVM在执行双引号操作符的时候,会自动的创建一个String对象,并返回这个对象的引用
5.1字符串对象池的作用
对象池的存在是为了避免频繁的创建和销毁对象而影响系统性能。当JVM在运行用双引号引起来一个字符串的代码时,会到String的对象池中去检查是否有一个字符序列相同的对象,如果有,就取现成的对象,如果没有,则在对象池中创建一个对象,并返回。(equal与==差别的例子)
//创建String对象的两种方法
String str1="ye_haiqiang";//在对象池中取对象
String str2=new String ();//直接生成新的对象
5.2指定字符集创建String对象
使用带有字符集编码的String的构造方法就可以用指定的字符集来重新创建字符对象了,该方法 的参数包括两个:一个是byte数组;另外一个则是字符集编码的字符串形式。例如:UTF-8、GBK、ISO-8859-1等
如:
String a="中文";
String b=new String(a.getBytes(),"GBK");
String c=new String(a.getBytes(),"UTF-8");
每天一点点希望对大家有利~
分享到:
相关推荐
Python 数据类型及类型转换.md
一些初学JAVA的朋友可能会遇到JAVA的数据类型之间转换的苦恼,例如,整数和float,double型之间的转换,整数和String类型之间的转换,以及处理、显示时间方面的问下面笔者就开发中的一些体会介绍给大家。 我们知道,...
数据类型的转换数据类型的转换数据类型的转换数据类型的转换数据类型的转换数据类型的转换数据类型的转换数据类型的转换
VC数据类型转换详解 VC数据类型转换详解
mysql数据类型转换
常见java中数据类型之间的转换.txt常见java中数据类型之间的转换.txt常见java中数据类型之间的转换.txt
VC常用数据类型转换 VC常用数据类型转换 VC常用数据类型转换
提供了西门子PLC 不同数据类型转换Tool collection of conversion blocks for data type conversions
jni数据类型转换例程 1. java向native传递常用基本数据类型 和字符串类型 2. java向native传递数组类型 3. java向native传递自定义java对象 4. java向native传递任意java对象(以向native传递ArrayList为例) 5....
常用的js数据类型转换函数parseInt
MFC各种数据类型转换 MFC各种数据类型转换 MFC各种数据类型转换 MFC各种数据类型转换 MFC各种数据类型转换
描述在使用C语言进行编程时经常遇到的数据类型间的相互转换问题。
C++数据类型之间的转换,描述了c++中一些常见的数据类型之间的转换
数据类型转换 格式 各种数据类型 互相转换 vc C语言
有时候需要对数据内置的类型进行转换,在进行数据类型的转换时只需要将数据类型作为函数名即可,在Python中内置了一些数据类型转换的函数: 1. int()函数 int() 函数用于将一个字符串或数字转换为整型。 语法:int(x...
SQL数据类型和转换·········
Java的基本数据类型以及不同数据类型之间的转换以及转换方法。
用友T+从数据类型 nvarchar 转换为 numeric 时出错.pdf
sql数据类型转换(cast() and convent())函数),举例说明具体使用方法
“计算机数据类型16进制值转换器”: 本程序是由于自己需要而写的(QQ:401072489), 用于各计算机数据类型与16进制的内存数据格式直接的相互转换,大家要是需要就拿去用吧: 1.数据类型 TO HEX: 选择数据类型及符号...