亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

更多QQ空间微信QQ好友腾讯朋友复制链接
您的位置:首頁/技術(shù)文章
文章詳情頁

詳解IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換問題

【字号: 作者:豬豬瀏覽:18日期:2024-08-04 16:55:07
1.Debug模式

1.1 什么是Debug模式

是供程序員使用的程序調(diào)試工具,它可以用于查看程序的執(zhí)行流程,也可以用于追蹤程序執(zhí)行過程來調(diào)試程序。

1.2 Debug介紹與操作流程

如何加斷點(diǎn)

選擇要設(shè)置斷點(diǎn)的代碼行,在行號(hào)的區(qū)域后面單擊鼠標(biāo)左鍵即可

如何運(yùn)行加了斷點(diǎn)的程序

在代碼區(qū)域右鍵Debug執(zhí)行

看哪里

看Debugger窗口

看Console窗口

點(diǎn)哪里

點(diǎn)Step Into (F7)這個(gè)箭頭,也可以直接按F7

如何刪除斷點(diǎn)

選擇要?jiǎng)h除的斷點(diǎn),單擊鼠標(biāo)左鍵即可

如果是多個(gè)斷點(diǎn),可以每一個(gè)再點(diǎn)擊一次。也可以一次性全部刪除

2. 進(jìn)制的介紹與書寫格式

2.1 進(jìn)制的介紹與書寫格式

代碼 :

public class Demo1 { /* 十進(jìn)制:Java中,數(shù)值默認(rèn)都是10進(jìn)制,不需要加任何修飾。 二進(jìn)制:數(shù)值前面以0b開頭,b大小寫都可以。 八進(jìn)制:數(shù)值前面以0開頭。 十六進(jìn)制:數(shù)值前面以0x開頭,x大小寫都可以。 注意: 書寫的時(shí)候, 雖然加入了進(jìn)制的標(biāo)識(shí), 但打印在控制臺(tái)展示的都是十進(jìn)制數(shù)據(jù). */ public static void main(String[] args) { System.out.println(10); System.out.println('二進(jìn)制數(shù)據(jù)0b10的十進(jìn)制表示為:' + 0b10); System.out.println('八進(jìn)制數(shù)據(jù)010的十進(jìn)制表示為:' + 010); System.out.println('十六進(jìn)制數(shù)據(jù)0x10的十進(jìn)制表示為:' + 0x10); }}

2.2 任意進(jìn)制到十進(jìn)制的轉(zhuǎn)換

詳解IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換問題

詳解IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換問題

2.3 進(jìn)制轉(zhuǎn)換-十進(jìn)制到任意進(jìn)制轉(zhuǎn)換

2.3.1 : 十進(jìn)制到二進(jìn)制的轉(zhuǎn)換

​ 公式:除基取余使用源數(shù)據(jù),不斷的除以基數(shù)(幾進(jìn)制,基數(shù)就是幾)得到余數(shù),直到商為0,再將余數(shù)倒著拼起來即可。

​ 需求:將十進(jìn)制數(shù)字11,轉(zhuǎn)換為2進(jìn)制。

​ 實(shí)現(xiàn)方式:源數(shù)據(jù)為11,使用11不斷的除以基數(shù),也就是2,直到商為0。

詳解IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換問題

2.3.2 : 十進(jìn)制到十六進(jìn)制的轉(zhuǎn)換

​ 公式:除基取余使用源數(shù)據(jù),不斷的除以基數(shù)(幾進(jìn)制,基數(shù)就是幾)得到余數(shù),直到商為0,再將余數(shù)倒著拼起來即可。

​ 需求:將十進(jìn)制數(shù)字60,轉(zhuǎn)換為16進(jìn)制。

​ 實(shí)現(xiàn)方式:源數(shù)據(jù)為60,使用60不斷的除以基數(shù),也就是16,直到商為0。

詳解IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換問題

​ 結(jié)論:十進(jìn)制到任意進(jìn)制的轉(zhuǎn)換

