java基础学习笔记——day03(数据类型详讲、进制转换)

java基础学习笔记——day03

第二章续 ——数据类型详讲

数据类型 名称 占用字节 类型 范围
基本数据类型 byte 1个字节 整型 -128~127
short 2个字节 整型 大约±3w
int 4个字节 整型 大约±21亿
long 8个字节 整型 -2^64~ 2^64
double 8个字节 浮点型(双精度) 小数位后面15~16位
float 4个字节 浮点型(单精度) 小数位后面6~7位
char 2个字节 字符型 0~65535
Boolean 1个字节 逻辑型 true/false
引用类型 类 class
数组 [ ]
接口 interface

1. 整数

1.1 注意事项

  • 整数的类型有byteshortintlong四种,他们都有各自的存储范围,其中long是最大的,如果有一个比long范围还要大的数,可以使用BigInteger
  • 在java中,所有的整数的默认类型都是int
  • 在java中,如果给byteshort赋值的时候,只要不超过它们的范围,就可以正常的赋值为byteshort类型
  • 在java中,给long赋值的时候,要在数字的后面加上**“l”或者“L”**

1.2 整数的赋值方式

i. 十进制赋值
  • 正常赋值
int num = 10//用常用的十进制数字赋值
ii. 二进制赋值
  • 0b 0B 开头,后跟二进制数
int num = 0b1010// 输出结果是 10
iii. 八进制赋值
  • 0 开头,后跟八进制数
int num = 012// 输出的结果是  10
iv. 十六进制赋值
  • 0x 0X 开头,后跟十六进制数

  • 注:十六进制中,1015的数字用大写字母AF表示

    • A -> 10
    • B -> 11
    • C -> 12
    • D -> 13
    • E -> 14
    • F -> 15
int num = 0xA// 输出结果是  10
int num = 0XFF// 输出结果是  255

2. 小数

2.1 注意事项

  • 在java中,小数有floatdouble,所有的小数的默认类型都是double
  • 在java中,给一个小数赋值给float类型时,要在小数后面加**“f”或者“F”**

特别注意:

  • 在计算机中,小数是以一个近似值存储的,所以最好不要使用小数进行四则运算,后续学习会学习BigDecimal处理小数运算

2.2 小数的赋值方式

i. 正常赋值、
  • 直接在= 右边输入一个小数就行,如果小数点前为0,可以省略这个0不写
double num = 3.14
ii. 科学计数法
  • 尾数e整数 => 3.14159e4 注意:e前面的值一定是一个 1<x<10 (1,10)
 double num = 31415.92// 正常表示
 double num = 3.141592E4//科学计数法表示 效果是一样的

3.布尔(逻辑)型

3.1 注意事项

  • boolean类型只有两个值:truefalse
  • 所以boolean 只能赋 true false 这两个值
  • 实际存储时,1代表true,2代表false,但是java中不能用1和2给boolean赋值(编译器不能通过)

3.2 布尔型的赋值方式

  • 直接在 = 右边输入 true 或者 false
boolean flag = true; //输出结果就是 true

4. 字符型

4.1 注意事项

  • 字符型赋值是通过一组单引号引起来的单个字符。(不能是0个字符也不能是多个字符也不能是双引号)
  • 字符型还能通过一个数字赋值 (一个字符其实就是对应的一个数字),char类型表示的字符真实存储时是按照字 符集合表中字符对应的数字进行存储的。比如:A->65 a->97
  • char类型可以参与四则运算

4.2 字符型的赋值方式

i. 直接赋值
  • 通过一组单引号引起来的单个字符来赋值
char ch = 'A';// 记住''内只能是一个字符,也不能是0个
ii. 数字赋值
  • 通过一个数字赋值(其实就是字符集合里面对应字符的数字)
char ch = 25919; //输出的结果是   政 
iii.Unicode赋值
  • 通过Unicode表中的数字赋值
ch = '\u0000'; //输出的结果是   一个空格

4.3 转义字符

  • 在java中通过 \ 将一个字符的本身含义发生转变。转义字符可以给char类型赋值也可以之间在字符串中 使用

常见的转义字符 :

  • \t :空格(8位)
System.out.println("abcdefghigklmn");
System.out.println("\tabcdefghigklmn");
System.out.println("abcd\tefghigklmn");
System.out.println("abcdefgh张三\tigklmn");
  • 运行结果

uZbzwD.png

  • \n :换行
System.out.print("Hello,"); 
System.out.println("World");
System.out.println("用了转义字符之后"); 
System.out.print("Hello,\n"); 
System.out.print("World");
  • 运行结果

uZLKHO.png

  • 原样输出 \ ‘’ “”
System.out.print("\\"); 
System.out.print("\"");
  • 运行结果

uZL6vq.png

拓展知识——进制之间的转换

1. 十进制转二进制

uZvxmt.png

2. 二进制转十进制

unWxpV.png

3.八进制转十进制

unfkkR.png

4. 十六进制换十进制

ueioJP.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章