java考試給出了一個文件,java考試給出了一個文件是什麼

本文目錄一覽:

第一年學java,馬上考試了,老師給的重點,求大神指教!!!

1、虛擬機機制:虛擬機把描述類的數據從class文件加載到內存,並對數據進行校驗、轉換解析和初始化,最終形成可以被虛擬機直接使用的Java類型。

2、

Application程序的編寫與運行

編寫源程序 (例HelloWorld.java)

class HelloWorld {

public static void main(String[] args) {

System.out.println(“Hello World!”);

}

}

註:保存的時候文件名要和類名一致,包括大小寫

編譯源程序

首先在附件 –》命令提示符下,進入該文件的根目錄(例如)輸入“e:”在DOS 下進入E盤

用javac命令編譯源文件,如:

javac HelloWorld.java

運行Java程序

p執行java命令就可運行Java程序 ,如:

java HelloWorld

(2)Applet程序的編寫與運行

編寫源程序 (例MyFirstApplet.java)

import java.applet.*;

import java.awt.*;

public class MyFirstApplet extends Applet

{

public void paint(Graphics g)

{

g.drawString(“Hello! java world!”,2,20);

}

}

編譯源程序

p 建立MyFirstApplet.html,將MyFirstApplet.class字節碼文件放入其中。

HTML

HEAD

TITLE MyFirstApplet program /TITLE

/HEAD

BODY

p

applet code=MyFirstApplet.class width=300 height=200

/applet

/BODY

/HTML

瀏覽MyFirstApplet.html

3、基本類型:

(1)underfined(未定義類型)

(2)null(空類型)

(3)number(數值類型)

(4)string(字符串類型)

(5)boolean(布爾類型)

4、J2SE就是Java2的標準版,主要用於桌面應用軟件的編程;

J2ME主要應用於嵌入是系統開發,如手機和PDA的編程;

J2EE是Java2的企業版,主要用於分布式的網絡程序的開發,如電子商務網站和ERP系統。

5、在Java 中,同一個類中的2個或2個以上的方法可以有同一個名字,只要它們的參數聲明不同即可。在這種情況下,該方法就被稱為重載(overloaded ),這個過程稱為方法重載(method overloading )。方法重載是Java 實現多態性的一種方式。如果你以前從來沒有使用過一種允許方法重載的語言,這個概念最初可能有點奇怪。但是你將看到,方法重載是Java 最激動人心和最有用的特性之一

6、多態通過分離做什麼和怎麼做,從另一個角度將接口和實現分離開來。多態不但能夠改善代碼的組織結構和可讀性,還能創建可擴展的程序,無論在項目最初還是添加新功能的時候都是可“生長”的程序。簡單的來說多態就是將派生類的引用賦給基類,並通過基類的引用調用派生類的方法(前提派生類重寫了基類的方法)。多態也稱動作綁定,後期綁定或運行時綁定。多態的作用是消除類型之間的耦合關係。

7、this是Javascript語言的一個關鍵字。

它代表函數運行時,自動生成的一個內部對象,只能在函數內部使用。比如,

function test(){

this.x = 1;

}

隨着函數使用場合的不同,this的值會發生變化。但是有一個總的原則,那就是this指的是,調用函數的那個對象。

如果子類中定義的成員變量和父類中成員變量同名時,子類就隱藏了從父類繼承的成員變量。當子類中定義了一個方法,並且這個方法的名字、返回類型、參數個數和類型和父類的某個方法完全相同盟時,子類從父類繼承的這個方法將被隱藏。如果在子類中想使用被隱藏的成員變量或方法就可以使用關鍵字。

8、Java中的接口是一系列方法的聲明,是一些方法特徵的集合,一個接口只有方法的特徵沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為(功能)。 接口的兩種含義:一,Java接口,語言中存在的結構,有特定的語法和結構;二,一個類所具有的方法的特徵集合,是一種邏輯上的抽象。前者叫做“Java接口”,後者叫做“接口”。

抽象類:包含了抽象方法的一個類叫作“抽象類”。如果一個類里包含了一個或多個抽象方法,類就必須指定成 abstract(抽象)。

9、數組:是一組相關變量的集合

數組是一組相關數據的集合,一個數組實際上就是一連串的變量,數組按照使用可以分為一維數組、二維數組、多維數組

