欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

编程基础 之 常量变量(常量及进制转换、变量、类型转换(精度丢失))

程序员文章站 2022-07-15 12:47:21
...

编程基础 之 常量变量(常量及进制转换、变量、类型转换(精度丢失))

常量及进制转换

常量:
编程基础 之 常量变量(常量及进制转换、变量、类型转换(精度丢失))
进制转换:

二进制

计算机中存储数据的方式都是使用二进制,计算机本身也只识别二进制

编程基础 之 常量变量(常量及进制转换、变量、类型转换(精度丢失))
编程基础 之 常量变量(常量及进制转换、变量、类型转换(精度丢失))
其他进制转换:
编程基础 之 常量变量(常量及进制转换、变量、类型转换(精度丢失))
负数的二进制体现形式
编程基础 之 常量变量(常量及进制转换、变量、类型转换(精度丢失))
上述结果可以自行通过电脑中的计算器验证的哦。()


变量

编程基础 之 常量变量(常量及进制转换、变量、类型转换(精度丢失))

编程基础 之 常量变量(常量及进制转换、变量、类型转换(精度丢失))
编程基础 之 常量变量(常量及进制转换、变量、类型转换(精度丢失))
Java中严格区分大小写

什么时候定义变量?

当数据不确定的时候,需要对数据进行存储时,就定义一个变量来完成存储动作。
编程基础 之 常量变量(常量及进制转换、变量、类型转换(精度丢失))
拓展问题一:String 是最基本的数据类型吗?

( `(^▽^*)* ,我会把这个问题放在这里讲,就是因为有大部分的人在这个问题上会纠结,同时,在我们面试笔试的时候,这个也很有可能会问到。String毋庸置疑是我们经常会用到的,所以大家就会有种它是基本数据类型的错觉,但其实,String并不是基本的数据类型 ! ﹀<(--)>﹀)

String 不是最基本的数据类型。
Java中的基本数据类型只有8个:byte、short、int、long、float、double、char、boolean;
除了基本类型(primitive type),剩下的都是引用类型(reference type),
Java 5以后引入的枚举类型也算是一种比较特殊的引用类型。


类型转换

自动类型转换:
编程基础 之 常量变量(常量及进制转换、变量、类型转换(精度丢失))
理解源类型和目的类型:

源类型---->目的类型,(编译通过)
源类型---->目的类型,(数据溢出)

目的类型比源类型表达的数据范围更广
编程基础 之 常量变量(常量及进制转换、变量、类型转换(精度丢失))
注意:精度丢失问题
编程基础 之 常量变量(常量及进制转换、变量、类型转换(精度丢失))

看懂上面图我们就应该知道下面输出的是什么了?

欢迎大家评论区公布答案。♪(^∇^*)*

		System.out.println(‘a’+1);
		
		System.out.println(char(‘a’+1));

拓展问题二:

	float f=3.4;  //是否正确?

不正确。

解析:3.4 是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换 float f =(float)3.4; 或者写成 float f =3.4F; 。

拓展问题三:

	short s1 = 1; s1 = s1 + 1; //有错吗?
	short s1 = 1; s1 += 1;  //有错吗? 

解析:
short s1 = 1; s1 = s1 + 1;
由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型才能赋值给short型。

short s1 = 1; s1 += 1;
可以正确编译,因为s1+= 1;相当于s1 = (short)(s1 + 1);其中有隐含的强制类型转换。