Java学习6——基本数据类型及其转换

Java常量:

Java的常量值用字符串表示,区分不同的数据类型

  整型常量123、浮点型常量3.14、字符常量‘a’、逻辑常量true、字符串常量“helloworld”。

  ps:此‘常量’区别于final关键字所修饰的不可更改变量。

 

Java变量:

  Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用于。

  Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,然后必须进行赋值,才能使用。

int i = 100;
float f = 12.2f
double d1, d2, d3 = 0.123; //d1和d2未赋值,d3=0.123
String s = "hello world";

 

局部变量和成员变量的区别:

  局部变量,方法体内部声明的变量(包括形参)。

  成员变量,在方法体外,类体内声明的变量。

 

Java的4种基本数据类型:

布尔型(boolean)、字符型(char)、整数型(byte、short、int、long)、浮点型(float、double)

  布尔型(boolean),只允许取值true或false,不可以用0或非0的整数代替true和false(这和C语言不一样)

  字符型(char),1、字符常量用单引号括起来的单个字符,2、允许使用转义字符'\'来将其后的字符转变为其他含义,3、Java字符采用Unicode编码,每个字符占两个字节(Unicode是全球语言统一编码)

  整数型(byte、short、int、long),1、Java各整数类型有固定的数表示范围,不受具体操作系统的影响,保证了Java程序的可移植性。2、byte型1字节、short型2字节、int型4字节、long型8字节,没有无符号整型。3、正常数值为十进制整数,以0开头数值为八进制整数,以0x开头为十六进制数。4、Java语言的整型常量默认为int型,声明long类常量时数值后必须加上‘l’或‘L’。

int a1 = 600;//正确
long a2 = 666666666666L;//必须加L否则出错

  浮点型(float、double),1、Java浮点类型有固定的数表示范围,不受具体操作系统的影响。2、float型4字节、double型8字节。3、两种表示形式:十进制数和科学计数法。4、Java语言的浮点类型常量默认为double型,声明float类常量时数值后必须加上‘f’或‘F’。

double d = 123.456;//正确
float f = 12.34f;//必须加f否则出错

 

基本数据类型间的转换:

boolean类型不可以转换为其他的数据类型。

整型、字符型、浮点型的数据在混合运算中相互转换,转换时遵循以下原则:

  1、容量小的类型自动转换为容量大的数据类型,数据类型按容量大小(不是字节大小)排序为:byte,short,char<int<long<float<double。byte,short,char之间不会互相转换,三者在计算时首先转换为int类型,再计算。

  2、容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出。

  3、多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。

 1 int i = 1, j = 12;
 2 float f1 = 0.1f; 
 3 float f2 = 123f;
 4 long l1 = 1234567L, l2 = 88888888888L;
 5 double d1 = 2e20, d2 = 124;
 6 byte b1 = 1, b2 = 2, b3 = 127;
 7 j = j + 10;
 8 i = i / 10;
 9 i = (int) i * 0.1;
10 char c1 = 'a', c2 = 125;
11 byte b = (byte) b1 - b2;
12 char c = (char) c1 + c2 = 1;
13 float f3 = f1 + f2;
14 float f4 = (float) f1 + f2 * 0.1;
15 double d = d1 * i + j;
16 float f = (float) (d1 * 5 + d2);

 

posted @ 2017-08-25 11:55  白色烟头  阅读(294)  评论(1编辑  收藏  举报