#1 代碼少的話用JDK 里的javac.exe
創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司一直秉承“誠(chéng)信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!專注中小微企業(yè)官網(wǎng)定制,成都做網(wǎng)站、成都網(wǎng)站建設(shè),塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。
#2 代碼多的話建議用工具編譯如Eclipse
Over 完畢
學(xué)會(huì)在idea(eclipse)中閱讀、調(diào)試源碼,是java程序員必不可少的一項(xiàng)技能。
在idea中配完環(huán)境后,默認(rèn)其實(shí)也是能夠?qū)dk的源碼進(jìn)行debug調(diào)試的。但是無(wú)法在源碼中添加自己的注釋,無(wú)法添加自己的理解。如果干瞪眼看的話,可能過(guò)段時(shí)間,就忘記了。下面就介紹下,如何在jdk源碼中為所欲為,像在我們自己的代碼中一樣寫(xiě)注釋、調(diào)代碼:
打開(kāi)idea,選擇Project-File-Project Structure-SDKs-Sourcepath,初始狀態(tài)如下圖 :
打開(kāi)本地jdk安裝路徑,本處為E:\java\jdk8,將此路徑下的src.zip壓縮包解壓到自定義的指定文件夾(可以在電腦磁盤(pán)任意位置),本處解壓到同目錄的jdk_source文件夾下,如下圖:
繼續(xù)在步驟1中的設(shè)置頁(yè)面中操作,將E:\java\jdk8\src.zip通過(guò)右側(cè)的減號(hào)將其移除;并通過(guò)右側(cè)的加號(hào),將解壓文件夾E:\java\jdk8\jdk_source導(dǎo)入進(jìn)來(lái);點(diǎn)擊apply,再點(diǎn)擊OK。導(dǎo)入結(jié)果見(jiàn)下圖:
這時(shí),再重新打開(kāi)jdk的源碼類,我們就可以在源java文件中,添加自己的注釋了。
一定注意:添加注釋時(shí),一定不要新加一行寫(xiě)注釋。最好在一行代碼的后面,使用//進(jìn)行注釋。否則行號(hào)和真正的jre中編譯后的代碼行號(hào)對(duì)應(yīng)不上,如果對(duì)源碼debug時(shí),會(huì)出現(xiàn)代碼運(yùn)行和行號(hào)不匹配的情況
沒(méi)有翻譯軟件,但是能編寫(xiě)翻譯程序。
java 代碼翻譯實(shí)例:
1.輸入一個(gè)以’@’結(jié)束的字符串,從左至右翻譯。若下一個(gè)字符是數(shù)字n(0≤n≤9),表示后一個(gè)字符重復(fù)n+1 次,不論后一個(gè)字符是否為數(shù)字;若下一個(gè)字符非數(shù)字,則表示自己。
2.翻譯后,以3 個(gè)字符為一組輸出,組與組之間用空格分開(kāi)。
例如’A2B5E34FG0ZYWPQ59R@’,翻成’ABB_BEE_EEE_E44_44F_GZY_WPQ_999_999_R@ ’。
3.分析:首先直接遍歷數(shù)組把字符串按要求進(jìn)行翻譯,然后將翻譯后的字符串進(jìn)行分組形成字符串?dāng)?shù)組,最后把字符串?dāng)?shù)組用下劃線連接輸出。
java翻譯源代碼:
import java.util.Scanner;
public class Main5{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s = in.nextLine();
int length = s.length();
String result = "";
char[] str = new char[length]
for (int i = 0; i length; i++) {
str[i] = s.charAt(i);
}
result += str[0];
if (str[length - 1] != '@') {
System.out.println("輸入有誤!");
} else {
for (int index = 0; index length - 1;) {
if ('0' == str[index + 1] || '1' == str[index + 1] || '2' == str[index + 1] || '3' == str[index + 1]
|| '4' == str[index + 1] || '5' == str[index + 1] || '6' == str[index + 1]
|| '7' == str[index + 1] || '8' == str[index + 1] || '9' == str[index + 1]) {
for (int i = 0; i ((Integer.parseInt(str[index + 1]+"")) + 1); i++) {
result += str[index + 2];
}
index += 2;
} else {
result += str[index + 1];
index++;
}
}
}
System.out.println(getGroup(result));
}
//每3個(gè)分一組
public static String getGroup(String s){
String[] r;
if(s.length()%3 == 0){
r = new String[s.length()/3];
}else{
r = new String[s.length()/3+1];
}
String result = "";
int j = 0;
for(int i=0;is.length();){
if(i+3 = s.length()){
r[j]=s.substring(i, i+3);
j++;
i += 3;
}else{
r[j] = s.substring(i);
j++;
i += 3;
}
}
for(int i=0;ir.length-1;i++){
result += (r[i]+"_");
}
result += r[r.length-1];
return result;
}
}