本文目錄一覽:
- 1、菜鳥學習java,求大神解釋下面的代碼各段是什麼意思,盡量詳細,謝謝
- 2、Java編程學習中從菜鳥開始應該掌握的知識點都哪些?
- 3、我是JAVA菜鳥,剛學,希望幫忙下
- 4、java 菜鳥初學者之super疑惑
- 5、Java菜鳥學習編寫第一個java程序HelloWorld
- 6、菜鳥:剛學java,堆區,棧區,靜態區,代碼區,暈了!!!!!
菜鳥學習java,求大神解釋下面的代碼各段是什麼意思,盡量詳細,謝謝
Zip.java
import java.io.*;
import java.util.zip.*;
public class Zip {
static final int BUFFER = 2048; // 定義緩衝區大小
public static void main (Stringargv[]) {
try {
BufferedInputStream origin= null; // 創建帶有緩衝區的inputstrream
FileOutputStream dest = new
FileOutputStream(“c:\\zip\\myfigs.zip”); // 創建文件輸出流,並打開zip文件 CheckedOutputStream checksum = new
CheckedOutputStream(dest,new Adler32()); // 創建過濾流,並驗證數據的完整性
ZipOutputStream out = new
ZipOutputStream(new
BufferedOutputStream(checksum)); // 創建壓縮文件輸出流,並傳入參數
//out.setMethod(ZipOutputStream.DEFLATED);
byte data[] = newbyte[BUFFER]; // 創建位元組數組
// get a list of files fromcurrent directory
File f = newFile(“.”); // 創建File變數讀取根目錄用於文件的讀寫
String files[] = f.list(); // 讀取f文件夾下所有的文件名
for (int i=0; i files.length; i++) { // 根據文件名的數量進行循環
System.out.println(“Adding: “+files[i]); // 列印出添加的文件名到控制台
FileInputStream fi = new
FileInputStream(files[i]); // 創建文件讀取流,讀取當前循環到的文件
origin = new
BufferedInputStream(fi, BUFFER); // 把文件流放入帶有緩衝區的inputstream,並指定緩衝區大小
ZipEntry entry = newZipEntry(files[i]); // 創建zip壓縮入口實例化,放入當前循環到的文件
out.putNextEntry(entry); // 輸出流中放入壓縮的文件
int count;
while((count =origin.read(data, 0,
BUFFER)) != -1) {// 當count值等於緩衝區讀取的數據位元組大小,且不等於-1
out.write(data, 0,count); // 輸出流寫入count位元組大小的數據
}
origin.close();// 關閉帶有緩衝區的inputstream
}
out.close(); // 關閉輸出流
System.out.println(“checksum:
“+checksum.getChecksum().getValue()); // 列印驗證壓縮文件的值到控制台
} catch(Exception e) { // 捕捉異常
e.printStackTrace(); // 列印異常信息
}
}
}
Java編程學習中從菜鳥開始應該掌握的知識點都哪些?
建議你先了解JAVA的面向對象思想.
剛剛開始學習的時候千萬別用什麼集成開發環境,比如說eclipse那樣的的開發工具,直接用記事本或者是EditPlus或者是UltraEdit32等文本編輯器.那樣你學習起來更快.自己學著怎麼搭建開發環境.
如果是出學者的話建議你買本張孝祥的JAVA就業培訓教程,講得很清楚,注意學習集合類,IO等方面的知識,如果你要向J2ME方向發展的話就要學習SWING等方面的知識.
JAVA核心技術和JAVA編程思想都不太適合初級學者,因為我就是一個學法律轉型學計算機的.在剛剛開始接觸JAVA的時候我買了這兩本書,根本看不懂是個什麼意思.等到現在回頭再看,真是受益非淺.
如果是要視頻方面的知識的話建議你看馬士兵的,因為張孝祥的基礎視頻講得有點羅嗦.
祝你學習愉快!
我是JAVA菜鳥,剛學,希望幫忙下
1. 在Java程序中,通過類的定義只能實現_____單_____重繼承,但通過介面的定義可以實現____多_____重繼承關係。
2. Java中類成員的限定詞有:_public,private,defult,Protected ____。其中,____public_______的限的範圍最大。
3. JAVA 中的循環控制語句有___for______,__do-while____,___while____三種基本形式。
4. 在閏年的判斷中滿足 ( a ) 能被4整除,但不能被100整除;( b )能被4整除,又能被100整除,試用一個表達式表達:___(a)_if year%4==0 and year%100!=0____(b) if year%4==0 and year%100==0_______。
5. do-while 循環的基本條件結構:
[初始化部分]
do
{
循環體;
[ __循環條件____ ]
} while ( __終止條件_____ );
java 菜鳥初學者之super疑惑
1,java中的每個類構造的時候都會調用父類的無參構造
2,如果該父類沒有無參構造,就必須在第一行用super(…)來調用父類的某個構造
3,這只是調用一個方法,並不構造一個對象
Java菜鳥學習編寫第一個java程序HelloWorld
不管學哪門語言,第一個HelloWorld程序成功運行起來的時候,代表著你的學習已經跨進了一小步。做這個java實驗之前,讀者最少要在自己的電腦上安裝好JDK(包括配置好環境變數),如果讀者還不會安裝JDK和配置環境變數可以看作者的另一遍經驗。
編寫並保存代碼。打開記事本編寫如圖1所示代碼,圖1代碼為(注意輸入代碼時輸入法一定切換到英文輸入狀態下):
public class HelloWorld {
/**
* 輸出一行字元串「Hello World!」
* @param args
*/
public static void main(String[] args) {
System.out.println(“Hello World!”);
}
}
在D盤建立一個JAVA文件夾用於保存代碼,保存的時候一定要注意,如圖2所示,「保存類型(T)」要選擇「所有文件(*.*)」,「文件名(N)」一定要為 HelloWorld.java 。如圖3所示,保存後到D:JAVA下檢查下文件名是否正確,HelloWorld.java.txt,HelloWorld.txt都是錯誤的文件名。JAVA程序代碼後綴為.java,文件名常常要求保持和類名一致。JAVA語言是嚴格區分大小寫字母的,但是Windows的文件名卻不區分大小寫。
啟動命令提示符並進入到D:JAVA文件夾。如圖1所示,按下WIN+R鍵啟動運行命令框,輸入cmd命令後回車,就可以啟動命令提示符窗口。然後在命令提示符窗口中輸入下面命令進入D:JAVA目錄:
D: 回車
cd JAVA 回車
調用編譯指令javac把HelloWorld.java轉換為位元組碼文件HelloWorld.class 。如下圖所示,執行指令:
javac HelloWorld.java 回車
執行指令如果沒提示什麼信息就是最好的信息,這時檢查JAVA文件夾就會發現多了一個.class文件,這就是位元組碼文件了。如果提示錯誤信息就要回過頭檢查了。首先檢查JDK環境變數是否配置好,然後檢查類名和文件名是否一致,再檢查代碼是否有用正文輸入法輸入等等。
運行程序。代碼轉換為.class 文件後就可以在JVM虛擬機下運行了。在命令提示符敲入命令:
java HelloWorld 回車
如圖所示,回車後列印輸出:
HelloWorld!
注意,這時實際上是運行HelloWorld.class,但是命令中並不用加後綴名。
分析第三步的偽編譯原理。如圖所示,.java後綴的是源代碼,一個或者多個源代碼要經過java編譯器生產.class後綴的位元組碼。位元組碼是和平台無關的,和C語言編譯生成平台相關的機器碼是不一樣的。機器碼可以只能在對應的平台執行,位元組碼執行是平台無關的但是必須有解釋器。
分析第四部JAVA程序的執行過程。圖為.class文件被讀取後進行解釋為平台相關機器碼執行的過程。和編譯型語言(比如C)程序最大的不同是JAVA程序經過解釋器轉換為和平台相關的機器碼才可執行,可見這個過程在執行過程中動態解釋,而編譯型語言(比如C)是在執行之前就編譯成了和平台相關的機器碼了。這也是JAVA語言可以「一次(偽)編譯,到處運行」的重要原因。
菜鳥:剛學java,堆區,棧區,靜態區,代碼區,暈了!!!!!
程序運行時,我們最好對數據保存到什麼地方做到心中有數。特別要注意的是內在的分配,有六個地方都可以保存數據:
1、 寄存器。這是最快的保存區域,因為它位於和其他所有保存方式不同的地方:處理器內部。然而,寄存器的數量十分有限,所以寄存器是根據需要由編譯器分配。我們對此沒有直接的控制權,也不可能在自己的程序里找到寄存器存在的任何蹤跡。
2、 堆棧。駐留於常規RAM(隨機訪問存儲器)區域。但可通過它的「堆棧指針」獲得處理的直接支持。堆棧指針若向下移,會創建新的內存;若向上移,則會釋放那些內存。這是一種特別快、特別有效的數據保存方式,僅次於寄存器。創建程序時,java編譯器必須準確地知道堆棧內保存的所有數據的「長度」以及「存在時間」。這是由於它必須生成相應的代碼,以便向上和向下移動指針。這一限制無疑影響了程序的靈活性,所以儘管有些java數據要保存在堆棧里——特別是對象句柄,但java對象並不放到其中。
3、 堆。一種常規用途的內存池(也在RAM區域),其中保存了java對象。和堆棧不同:「內存堆」或「堆」最吸引人的地方在於編譯器不必知道要從堆里分配多少存儲空間,也不必知道存儲的數據要在堆里停留多長的時間。因此,用堆保存數據時會得到更大的靈活性。要求創建一個對象時,只需用new命令編製相碰的代碼即可。執行這些代碼時,會在堆里自動進行數據的保存。當然,為達到這種靈活性,必然會付出一定的代價:在堆里分配存儲空間時會花掉更長的時間
4、 靜態存儲。這兒的「靜態」是指「位於固定位置」。程序運行期間,靜態存儲的數據將隨時等候調用。可用static關鍵字指出一個對象的特定元素是靜態的。但java對象本身永遠都不會置入靜態存儲空間。
5、 常數存儲。常數值通常直接置於程序代碼內部。這樣做是安全的。因為它們永遠都不會改變,有的常數需要嚴格地保護,所以可考慮將它們置入只讀存儲器(ROM)。
6、 非RAM存儲。若數據完全獨立於一個程序之外,則程序不運行時仍可存在,並在程序的控制範圍之外。其中兩個最主要的例子便是「流式對象」和「固定對象」。對於流式對象,對象會變成位元組流,通常會發給另一台機器,而對於固定對象,對象保存在磁碟中。即使程序中止運行,它們仍可保持自己的狀態不變。對於這些類型的數據存儲,一個特別有用的技藝就是它們能存在於其他媒體中,一旦需要,甚至能將它們恢復成普通的、基於RAM的對象。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/191020.html