​ 公式:除基取余使用源數(shù)據(jù),不斷的除以基數(shù)(幾進(jìn)制,基數(shù)就是幾)得到余數(shù),直到商為0,再將余數(shù)倒著 拼起來即可

2.4 快速進(jìn)制轉(zhuǎn)換法

​ 8421碼:

​ 8421碼又稱BCD碼,是BCD代碼中最常用的一種BCD: (Binary-Coded Decimal‎) 二進(jìn)制碼十進(jìn)制數(shù)在這種編碼方式中,每一位二進(jìn)制值的1都是代表一個(gè)固定數(shù)值,把每一位的1代表的十進(jìn)制數(shù)加起來得到的結(jié)果就是它所代表的十進(jìn)制數(shù)。

詳解IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換問題

詳解IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換問題

詳解IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換問題

2.5 原碼反碼補(bǔ)碼

前言 : 計(jì)算機(jī)中的數(shù)據(jù),都是以二進(jìn)制補(bǔ)碼的形式在運(yùn)算,而補(bǔ)碼則是通過反碼和原碼推算出來的

**原碼 **:(可直觀看出數(shù)據(jù)大?。?/p>

就是二進(jìn)制定點(diǎn)表示法,即最高位為符號(hào)位,【0】表示正,【1】表示負(fù),其余位表示數(shù)值的大小。

通過一個(gè)字節(jié)表示+7和-7,代碼:byte b1 = 7; byte b2 = -7;一個(gè)字節(jié)等于8個(gè)比特位,也就是8個(gè)二進(jìn)制位

0(符號(hào)位) 0000111

1(符號(hào)位) 0000111

反碼 : 正數(shù)的反碼與其原碼相同;負(fù)數(shù)的反碼是對(duì)其原碼逐位取反,但符號(hào)位除外。

補(bǔ)碼 : (數(shù)據(jù)以該狀態(tài)進(jìn)行運(yùn)算)正數(shù)的補(bǔ)碼與其原碼相同;負(fù)數(shù)的補(bǔ)碼是在其反碼的末位加1。

詳解IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換問題詳解IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換問題

2.6 位運(yùn)算-基本位運(yùn)算符

public class Demo2 { /* 位運(yùn)算: 位運(yùn)算符指的是二進(jìn)制位的運(yùn)算,先將十進(jìn)制數(shù)轉(zhuǎn)成二進(jìn)制后再進(jìn)行運(yùn)算。 在二進(jìn)制位運(yùn)算中,1表示true,0表示false。 & 位與 : 遇false則false, 遇0則0 00000000 00000000 00000000 00000110 // 6的二進(jìn)制 & 00000000 00000000 00000000 00000010 // 2的二進(jìn)制 ----------------------------------------- 00000000 00000000 00000000 00000010 // 結(jié)果: 2 | 位或 : 遇true則true, 遇1則1 ^ 位異或 : 相同為false, 不同為true ~ 取反 : 全部取反, 0變1, 1變0 (也包括符號(hào)位) 00000000 00000000 00000000 00000110 // 6的二進(jìn)制補(bǔ)碼 ~ 11111111 11111111 11111111 11111001 - 1 // -1求反碼 ------------------------------------ 11111111 11111111 11111111 11111000 // 反碼推原碼 10000000 00000000 00000000 00000111 // -7 */ public static void main(String[] args) { System.out.println(6 & 2); System.out.println(~6); }}

2.7 位運(yùn)算-位移運(yùn)算符

位運(yùn)算概述 : 位運(yùn)算符指的是二進(jìn)制位的運(yùn)算,先將十進(jìn)制數(shù)轉(zhuǎn)成二進(jìn)制后再進(jìn)行運(yùn)算。在二進(jìn)制位運(yùn)算中,1表示true,0表示false。

位運(yùn)算符介紹 : [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-bjGD9ZTs-1606280432728)(.img1590937235620.png)]

代碼 :

