大白成为Java软件攻城狮的第五天(char、转义、整数型、精度损失)

数据类型

关于八种基本数据类型的默认值

数据类型 默认值
byte,short,int,long 0
float,double 0.0
boolean false【在C语言中true是1,false是0】
char \u0000

成员变量没有手动赋值系统会默认赋值【局部变量则不会】
八钟基本数据类型的默认值都是一切向0看齐。

1、char型

一个中文占用2个字节,char类型正好是2个字节
所以Java中的char类型变量可以存储一个中文字符
“ab”是字符串不能用单引号括起来

2、转义字符 (\)

\ :反斜杠在Java语言中具有转义功能

\n : 换行符
System.out.println与 print 的区别:println输出之后换行,print表示输出,但是不换行。
\t : 制表符 ,即Tab键
\ ’ : 普通的单引号
\ \ : 普通的反斜杠
\ " : 普通的双引号

怎样在控制台输出“反斜杠字符”?

char k='\\';
System.out.println();

第一个反斜杠具有转义功能,将后面的反斜杠转义为p普通的反斜杠字符
结论:因此在Java中两个反斜杠代表一个普通的反斜杠字符

怎样在控制台输出一个普通的单引号?

char a='\''; / / 反斜杠具有转义功能,将第二个单引号转换成普通的单引号字符,第一个单引号和最后一个单引号配对。
System.out.println(a);

3、整数型

1 Java语言当中的“整数型字面值”被默认当做int处理。要让这个“这个整数型字面值”被当做long类型处理的话,需要在“整数型字面值”后面添加1/L,建议使用大写的L。

2 Java语言当中的整数型字面值有三种表现方式:

第一种方式:十进制【是一种缺省默认的方式】 int i=10
第二种方式:八进制【在编写八进制整数型字面值的时候需要以0开始】 int i=010
第三种方式:十六进制【在编写十六进制整数型字面值的时候需要以0x开始】 int i=0x10

long y=2147483648L

long y=2147483648
2147483648是一个过大整数,被当做int类型4个字节处理,但是这个字面值超过int类型范围
解决方法:
在字面值后面添加L,将其当做long类型处理,y是类型变量,以上程序不存在类型转换。

4、精度损失

计算机二进制有三种表示形式:

原码
反码
补码

计算机在任何情况下底层表示和存储数据的时候采用了补码形式。

正数的补码:和原码相同。
负数的补码:负数的绝对值对应的二进制所有二进制位取反,再加1

当一个整数字面值没有超过byte,short,char的取值范围,这个字面值可以直接赋值给byte,short,char类型的变量。这种机制被SUN允许了,目的是为了方便程序员编程。

char cc=65535 //通过
char cc=65536 //编译报错

生活事件小计:人生的一次面试就被无情拒绝了,难道就是因为我是考研生的原因吗?害,还是需要先提升技术,等考研结果落定再说找工作或者研究生复试的事吧,自己也说不好能不能过复试线o(╥﹏╥)o

你可能感兴趣的:(java,编程语言,补码)