數據的有點

不使用數組定義100個整形變量:int i1;int i2;int i3

使用數組定義 int i[100];

數組定義:int i[100];只是一個偽代碼,只是表示含義的

10、java裡面什麼時候可以用==和!=來比較呢?

基本類型數據可以用==和!=來比較,什麼是基本類型數據呢?

java裡面有規定:boolean char byte short int long float double void都屬於基本類型數據,基本類型的數據不需要用new來創建變量,而是創建一個並非是引用的變量,直接存儲”值“並置於堆棧中(其它的對象是存儲在堆中,堆棧比堆具有更高的存取速度),所以它們可以==和!=來直接比較大小。

如果要比較兩個非基本類型的數據是否相等,應該用什麼方法呢?

當然是equals()方法,還是上面的例子,如果改為用equals()方法來判斷就可以得到想要的結果了

Integer n1 = new Integer(100);

Integer n2 = new Integer(100);

System.out.println(n1.equals(n2));

最終輸出的結果是 true 。

雖然結果正如我們所預料的那樣,但事情總沒那麼簡單!如果你創建了一個自己的類,例如:

class Value{

int i;

}

然後再來比較這個類的兩個對象的值

Value v1 = new Value();

Value v2 = new Value();

v1.i = v2.i = 100;

System.out.println(v1.equals(v2));

最終輸出的結果是 false 。

事情再次令人費解了,靜下心來好好想想,equals()方法是怎麼來的,是時候查查JDK文檔了

JAVA中所有的類都繼承於object類,而object類中就有equals()方法,但從jdk文檔中我們可以知道,這個方法默認比較是對象的引用,而不是對象的內容。而之前Integer類的兩個對象之所以能得到正確的結果,是因為Integer 類重寫了equals()方法。

一切也就豁然開朗了,如果要比較自己創建的類的兩個對象值是否相等就得重寫equals()方法了!

11、有界面版:

/*

* Created on 2005-7-22

*

* TODO To change the template for this generated file go to

* Window – Preferences – Java – Code Style – Code Templates

*/

/**

* @author Administrator

*

* TODO To change the template for this generated type comment go to

* Window – Preferences – Java – Code Style – Code Templates

*/

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class FibonacciTest extends JApplet implements ActionListener {

JLabel numLabel, resultLabel;

JTextField num, result;

public void init()

{

Container c = getContentPane();

c.setLayout( new FlowLayout());

numLabel = new JLabel ( ” Enter integer and press Enter” );

c.add(numLabel);

num = new JTextField ( 10 );

num.addActionListener( this );

c.add( num );

resultLabel = new JLabel ( “Fibonacci Value is” );

c.add(resultLabel);

result = new JTextField ( 15 );

result.setEditable( false );

c.add ( result );

}

public void actionPerformed ( ActionEvent e )

{

long number, fibonacciValue;

number = Long.parseLong(num.getText());

showStatus( “Calculating…”);

fibonacciValue = fibonacci( number );

showStatus( “done.”);

result.setText( Long.toString(fibonacciValue));

}

public long fibonacci (long n)

{

if( n == 0 || n == 1 )

return n;

else

return fibonacci( n – 1 ) + fibonacci( n – 2 );

}

}

無界面版:class Fibonacci

{

public static void main(String[] args)

{

int i;

int f[]=new int[10];

f[0]=f[1]=1;

for (i=2;i10 ;i++ )

f[i]=f[i-1]+f[i-2];

for (i=1;i=10 ;i++ )

{

System.out.println(“F[“+i+”]=”+f[i-1]);

}

}

}12、1)異常數列處理機制:程序出現錯誤後程序如何處理,控制權交給異常處理器。(異常都是在運行中的,不是編譯時的) 異常處理流程:遇到錯誤,方法立即結束,同時拋出一個異常對象。調用該方法的程序停止,並搜索一個可以處理該異常的,並執行其中的代碼。 Error及RunTimeException及其子類為未檢測異常,及自己會跑出不需要程序員拋出;而其他為已檢測異常,需要程序員拋出。

