数据类型和类型转换(Java)


Java的基本类型有:
byte、short、int、long、float、double、boolean、char、String。

基本类型二进制位数最小值最大值默认值包装器类型
byte8-1281270Byte
short16-32768327670Short
int32-214748364821474836470Integer
long64-922337203685477580892233720368547758070LLong
float321.4E-453.4028235E380.0fFloat
double644.9E-3241.7976931348623157E3080.0dDouble
boolean---falseBoolean
char16065535‘u0000’Character
String40+2*length--null-

参考自:https://www.runoob.com/java/java-basic-datatypes.html

严格来说String并不是基本的数据类型,而是一个类,但是String类是Java自带的标准库里面的类,可以直接使用,按照我们的使用和习惯,可以把它当成数据类型来看待。
日常使用熟悉int、float、boolean、char、String就够了。

数值型

整型

//可以在声明变量的时候赋值,也可以先声明,之后再赋值
int a = 1;	//声明的时候同时赋值
int b;
b = 2;      //先声明,再赋值
int c = 3, d, e; //可以同时声明多个变量

其他类型转整型

浮点型转整型

用法:(int)f
参数:f为浮点数
返回:整型数值

float f = 2.56f;
double d = 3.3333;
int a = (int)f;
int b = (int)d;
int c = (int)1.05;
System.out.println(a);
System.out.println(b);
System.out.println(c);
/*
输出:
2 
3 
1
*/
字符串类转整型

用法:Integer.valueOf(String s)
参数:s为String类
返回:整型数值

String s = "123";
int a = Integer.valueOf();

浮点型

小数默认为double类型,如果要赋值给float类型,则需要在后面加上’f’,否则会报错”从double转换到float可能会有损失“,因为double类型比float精度高。

float f1 = 2.56;    // 精度丢失,会报错
float f2 = 2.56f;   // 在小数后面加上f转为float型,正确
double d = 3.3333;  // 默认精度为double,正确

其他类型转浮点型

整型转浮点型

用法:(float)a、(double)a
参数:a为整数
返回:对应浮点数类型

int a = 1, b = 2;
float f = (float)a;
double d = (double)b;
System.out.println(f);
System.out.println(d);
/*
输出:
1.0
2.0
*/
String类转浮点型

用法:Float.valueOf(String s)
参数:s为String类
返回:浮点型数值

String s = "1.23";
float f = Float.valueOf(s);

字符型

字符

不同于C++的char类型,Java的char类型为两个字节的Unicode 字符,最小值是 \u0000(十进制等效值为 0),最大值是 \uffff(即为 65535),可以保存任何单个字符(包括中文字符)。

/*
直接赋值字符或者ASCII值或Unicode值,效果是相同的
示例的a和b的值都为字符a
*/
char a = 97;
char b = 'S';
char c = '字';
char d = '\u5b57';     // 十六进制的5B57相当于十进制23383
char e = 0x5b57;
char f = 23383;        // c、d、e、f的赋值方式是等效的
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
/*
输出:
a
S
字
字
字
字
*/

其他类型转字符

用法:(char)a
参数:a为数字(整型或浮点型)
返回:返回相应的Unicode值,浮点数则转成整数再返回Unicode值(一般不会把浮点数转为字符)

char a = (char)97;
char b = (char)100.5;   // 转为100再赋给b
System.out.println(a);
System.out.println(b);
/*
输出:
a
d
*/

字符串

有三种方式对一个String类进行赋值。

String s1, s2, s3;
s1 = "abc";                 // 赋值构造
s2 = new String("xyz");     // 对象构造
s3 = s1;                    // 拷贝构造

其他类型转字符串

用法:String.valueOf(a)
参数:a可以是int、long、float、double、char[]等
返回:String类

int a = 123;
float f = 4.56f;
char []chArr={'a','b','c'};
String sInt = String.valueOf(a);
String sFloat = String.valueOf(f);
String sChArr = String.valueOf(chArr);  // sChArr = "abc"

布尔型

关键字为boolean

boolean a = true;   // 直接用true和false关键字赋值,a的值为true
boolean b = 3>5;    // 用逻辑表达式赋值,b的值为false
boolean c = 1;      // **不能用整型数字赋值,会报错**

类型转换

用法:Boolean.valueOf(a)
参数:a可以是true/false关键字、逻辑表达式、字符串等
返回:boolean类型的值

其中字符串的执行过程为:字符串为true(所有字符不分大小写)则返回true,其他返回false

boolean a = Boolean.valueOf(true);      // true
boolean b = Boolean.valueOf(3>5);       // false
boolean c = Boolean.valueOf("true");    // true
boolean d = Boolean.valueOf("tRuE");    // true
boolean e = Boolean.valueOf("false");   // false
boolean f = Boolean.valueOf("abc");     // false
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值