public class Demo3 { /* 位移運(yùn)算符: << 有符號(hào)左移運(yùn)算,二進(jìn)制位向左移動(dòng), 左邊符號(hào)位丟棄, 右邊補(bǔ)齊0 運(yùn)算規(guī)律: 向左移動(dòng)幾位, 就是乘以2的幾次冪12 << 2(0)0000000 00000000 00000000 000011000 // 12的二進(jìn)制 ----------------------------------------------------------------------------- >> 有符號(hào)右移運(yùn)算,二進(jìn)制位向右移動(dòng), 使用符號(hào)位進(jìn)行補(bǔ)位 運(yùn)算規(guī)律: 向右移動(dòng)幾位, 就是除以2的幾次冪000000000 00000000 00000000 0000001(1) // 3的二進(jìn)制 ----------------------------------------------------------------------------- >>> 無符號(hào)右移運(yùn)算符, 無論符號(hào)位是0還是1,都補(bǔ)0010000000 00000000 00000000 00000110 // -6的二進(jìn)制 */ public static void main(String[] args) { System.out.println(12 << 1); // 24 System.out.println(12 << 2); // 48 }}

public class Demo4 { /* ^ 運(yùn)算符的特點(diǎn) 一個(gè)數(shù), 被另外一個(gè)數(shù), 異或兩次, 該數(shù)本身不變 */ public static void main(String[] args) { System.out.println(10 ^ 5 ^ 10); }}3.基礎(chǔ)練習(xí)

3.1 數(shù)據(jù)交換

案例需求

​ 已知兩個(gè)整數(shù)變量a = 10,b = 20,使用程序?qū)崿F(xiàn)這兩個(gè)變量的數(shù)據(jù)交換最終輸出a = 20,b = 10;

代碼實(shí)現(xiàn)

public class Test1 { /* 需求:已知兩個(gè)整數(shù)變量a = 10,b = 20,使用程序?qū)崿F(xiàn)這兩個(gè)變量的數(shù)據(jù)交換 最終輸出a = 20,b = 10; 思路: 1. 定義一個(gè)三方變量temp,將a原本記錄的值,交給temp記錄 (a的值,不會(huì)丟了) 2. 使用 a 變量記錄 b 的值,(第一步交換完畢,b的值也丟不了了) 3. 使用 b 變量記錄 temp的值,也就是a原本的值 (交換完畢) 4. 輸出 a 和 b 變量即可 */ /* 動(dòng)態(tài)初始化格式: 數(shù)據(jù)類型[][] 變量名 = new 數(shù)據(jù)類型[m][n]; m表示這個(gè)二維數(shù)組,可以存放多少個(gè)一維數(shù)組 n表示每一個(gè)一維數(shù)組,可以存放多少個(gè)元素 */ public static void main(String[] args) { int a = 10; int b = 20; // 將a原本記錄的值,交給temp記錄 (a的值,不會(huì)丟了) int temp = a; // 用 a 變量記錄 b 的值,(第一步交換完畢,b的值也丟不了了) a = b; // 使用 b 變量記錄 temp的值,也就是a原本的值 (交換完畢) b = temp; // 輸出 a 和 b 變量即可 System.out.println('a=' + a); System.out.println('b=' + b); }}

3.2 數(shù)組反轉(zhuǎn)【應(yīng)用】

案例需求 :

​ 已知一個(gè)數(shù)組 arr = {19, 28, 37, 46, 50}; 用程序?qū)崿F(xiàn)把數(shù)組中的元素值交換,

​ 交換后的數(shù)組 arr = {50, 46, 37, 28, 19}; 并在控制臺(tái)輸出交換后的數(shù)組元素

實(shí)現(xiàn)步驟 :

1. 定義兩個(gè)變量, start和end來表示開始和結(jié)束的指針.

確定交換條件, start < end 允許交換循環(huán)中編寫交換邏輯代碼每一次交換完成, 改變兩個(gè)指針?biāo)赶虻乃饕?start++, end?循環(huán)結(jié)束后, 遍歷數(shù)組并打印, 查看反轉(zhuǎn)后的數(shù)組

代碼實(shí)現(xiàn) :

public class Test2 { /* 需求:已知一個(gè)數(shù)組 arr = {19, 28, 37, 46, 50}; 用程序?qū)崿F(xiàn)把數(shù)組中的元素值交換, 交換后的數(shù)組 arr = {50, 46, 37, 28, 19}; 并在控制臺(tái)輸出交換后的數(shù)組元素。 步驟: 1. 定義兩個(gè)變量, start和end來表示開始和結(jié)束的指針. 2. 確定交換條件, start < end 允許交換 3. 循環(huán)中編寫交換邏輯代碼 4. 每一次交換完成, 改變兩個(gè)指針?biāo)赶虻乃饕?start++, end-- 5. 循環(huán)結(jié)束后, 遍歷數(shù)組并打印, 查看反轉(zhuǎn)后的數(shù)組 */ public static void main(String[] args) { int[] arr = {19, 28, 37, 46, 50}; // 1. 定義兩個(gè)變量, start和end來表示開始和結(jié)束的指針. int start = 0; int end = arr.length -1; // 2. 確定交換條件, start < end 允許交換 // 4. 每一次交換完成, 改變兩個(gè)指針?biāo)赶虻乃饕?start++, end-- // for(int start = 0, end = arr.length -1; start < end; start++, end--) for( ; start < end; start++, end--){ // 3. 循環(huán)中編寫交換邏輯代碼 int temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; } for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } }}

3.3 二維數(shù)組概述

概述 : 二維數(shù)組也是一種容器,不同于一維數(shù)組,該容器存儲(chǔ)的都是一維數(shù)組容器

3.4 二維數(shù)組動(dòng)態(tài)初始化

動(dòng)態(tài)初始化格式:

數(shù)據(jù)類型[][] 變量名 = new 數(shù)據(jù)類型[m][n];m表示這個(gè)二維數(shù)組,可以存放多少個(gè)一維數(shù)組n表示每一個(gè)一維數(shù)組,可以存放多少個(gè)元素

public class Demo1Array { /* 動(dòng)態(tài)初始化格式: 數(shù)據(jù)類型[][] 變量名 = new 數(shù)據(jù)類型[m][n]; m表示這個(gè)二維數(shù)組,可以存放多少個(gè)一維數(shù)組 n表示每一個(gè)一維數(shù)組,可以存放多少個(gè)元素 */ public static void main(String[] args) { // 數(shù)據(jù)類型[][] 變量名 = new 數(shù)據(jù)類型[m][n]; int[][] arr = new int[3][3]; /* [[I@10f87f48 @ : 分隔符 10f87f48 : 十六進(jìn)制內(nèi)存地址 I : 數(shù)組中存儲(chǔ)的數(shù)據(jù)類型 [[ : 幾個(gè)中括號(hào)就代表的是幾維數(shù)組 */ System.out.println(arr); /* 二維數(shù)組存儲(chǔ)一維數(shù)組的時(shí)候, 存儲(chǔ)的是一維數(shù)組的內(nèi)存地址 */ System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); System.out.println(arr[0][0]); System.out.println(arr[1][1]); System.out.println(arr[2][2]); // 向二維數(shù)組中存儲(chǔ)元素 arr[0][0] = 11; arr[0][1] = 22; arr[0][2] = 33; arr[1][0] = 11; arr[1][1] = 22; arr[1][2] = 33; arr[2][0] = 11; arr[2][1] = 22; arr[2][2] = 33; // 從二維數(shù)組中取出元素并打印 System.out.println(arr[0][0]); System.out.println(arr[0][1]); System.out.println(arr[0][2]); System.out.println(arr[1][0]); System.out.println(arr[1][1]); System.out.println(arr[1][2]); System.out.println(arr[2][0]); System.out.println(arr[2][1]); System.out.println(arr[2][2]); }}

3.5 二維數(shù)組訪問元素的細(xì)節(jié)問題

問題 : 二維數(shù)組中存儲(chǔ)的是一維數(shù)組, 那能不能存入 [提前創(chuàng)建好的一維數(shù)組] 呢 ?

答 : 可以的

代碼實(shí)現(xiàn)

public class Demo2Array { /* 問題: 二維數(shù)組中存儲(chǔ)的是一維數(shù)組, 那能不能存入 [提前創(chuàng)建好的一維數(shù)組] 呢 ? 答 : 可以的 */ public static void main(String[] args) { int[] arr1 = {11,22,33}; int[] arr2 = {44,55,66}; int[] arr3 = {77,88,99,100}; int[][] arr = new int[3][3]; arr[2][3] = 100; arr[0] = arr1; arr[1] = arr2; arr[2] = arr3; System.out.println(arr[1][2]); System.out.println(arr[2][3]); }}

3.6 二維數(shù)組靜態(tài)初始化

**完整格式 :** 數(shù)據(jù)類型[][] 變量名 = new 數(shù)據(jù)類型[][]{ {元素1, 元素2...} , {元素1, 元素2...}

**簡(jiǎn)化格式 :** 數(shù)據(jù)類型[][] 變量名 = { {元素1, 元素2...} , {元素1, 元素2...} ...};

**代碼實(shí)現(xiàn) : **

public class Demo3Array { /* 完整格式:數(shù)據(jù)類型[][] 變量名 = new 數(shù)據(jù)類型[][]{ {元素1, 元素2...} , {元素1, 元素2...} ...}; 簡(jiǎn)化格式: 數(shù)據(jù)類型[][] 變量名 = { {元素1, 元素2...} , {元素1, 元素2...} ...}; */ public static void main(String[] args) { int[] arr1 = {11,22,33}; int[] arr2 = {44,55,66}; int[][] arr = {{11,22,33}, {44,55,66}}; System.out.println(arr[0][2]); int[][] array = {arr1,arr2}; System.out.println(array[0][2]); }}

3.7 二維數(shù)組遍歷

需求 :

​ 已知一個(gè)二維數(shù)組 arr = {{11, 22, 33}, {33, 44, 55}};

​ 遍歷該數(shù)組,取出所有元素并打印

步驟 :

1. 遍歷二維數(shù)組,取出里面每一個(gè)一維數(shù)組2. 在遍歷的過程中,對(duì)每一個(gè)一維數(shù)組繼續(xù)完成遍歷,獲取內(nèi)部存儲(chǔ)的每一個(gè)元素

代碼實(shí)現(xiàn) :

public class Test1 { /* 需求: 已知一個(gè)二維數(shù)組 arr = {{11, 22, 33}, {33, 44, 55}}; 遍歷該數(shù)組,取出所有元素并打印 步驟: 1. 遍歷二維數(shù)組,取出里面每一個(gè)一維數(shù)組 2. 在遍歷的過程中,對(duì)每一個(gè)一維數(shù)組繼續(xù)完成遍歷,獲取內(nèi)部存儲(chǔ)的每一個(gè)元素 */ public static void main(String[] args) { int[][] arr = {{11, 22, 33}, {33, 44, 55}}; // 1. 遍歷二維數(shù)組,取出里面每一個(gè)一維數(shù)組 for (int i = 0; i < arr.length; i++) { //System.out.println(arr[i]); // 2. 在遍歷的過程中,對(duì)每一個(gè)一維數(shù)組繼續(xù)完成遍歷,獲取內(nèi)部存儲(chǔ)的每一個(gè)元素 //int[] temp = arr[i]; for (int j = 0; j < arr[i].length; j++) { System.out.println(arr[i][j]); } } }}

3.8 二維數(shù)組求和

需求 :

某公司季度和月份統(tǒng)計(jì)的數(shù)據(jù)如下:?jiǎn)挝?萬元)第一季度:22,66,44第二季度:77,33,88第三季度:25,45,65第四季度:11,66,99

步驟 :

定義求和變量,準(zhǔn)備記錄最終累加結(jié)果使用二維數(shù)組來存儲(chǔ)數(shù)據(jù),每個(gè)季度是一個(gè)一維數(shù)組,再將4個(gè)一維數(shù)組裝起來遍歷二維數(shù)組,獲取所有元素,累加求和輸出最終結(jié)果

代碼實(shí)現(xiàn) :

public class Test2 { /* 需求: 某公司季度和月份統(tǒng)計(jì)的數(shù)據(jù)如下:?jiǎn)挝?萬元) 第一季度:22,66,44 第二季度:77,33,88 第三季度:25,45,65 第四季度:11,66,99 步驟: 1. 定義求和變量,準(zhǔn)備記錄最終累加結(jié)果 2. 使用二維數(shù)組來存儲(chǔ)數(shù)據(jù),每個(gè)季度是一個(gè)一維數(shù)組,再將4個(gè)一維數(shù)組裝起來 3. 遍歷二維數(shù)組,獲取所有元素,累加求和 4. 輸出最終結(jié)果 */ public static void main(String[] args) { // 1. 定義求和變量,準(zhǔn)備記錄最終累加結(jié)果 int sum = 0; // 2. 使用二維數(shù)組來存儲(chǔ)數(shù)據(jù),每個(gè)季度是一個(gè)一維數(shù)組,再將4個(gè)一維數(shù)組裝起來 int[][] arr = { {22,66,44} , {77,33,88} , {25,45,65} , {11,66,99}}; // 3. 遍歷二維數(shù)組,獲取所有元素,累加求和 for (int i = 0; i < arr.length; i++) { for(int j = 0; j < arr[i].length; j++){ sum += arr[i][j]; } } // 4. 輸出最終結(jié)果 System.out.println(sum); }}

個(gè)季度是一個(gè)一維數(shù)組,再將4個(gè)一維數(shù)組裝起來3. 遍歷二維數(shù)組,獲取所有元素,累加求和4. 輸出最終結(jié)果

*/public static void main(String[] args) {// 1. 定義求和變量,準(zhǔn)備記錄最終累加結(jié)果int sum = 0;// 2. 使用二維數(shù)組來存儲(chǔ)數(shù)據(jù),每個(gè)季度是一個(gè)一維數(shù)組,再將4個(gè)一維數(shù)組裝起來int[][] arr = { {22,66,44} , {77,33,88} , {25,45,65} , {11,66,99}};// 3. 遍歷二維數(shù)組,獲取所有元素,累加求和for (int i = 0; i < arr.length; i++) {for(int j = 0; j < arr[i].length; j++){sum += arr[i][j];}}// 4. 輸出最終結(jié)果System.out.println(sum);}}

到此這篇關(guān)于IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)IDEA使用Debug內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: IDEA
相關(guān)文章:
主站蜘蛛池模板: 成人免费视频在线观看 | 成人在线不卡视频 | 色儿影院| 福利视频精品 | 亚洲精品国产拍拍拍拍拍 | 国产亚洲一区二区手机在线观看 | 精品免费久久久久久成人影院 | 亚洲欧美日韩色 | 欧美 综合 社区 国产 | 成人黄页网站 | 日日cao | 色播视频在线观看免费 | 福利精品一区 | 站长推荐精品午夜免费影院 | 一级日韩片 | 免费高清视频日本 | www欧美在线观看 | 中文字幕乱码一区三区免费 | 免费观看黄色一级视频 | 国产成人亚洲日本精品 | 综合欧美日韩 | 可以免费观看欧美一级毛片 | 91亚洲精品一区二区在线观看 | 日本免费新一区二区三区 | 51成人免费影院 | 国产精品高清视亚洲一区二区 | 国产主播大尺度精品福利 | 久久爱伊人 | 亚洲欧美一区二区三区四区 | 婷婷亚洲综合一区二区 | 看最刺激的欧美毛片 | 国产日韩线路一线路二 | 国产欧美日韩综合精品二区 | 中文无线乱码二三四区 | 极品美女一级毛片 | 久久在线免费观看视频 | 免费国产黄色片 | 午夜久久久 | 一级片在线 | 中文字幕日韩专区 | 欧美久久一区二区三区 |