<!--[if !supportLists]-->一、<!--[endif]-->java的数据类型:
Java所有的数值类型都是有符号的【有正负之分,最高位表示正负】
基本类型:
类型 |
称呼 |
值域 |
表示范围 |
byte |
字节型 |
8bit |
-128~127
扫描二维码关注公众号,回复:
599292 查看本文章
|
short |
短整型 |
16bit |
-32768~32767 |
int |
整型 |
32bit |
-21亿~21亿 |
long |
长整型 |
64bit |
-900亿亿~900亿亿 |
float |
单精度浮点型 |
32bit |
保留8位有效数字,最后一位不精确 |
double |
双精度浮点型 |
64bit |
保留16位有效数字,最后一位不精确 |
char |
字符型 |
16bit |
0~65535 |
boolean |
布尔型 |
1bit |
只有ture和false两个结果 |
关于数据值域的基础知识说明:
<!--[if !supportLists]-->1.<!--[endif]-->一个bit是计算机可以存储的最小数据单位,即1位,只可能是0或1.
<!--[if !supportLists]-->2.<!--[endif]-->一个byte由八个bit组成,即八位,2的8次方,可以表达256个整数值,又由于byte在java中是有符号的,所有范围为-128~127
<!--[if !supportLists]-->3.<!--[endif]-->char在java中由两个byte组成,用来表示一个字符,即Unicode编码。char类型在进行数学计算的时候,采用字符的Unicode编码来计算。
<!--[if !supportLists]-->4.<!--[endif]-->int和float在java中由四个byte组成。
<!--[if !supportLists]-->5.<!--[endif]-->每个long或double型变量占用八个byte的存储空间。
<!--[if !supportLists]-->6.<!--[endif]--> 1KB = 1024b 1M = 1024Kb 1G =1024M
在具体的应用中,根据变量所要赋值的范围,选择合适的类型:例如我们要定义一个年龄的变量,年龄的范围肯定是在0~127之间的,所有定义为byte类型,没必要写成int age。
<!--[if !supportLists]-->二、<!--[endif]-->数据类型的定义
程序中的整数默认都是int型,即在方法调用直接传入的一个具体的整数值,默认都是int型。一个整数值可直接根据其字面赋值给int或变量,或值域大与int型变量的long、float或double。常用定义格式如下:
int a = 100;
int b = a;
// 定义一个浮点类型
float c = 1000;
// 十六进制的int格式定义:以0x开头
int d = 0x32;
// 八进制的int格式定义:以0开头
int e = 077;
// 定义一个byte类型
byte f = 12;
// 定义一个boolean型变量,初值为true;
boolean result = true;
整形的转型:小范围的整数类型值可通过赋值运算直接转换为大范围的原始类型:byte→char→int→long→float→double是可以自动转换的;反之则需要强制转换,代码如下:
byte a = 123;
int t = a ;//自动转换
a = (byte) t ;//强制转换
如果是大范围类数据强制转换为小范围数据时,如下:
public static void mian (String[ ] args){
int i = 1024;
byte b = (byte) i; //强制转换
}
<!--[if !supportLists]-->三、<!--[endif]-->使用String
String是java中的一个类,而不是一种基本数据类型,因为它有自己的方法和属性。
字符串可以直接赋值的方法创建:String str = “直接赋值创建的String” 通过String类可以创建String对象,代码如下。
public static void main (String [ ] args){ String s = “字符串1” ; String s2 =new String (“新的字符串”); s =s + s2 ;
String是一个类,String对象肯定就是引用类型,但它却是跟原始类型一样,遵守值传递的规则:这是因为String类在JVM中特别设计过,因为它的用量特别大,为了提高效率,String通过值传递方式来使用。String是最为常用的一种数据类型,String类中也提供了非常多的可直接调用的方法: