(二)基本数据类型与数据类型转换

基本数据类型

Java中有8种基本数据类型来存储数值、字符和布尔值。

数据类型字节数取值范围例子
byte1-128~127byte mybyte = 124;
short2-32768~32767short myshort = 32564;
int4-2147483648~2147483647int myint = 45784612;
long8很长long num = 21474836501L;(大于int型的最大值或者i小于int型的最小值,则需要在数字后加L或l,表示数值为长整数
float41.4E~3.4028235E38float f1 = 13.23f;(f或者F 必须有,否则系统会认为是double类型而出错)
double8也很长double d1 = 4562.12d(d或者D 可有可无)
char2存储单个字符char word = ‘a’;
boolean1或4true或falseboolean b = true;

整数类型在Java程序中有3种表示形式,分别为十进制、八进制和十六进制。十十进制:如120、0、-127
八进制:如0123(十进制数为83)、-0123(十进制数为-83)。八进制必须以0开头。
十六进制:如0x25(十进制的37)、oXbole(十进制的45086)。十六进制必须以0X或者0x开头。

转义字符
转义字符是一种特殊的字符变量,它以反斜线“\”开头,后跟一个或多个字符。转义字符具有特殊的含义,不同于字符原有的意义,故称“转义”。

转义字符含义
\ddd1~3位八进制数据所表示的字符,如\456
\dxxxx4位十六进制所表示的字符,如\0052
\’单引号字符
\\反斜杠字符
\t垂直制表符,将光标移到下一个制表符的位置
\r回车
\n换行
\b退格
\f换页

将转义字符赋值给字符变量时,与字符常量值一样需要使用单引号。
实例

char c1 = '\\';
char char1 = '\u2605';
System.out.println(c1);
System.out.println(char1);
//输出结果
//    \
//    ★	

声明常量
常量在整个程序中只能被赋值一次。
语法:

final 数据类型 常量名称 [=]

final double PI = 3.1415926D;
final boolean BOOL = true;

当定义的final变量属于“成员变量”时,必须在定义时就设定它的初值,否则将会产生编译错误。

变量有效范围
成员变量:在类体中所定义的变量,成员变量在整个类中都有效
局部变量:在类的方法体中定义的变量(方法内部定义,方法的参数),局部变量只在当前代码块中有效。
静态变量:在成员变量前加关键字static,称为静态变量,静态变量的有效范围可以跨类,以“类名.静态变量”的方式在其他类中使用。
局部变量的生命周期取决于方法。当方法被调用时,Java虚拟机为方法中的局部变量分配内存空间,当该方法的调用结束后,则会释放方法中局部变量占用的内存空间,局部变量也将会销毁。
局部变量与成员变量可以同名,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效。

变量有效范围

类型转换

两种方式:隐式类型转换、显示类型转换
隐式转换
从低级类型向高级类型的转换,系统将自动执行,程序员无需进行任何操作,这种类型的转换为隐式转换。
类型精度从低到高的排序:byte<short<int<long<float<double

int x = 50;
float y = x;
// y = 50.0

隐式转换规则表

操作数1的数据类型操作数2的数据类型转换后的数据类型
byte、short、charintint
byte、short、char、intlonglong
byte、short、char、int 、longfloatfloat
byte、short、char、int 、long、floatdoubledouble

显式类型转换
当把高精度的变量的值赋值给低精度的变量时,必须使用显式类型转换运算(又称为强制类型转换)。
语法:

(类型名)要转换的值

当执行显式类型转换时可能导致精度损失。只要是boolean类型以外其他基本类型之间的转换,全部都能以显式类型转换的方法达到。

int a = (int)45.23; //a = 45
long y = (long)46.6F;// y = 46
int b = (int)'d'; // b = 100

当把一个整数赋值给一个byte、short、int、long型变量时,不可以超出这些变量的取值范围,否则必须进行强制类型转换。例如:

byte b =byte129;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值