如果你看不懂,那是因?yàn)槟氵€得到編程的思維方式。
成都創(chuàng)新互聯(lián)是專業(yè)的錯(cuò)那網(wǎng)站建設(shè)公司,錯(cuò)那接單;提供成都做網(wǎng)站、網(wǎng)站制作,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行錯(cuò)那網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
初學(xué)java,你可以不要關(guān)注這些代碼是什么含義,那些大多是實(shí)例,想表達(dá)的無非是如何定義屬性,什么是方法等等。同樣,在你看不懂那些代碼的時(shí)候,不要著急,抓住要點(diǎn),繼續(xù)往下看,堅(jiān)持到看完。如果到最后還沒有懂,那就再看一遍,每一遍你都會有新收獲。
PS:我推薦你看 think in java 這本書,可以弄本實(shí)體書,絕對經(jīng)典。我工作三四年了,每次重看這本書都會有不同的感悟。
網(wǎng)上的視頻講究速成,可以作為《think in java》的輔助。還是要以書本為主??磿龅讲欢牡胤?,就看看視頻,如果還沒搞懂就先放過,繼續(xù)往下學(xué)。
用的IDE是Eclipse么?建議用加斷點(diǎn)自己跟蹤調(diào)試,看看循環(huán)里的每一步都干了些什么,如下圖:
你的第一段代碼:
public?static?void?main(String?args[])?{
int?layer?=?4;
for?(int?i?=?1;?i?=?layer;?i++)?{
for?(int?k?=?1;?k?=?layer?-?i;?k++)?{
System.out.print("?");
}
for?(int?j?=?1;?j?=?(i?-?1)?*?2?+?1;?j++)?{
System.out.print("*");
}
System.out.println();
}
int?layer1?=?3;
for?(int?i?=?1;?i?=?layer1;?i++)?{
for?(int?k?=?1;?k?=?(layer1?-?i)?+?1;?k++)?{
System.out.print("?");
}
//這里j++,j會越來越大,死循環(huán)了
for?(int?j?=?5;?j?=?(i?+?1)?*?2?+?1;?j++)?{
System.out.print("*");
}
System.out.println();
}
}
}
第二段代碼:
public?class?Hello{
public?static?void?main(String?args[])?{
int?i1,?j1;
for?(i1?=?1;?i1?=?7;?i1++)?{
for?(j1?=?1;?j1?=?7;?j1++)?{
//循環(huán)體空,不知道你想干什么
}
if?(j1?+?i1?==?5?||?j1?-?i1?==?3?||?i1?-?j1?==?3?||?i1?+?j1?==?11)?{
System.out.print("*");
}?
else?{
System.out.print("");
}
}
System.out.println();
}
}
第三段代碼:
import?java.util.Scanner;
public?class?Hello{
private?int?maxNum;
public?Hello(int?maxNum)?{
this.maxNum?=?maxNum;
}
public?void?print()?{
//第一層for循環(huán),打印maxNum行
for?(int?i?=?1;?i?=?maxNum;?i++)?{
//第二層for循環(huán),每次執(zhí)行i次
for?(int?j?=?1;?j?=?i;?j++)?{
System.out.print(j);
System.out.print("*");
System.out.print(i);
System.out.print("=");
System.out.print(i?*?j);
System.out.print("\t");
}
System.out.println();
}
}
public?static?void?main(String[]?args)?{
System.out.print("錄入一個(gè)整數(shù):");
Scanner?input?=?new?Scanner(System.in);
//?沒有考慮判斷輸入的是否是整數(shù)。
int?maxNum?=?input.nextInt();
new?Hello(maxNum).print();
}
}
在網(wǎng)上搜搜Eclipse怎么斷點(diǎn)調(diào)試,你就可以看到每次循環(huán)都干了什么,一一給你解釋太麻煩了。
看代碼前需要先了解那塊代碼是做什么的,這樣才能跟得上代碼邏輯。如果知道代碼功能,還是不懂的話,那么看代碼行數(shù)。
1、低于20行的代碼看不懂,你需要鞏固java基礎(chǔ)
2、超過20行的話,需要仔細(xì)理解代碼意圖,另外需要了解更多的java API以及開源代碼
一般看別人的代碼是很痛苦的,java高手也有看不懂的時(shí)候,譬如代碼本身就寫的爛,邏輯不明確。
Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強(qiáng)大和簡單易用兩個(gè)特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。