尚硅谷JavaSE基础

2.5 数据类型

2.5.1 分类

对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。

2.5.2 整型

  • Java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性。
  • java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’
  • java程序中变量常声明为int型,除非不足以表示大数,才使用long

2.5.3 浮点型

  • 与整数类型类似,Java 浮点类型也有固定的表数范围和字段长度,不受具体OS的影响。
  • Java 的浮点型常量默认为double声明float型常量,须后加‘f’或‘F’
  • 浮点型常量有两种表示形式:
    • 十进制数形式:如:12       512.0f        .512   (必须有小数点)
    • 科学计数法形式:如:12e2      512E2     100E-2
    • 通常情况下,应该使用double型,因为它比float型更精确。

2.5.4 字符型

  • char 型数据用来表示通常意义上“字符”(2字节)
  • 字符型常量的三种表现形式:
    • 字符常量是用单引号(‘ ’)括起来的单个字符,涵盖世界上所有书面语的字符。例如:char c1 = 'a';   char c2 = '中'; char c3 =  '9';
    • Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。例如:char c3 = ‘\n’;  // '\n'表示换行符
    • 直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a 表示 \n。
  • char类型是可以进行运算的。因为它都对应有Unicode码。

2.5.5 布尔型

  • boolean 类型适于逻辑运算,一般用于程序流程控制:
    • if条件控制语句;                  
    • while循环控制语句;
    • do-while循环控制语句;      
    • for循环控制语句;
  • boolean类型数据只允许取值true和false,无null。
    • 不可以0或非 0 的整数替代false和true,这点和C语言不同。
    • Java虚拟机中没有任何供boolean值专用的字节码指令,java语言表达所操作的boolean值,在编译之后都使用java虚拟机中的int数据类型来代替:true用1表示,false用0表示《java虚拟机规范8版》 

2.5.6 数据类型转换

1、基本数据类型之间的转换

注意:boolean除外

大小关系:

①自动类型转换

规则:小——>大

语法:double d = 1;

②强转类型转换

规则:大——>小

语法:int i = (int)1.5;

特点:

①自动提升的原则。表达式的最终结果的类型为 操作数中最大的类型!

②强转符号只针对于最近的操作数有效,一般使用小括号提升优先级

2、String类型和基本类型之间的转换

①基本类型——>String类型

规则:直接拼接空字符串即可

语法:

char c = '中';

String s = c+"";

String类型——>基本类型

规则:除char之外,其他的都是通过 包装类型.parseXX的方法

语法:

除char之外:

String s = "12345";

int i = Integer.parseInt(s);

char:

String s = "asfgh";

char c = s.charAt(1);//提取单个字符

char[] ch = s.toCharArray();//将整个字符串转换成字符数组