2)線程創建:Java提供了線程類Thread來創建多線程的程序。其實,創建線程與創建普通的類的對象的操作是一樣的,而線程就是Thread類或其子類的實例對象。每個Thread對象描述了一個單獨的線程。要產生一個線程,有兩種方法:

◆需要從Java.lang.Thread類派生一個新的線程類,重載它的run()方法; ◆實現Runnalbe接口,重載Runnalbe接口中的run()方法。

3)生命周期:新建-就緒-(阻塞)-運行–死亡

其中當用new 創建完一個線程對象後,該線程處於新建狀態。

當線程對象調用了start()後,該線程處於就緒狀態

如果處於就緒狀態的線程獲得CPU時間片,開始執行run方法的線程執行體,該線程處於運行狀態

如果線程調用了sleep()或者調用了一個阻塞式IO方法等,該線程處於阻塞狀態

如果線程的run()執行完成或者拋出一個未捕獲的異常等原因,該線程處於死亡狀態

神啊,累的我寫了1個半小時。如果採納的話,請給分,選為滿意答案。

java考試給出了一個文件,放在d盤,編程讀取該文件,採用流讀取

BufferedRead br = new BufferedRead(new FileRead(new File(“d:\\文件名字”)));

String reader = null;

while(true){

reader = br.readLine();

if(null == reader){

break;

}

System.out.println(reader);

}

沒試,應該是這樣的吧,希望對你幫助

明天考試Java答辯 幫忙給程序寫個注釋。JAVA

class FileTest{//好像這是一個關於文件讀寫的程序吧

public void FileTest(){//定義一個方法

}

public static void main(String[] args) throws IOException{//主函數

BufferedReader buf;//流類的實例

buf=new BufferedReader(new InputStreamReader(System.in));//實例一個新的BufferedReader,用構造方法實例。new InputStreamReader(System.in)也就是得到一個從屏幕輸入的實例

String str;//實例化一個String對象

System.out.println(“請輸入要創建的文件名稱:”);//打印

str=buf.readLine();//將buf,也就是從屏幕得到的字符串賦值給str

File fileobj=new File(str);//用構造方法實例一個新文件對象

System.out.println(“文件目錄是否存在:”+fileobj.exists());//輸出判斷這個文件是否成功的結果

System.out.println(“路徑:”+fileobj.getPath());//輸出這個文件的路徑

System.out.println(“絕對路徑:”+fileobj.getAbsolutePath());//輸出絕對路徑

if(fileobj.exists()==true){//如果文件存在

System.out.println(“文件已存在,是否覆蓋y/n”);//輸出文件已存在。。。。。。。

String a;//實例化一個新的String對象

a=buf.readLine();//把從buf取得的值賦給a

if(a.equals(“y”)){//a的對象的哈希值等於y

FileWriter fw=new FileWriter(fileobj);//用構造方法,實例一個新文件對象

BufferedWriter bw=new BufferedWriter(fw);//開始寫文件

bw.write(“大家好!”);//寫入字符串,大家好。。。

bw.write(“我正在學習BufferedWriter”);//同上

bw.newLine();//換行

bw.write(“請多多指教!”);//寫入。。。。

bw.newLine();//換行

bw.write(“e-mail:jianfengma1989@tom.com”);//寫入、、

bw.flush();//清緩存

fw.close();//結束寫入,也就是關閉文件流

FileReader fr=new FileReader(fileobj);//構造一個FileReader

BufferedReader br=new BufferedReader(fr);//構造一個新的讀取流

String line=br.readLine();//創建一個新String對象,並且從流里讀取的一行字符串賦值給line這個對象

while(line!=null){//如果讀取的不為空,這裡的循環就繼續下去

System.out.println(line);//打印讀出來的字符串

line=br.readLine();//把讀入的行賦值給line對象

}

br.close();//關閉br對象流

fr.close();//關閉fr對象流

System.out.println(“文件覆蓋成功”);//打印文字

}

else{//否則,程序做什麼

System.out.println(“您選擇不覆蓋,程序結束”);//打印文字

}

}

else{//否則,程序做什麼

FileWriter fw=new FileWriter(fileobj);//構造一個創建文件對象

System.out.println(“文件創建成功”);//打印文字

}

}

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/185575.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-26 12:24
下一篇 2024-11-26 12:24

相關推薦

發表回復

登錄後才能評論