java的基础学习笔记day03

java的基础学习笔记day03

第一章 详细理解基本数据类型

前言:基本数据类型分为整数类型、小数类型、逻辑型类型、字符类型四种,每种类型都有对应的变量,而且每种变量都可以表示的数的多少不一样,即每个变量都有自己表示数的区间,超过了就不能表示了,一旦超过了,编译cmd上就会报错,那咱们就着重去了解一下基本数据类型以及如何去给这些数据类型赋值的。

1.1、整数类型

整数的取值范围表如下:
类型名称数据类型所占空间表示区间
字节型byte一个字节[-128,127]
短整型short两个字节[-215,215-1]
整数型int四个字节[-231,231-1]
长整型long八个字节[-263,263-1]

附言:在java中还有表示区间更大的整数类型,表示为BigInteger。

注意事项:
  • 在java中,所有的整数类型默认的数据类型都是int,所以在将比int数据类型所能接受还要大的值赋给一个long类型的变量的时候,要在赋值后面加上"l"或者"L",不然编译器cmd就会报错
  • 在java中,在个byte和short赋值的时候,只要整数字面值没有超过int类型区间就可以正常赋值
整数的赋值方式:
二进制赋值

二进制赋值以0b,0B开头后跟一个二进制的数字,注意二进制的赋值方式是在JDK1.7后出现的

//以二进制方式赋值
int num = 0b1001;
System.out.println(num);
八进制赋值

八进制赋值以0开头后接一个八进制的数字

//以八进制的方式赋值
int num1 = 037;
System.out.println(num1);
十进制赋值

十进制赋值就正常赋值就可以了

//以十进制的方式赋值
int num2 = 37;
System.out.println(num2);
十六进制赋值

十六进制赋值以0x或者0X开头后接一个16进制的数即可

//以十六进制的方式赋值
int num3 = 0x2A;
System.out.println(num3);

tips:在16进制中A表示10,B表示11,C表示12,D表示13,E表示14,F表示15

1.2、浮点数

浮点数的取值范围
类型名称数剧类型所占空间精确度
单精度浮点数float4个字节小数点后6-7位
双精度浮点数double8个字节小数点后15-16位

tips:小数在计算机存储的是一个近似值,在四则运算中尽量避免用小数去进行四则运算,一般会使用BigDecimal处理小数的运算。

注意事项
  • 在java中,所有小数的默认类型都是double,所以当赋值给一个float类型的变量时,我们要在值后面加上一个"f"或者"F"。
  • 在java中有三个特比奇怪的值
    • Infinity 当输入如下代码时:System.out.println(1/0.0);
    • -Infinity 当输入如下代码时:System.out.println(-1/0.0);
    • NaN(Not a number) 当输入如下代码时:System.out.println(0.0/0.0);他是一个自己和自己比较都不相等的值。
浮点数的赋值方式
正常赋值
//给浮点数正常赋值
double num4 = 3.13;
System.out.println(num4);
科学计数法给浮点数赋值
double num5 = 1.24345E3;
System.out.println(num5);

tips:这里E前面的数是有区间的,区间为(0,10),在这之间的整数

1.3、逻辑型、布尔型

注意注意:逻辑型只有两个值,一个是true,一个是false

  • 逻辑型表示为boolean,它实际只占一位,但是会按照byte给他分配一个字节。
  • 其实在实际储存中,1就代表true,0代表false
  • 我们不可以直接将1或者0赋值给boolean类型的变量
//给一个boolean类型的变量赋值
boolean flag = ture;
System.out.println(flag);

1.4、字符型

字符的取值范围:
类型名称数据类型所占空间区间
字符类型char两个字节[0,65535]
注意事项
  • 给字符型的变量赋值时,要在字符外面加上一组单引号,且必须是单个字符。
  • char类型的变量也可以通过一个数字进行赋值,输出结果是字符表上对应的字符
  • char类型可以参加四则运算
字符型变量的赋值方式
直接赋值
//直接给字符型变量赋值
char ch = 'a';
System.out.println(ch);
数字赋值

通过一个数字给char类型变量赋值,其输出结果会是字符表上对应的字母或则特定的符号。

//用数字给字符型变量赋值
char ch1 = 65;
System.out.println(ch1);
unicode赋值

unicode赋值就是在单引号里面先写\u后接一个十六进制的数

char ch2 = '\u0000';
System.out.println(ch2);
转义字符赋值

在java中\可以将字符的意义发生改变,转义字符也可以给字符型变量赋值,也可以用在直接输出语句中

char ch3 = '\t';
System.out.println("意思是"+ch3);

常见的转义字符有:

\t:一个制表符位 8个空格,要注意会和前面的字符累加查看是否有8位,如果不够通过空格填充8位。

\n:换行

第二章 在电脑中正、负、小数的存储

2.1、正整数的存储

正整数在电脑中存储方式是存储该正数的二进制

tips:计算一个数的二进制有很多种方法,下面就是计算一个数的二进制的算法(我自认为简单的一种)

​ 方法:除二取余逆序排列

​ 举例:求出99的二进制数

uZz6xJ.md.png

所以99的二进制就是:1100011

值得一提的是正整数的二进制反码和补码是他本身

2.2、负整数的存储

负整数在电脑中存储的是其二进制的补码

那么怎么就来看看-99在电脑中是怎么存储的:

首先咱们同上求出99的二进制为:1100011;咱们在前面加上符号负数符号1,所以-99表示为11100011;

求出-99的反码(符号保持不变,其他位取反):即为10011100;

那么-99的补码为(在反码的基础上加一):即为10011101;

综上所述-99的补码为10011101

tips:为什么负整数要在电脑中以其二进制的补码存储呢?

​ 因为在参与四则运算时,负数如果使用补码和原码进行计算会出错,而通过无数验证,使用负数的补码进行存储不会出错,所以电脑中存储负整数都是用的其二进制的补码

2.3、小数的存储

在电脑中存储小数:小数分为整数部分和小数部分,那么不难推出,只要先求整数部分的二进制,在求出小数部分的二进制,两者二进制相加就是这个小数的二进制了,整数部分的二进制同上一样,下面看看小数部分的二进制怎么求得:

uePKtx.md.png

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值