系列文章目录

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



文章目录

  • 系列文章目录
  • Debug
  • 如何加断点
  • 如何运行加了断点的程序
  • 看哪里
  • 点哪里
  • 如何删除断点
  • 查看方法参数
  • 进制
  • 不同进制的书写格式
  • 任意进制转十进制
  • 十进制转任意进制
  • 二进制转任意进制(8421码)
  • 原码反码补码
  • 补码推原码



Debug

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

如何加断点

java 打断点技巧 java断点有哪些类型_进制

如何运行加了断点的程序

java 打断点技巧 java断点有哪些类型_java 打断点技巧_02

看哪里

java 打断点技巧 java断点有哪些类型_反码_03


java 打断点技巧 java断点有哪些类型_补码_04

点哪里

点Step Into (F7)这个箭头,也可以直接按F7

java 打断点技巧 java断点有哪些类型_补码_05


点Stop结束

java 打断点技巧 java断点有哪些类型_JAVA_06

如何删除断点

选择要删除的断点,单击鼠标左键即可。

java 打断点技巧 java断点有哪些类型_进制_07

如果是多个断点,可以每一个再点击一次。也可以一次性全部删除。

java 打断点技巧 java断点有哪些类型_反码_08

查看方法参数

java 打断点技巧 java断点有哪些类型_进制_09


java 打断点技巧 java断点有哪些类型_反码_10

进制

指进位制,是人们规定的一种进位方式,表示某一位置上的数,运算时是逢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增加

二进制转十进制:

java 打断点技巧 java断点有哪些类型_JAVA_11


十六进制转十进制:

java 打断点技巧 java断点有哪些类型_补码_12

十进制转任意进制

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

十进制到二进制的转换:

java 打断点技巧 java断点有哪些类型_进制_13


十进制到十六进制的转换:

java 打断点技巧 java断点有哪些类型_进制_14

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

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

二进制快速转十进制:

java 打断点技巧 java断点有哪些类型_JAVA_15


二进制快速转八进制:

八进制:将三个二进制位看为一组,再进行转换

原因:八进制逢八进一,三个二进制位最多可以表示111,也就是数值7,如果出现第四位,就超范围了。

java 打断点技巧 java断点有哪些类型_反码_16


二进制快速转十六进制:

十六进制:将四个二进制位看为一组,再进行转换

原因:十六进制逢十六进一,四个二进制位最多可以表示1111,也就是数值15,如果出现第五位,就超范围了。

java 打断点技巧 java断点有哪些类型_反码_17

原码反码补码

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

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。

java 打断点技巧 java断点有哪些类型_补码_18


总结:

正数的原反补都是相同的。

负数的【反码】,是根据【原码】取反(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

③ 根据运算后的补码,反向推原码

java 打断点技巧 java断点有哪些类型_反码_19

④ 使用8421码开始计算

java 打断点技巧 java断点有哪些类型_反码_20