java数据类型赋值_0基础学Java,老薛带你学Java数据类型以及赋值方式(二)

2.2.5 浮点数(双精度)

注意事项

表示方式

所占空间

精度范围

double

8字节

精确到15-16位

案例分析

public class DataTypeTest05 {

public static void main(String[] args) {

//①: 声明一个double类型的变量

double num = 3.14;

System.out.println("double类型num的值是:"+num);

//②: 通过相除得到一个double类型的值

num = 10/3.0;

System.out.println(num);

}

}

结论

小数的数据类型通过double指定,占内存8个字节,能够代表的数的精度范围是15到16位;这里注意看上述代码的第二次赋值,此时num=10/3.0得到的结果是3.33….35,这里要注意一点,Java中通过double存储的小数本身是存在问题的。如果对于数据的精确到要求较高,或者可能做一些货币计算,那么推荐大家使用BigDecimal。

2.2.6 浮点数(单精度)

注意事项

表示方式

所占空间

精度范围

float

4字节

精确到6-7位

案例分析

public class DataTypeTest06 {

public static void main(String[] args) {

//①: 声明一个float类型的变量

float num = 3.14;

System.out.println("float类型num的值是:"+num);

}

}

结论

这里要千万注意,默认情况下在Java中所有的小数的默认类型是double类型,所以当给float赋值时,本身赋值的数是double类型;编译器觉得赋值的右边是double类型而左边是float类型,所以报错Type mismatch: cannot convert from double to float。

解决办法: 在小数字面值的后面加"F"(推荐)或者是"f"。

public class DataTypeTest06 {

public static void main(String[] args) {

//①: 声明一个float类型的变量

float num = 3.14F;

System.out.println("float类型num的值是:"+num);

}

}

2.2.7 字符型

注意事项

表示方式

所占空间

char

2字节

案例分析1

public class DataTypeTest07 {

public static void main(String[] args) {

//声明一个char类型的变量

char ch = '薛';

System.out.println("char类型的变量ch是:"+ch);

}

}

结论1

这里要千万注意,char类型的变量赋值的时候,需要通过单引号引起来的单个字符。注意不能是0个也不能是多个,更不能是双引号。PS:双引号引起来的是字符串,是一组字符序列。通过String类型去指定。

常见报错信息

编写方式

报错信息

char ch = 'ab';

Invalid character constant 无效的字符常量

char ch = '';

Invalid character constant 无效的字符常量

char ch = "a";

Type mismatch: cannot convert from String to char 类型不匹配,无法将字符转为字符

案例分析2

我们之前带大家分析过,Java采用的是Unicode字符集合,所以对于字符类型的数值而言,除了通过单引号赋值单个字符之外还可以通过转义字符和Unicode的值来进行赋值操作。

通过转义字符赋值

208e54742a9f

企业微信截图_15536914461553.png

注意看红色区域,对于某些字符是可以通过\字符这样的方式进行赋值操作的。比如:

什么是转义字符?

在Java中,通过\对于原本的字符的含义让其发生改变,我们称之为转义字符。

举例

public class DataTypeTest06 {

public static void main(String[] args) {

char ch1 = 't';

System.out.println("字符ch1的值是:"+ch1);

char ch2 = '\t';

System.out.println("字符ch2的值是:"+ch2+"。");

}

}

输出

字符ch1的值是:t

字符ch2的值是: 。

常见转义字符以及含义

转义字符

说明

代码示例

显示

\b

退格

System.out.println("我是\b退格");

我是退格,会划分成两个词

\n

换行符

System.out.println("我是\n换行");

我是换行

\r

回车符

System.out.println("我是\r回车符");

我是
回车符

\t

制表符

System.out.println("我是\t回车符");

我是 制表符

\ "

双引号

System.out.println("我是\ "双引号");

我是"双引号

\ '

单引号

System.out.println("我是\ ''单引号");

我是’单引号

\ \

反斜杠

System.out.println("我是\ \单引号");

我是\单引号

案例分析3

public class DataTypeTest07 {

public static void main(String[] args) {

//通过Unicode值来给字符类型赋值以\u开头后跟十六进制数

char ch = '\u0021';

System.out.println("字符ch2的值是:"+ch+"。");

}

}

输出

字符ch2的值是:!

总结

根据上面ascii表中罗列的十进制的数,可以通过\u后跟一个16进制的数,表示一个字符的数值。比如!显示的十进制的数是33,转为16进制是0021,所以通过\u0021显示的就是!。

案例分析4

根据上面的ascii表中的内容,我们发现所有的字符其实在计算机中存储的都是对应的十进制转换为的二进制的数据,也就意味着字符会对应的2个字节的正整数[0,65535];

public class DataTypeTest08 {

public static void main(String[] args) {

//对于字符a进行简单的+1操作查看结果

char ch = 'a';

System.out.println("字符ch的值是:"+(ch+1));

}

}

总结

char类型字符,是可以参与四则运算的,相当于一个16位的无符号整数,表示数的范围是[0,65535]。

2.2.1 逻辑型

注意事项

表示方式

表示逻辑

所占空间

逻辑型(boolean)

true(真)或者 false(假)

1位

案例分析

public class DataTypeTest09{

public static void main(String[] args){

//1:声明一个boolean类型的变量

boolean flag = true;

System.out.println("boolean类型的变量flag的值是:"+flag);

//改变flag的值

flag = false;

System.out.println("boolean类型的变量flag的值是:"+flag);

}

}

结论

逻辑型boolean所占空间是1位,只存在两个值,要么为true,要么为false。注意在Java中不能使用0,1代表;并且其它的基本数据类型是无法转换成为boolean类型的。

强调一点,boolean类型的变量实际在内存中所占的空间是8位,一个字节。这个是大多数计算机实际的存储的方式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值