Java基础06:Debug、进制

系列文章目录

Java基础01:JAVA概述、基础语法
Java基础02:运算符、流程控制语句、Random随机数
Java基础03:IDEA、快捷键
Java基础04:数组、二维数组
Java基础05:方法
Java基础06:Debug、进制
Java基础07:面向对象基础
Java基础08:API、字符串String、StringBuilder
Java基础09:ArrayList集合
Java基础作业



Debug

Debug:是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序
Debug调试,又被称为断点调试,断点其实是一个标记,告诉Debug从标记的地方开始查看。
打断点:
1.在可疑代码处打上断点;2.如过不知道哪里可疑,可以在main方法第一行打
预判和见证:

如何加断点

在这里插入图片描述

如何运行加了断点的程序

在这里插入图片描述

看哪里

在这里插入图片描述
在这里插入图片描述

点哪里

点Step Into (F7)这个箭头,也可以直接按F7
在这里插入图片描述
点Stop结束
在这里插入图片描述

如何删除断点

选择要删除的断点,单击鼠标左键即可。
在这里插入图片描述

如果是多个断点,可以每一个再点击一次。也可以一次性全部删除。
在这里插入图片描述

查看方法参数

在这里插入图片描述
在这里插入图片描述

进制

指进位制,是人们规定的一种进位方式,表示某一位置上的数,运算时是逢X进一位。
计算机数据在底层运算的时候,都是以二进制形式。

十六进制介绍:用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,这些称作十六进制。
【0】【1】【2】【3】【4】【5】【6】【7】【8】【9】【a】【b】【c】【d】【e】【f】

win+R,输如calc打开windows自带计算器,可切换到程序员计算器。

不同进制的书写格式

⚫十进制(decimal ):Java中,数值默认都是10进制,不需要加任何修饰。
⚫ 二进制(binary):数值前面以0b开头,b大小写都可以。
⚫ 八进制(octal ):数值前面以0开头。
⚫ 十六进制(hexadecimal):数值前面以0x开头,x大小写都可以。
注意:以上内容是jdk7版本之后才被支持。
书写的虽然加入了进制的标识,但是控制台展示的都是十进制数据。

任意进制转十进制

⚫ 公式:系数 * 基数的权次幂 相加
⚫ 总结:任意进制到十进制的转换
◼ 系数:每一【位】上的数
◼ 基数:几进制,就是几
◼ 权:从数值的右侧,以0开始,逐个+1增加

二进制转十进制:
在这里插入图片描述
十六进制转十进制:
在这里插入图片描述

十进制转任意进制

公式:除基取余,使用源数据不断的除以基数(几进制,基数就是几)得到余数,直到商为0,再将余数倒着拼起来即可。

十进制到二进制的转换:
在这里插入图片描述
十进制到十六进制的转换:
在这里插入图片描述

二进制转任意进制(8421码)

8421码又称BCD码,是BCD代码中最常用的一种。
BCD: (Binary-Coded Decimal) 二进制码十进制数,在这种编码方式中,每一位二进制值的1都是代表一个固定数值,把每一位的1代表的十进制数加起来得到的结果就是它所代表的十进制数。

二进制快速转十进制:
在这里插入图片描述
二进制快速转八进制:
八进制:将三个二进制位看为一组,再进行转换
原因:八进制逢八进一,三个二进制位最多可以表示111,也就是数值7,如果出现第四位,就超范围了。
在这里插入图片描述
二进制快速转十六进制:
十六进制:将四个二进制位看为一组,再进行转换
原因:十六进制逢十六进一,四个二进制位最多可以表示1111,也就是数值15,如果出现第五位,就超范围了。
在这里插入图片描述

原码反码补码

注意:计算机中的数据,都是以二进制补码的形式在运算,而补码则是通过反码和原码推算出来的。

1B(byte,字节)= 8 bit;
1024B=1KB
1024KB=1MB
1024MB=1GB

原码(可直观看出数据大小):就是二进制定点表示法,即最高位为符号位,【0】表示正,【1】表示负,其余位表示数值的大小。

通过一个字节表示+7和-7。
代码:byte b1 = 7; byte b2 = -7;
7的反码:0(符号位) 0000111
-7的反码:1(符号位) 0000111

反码正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外

补码(数据以该状态进行运算)正数的补码与其原码相同;负数的补码是在其反码的末位加1。
在这里插入图片描述
总结:
正数的原反补都是相同的。
负数的【反码】,是根据【原码】取反(0变1,1变0)得到的 (符号位不变)。
负数的【补码】,是根据【反码】的末尾+1,得到的。

补码推原码

System.out.println((byte)130);//结果:-126

①整数130 :默认为int,int占用4个字节,也就是4组8个二进制位
补码为:00000000 00000000 00000000 10000010
② 强转到byte:4个字节,强制转换为1个字节,就是砍掉前3组8位
强转砍掉后:10000010
③ 根据运算后的补码,反向推原码
在这里插入图片描述

④ 使用8421码开始计算
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值