用命令32313133353236313431303231363533e58685e5aeb931333337613139提示符編譯java程序的步驟:
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了嘉定免費建站歡迎大家使用!
1.先新建文本文檔,輸入自己的java程序。
這里我寫一個簡單的java程序,來做示范。
import java.util.*;
public class HelloDate{
public static void main(String[] args)
{
System.out.println("Hello,it's:");
System.out.println(new Date());
}
}
2.然后另存為一個java文件。
1.選擇文件---另存為---名稱為“HelloDate.java”-----選擇“所有文件”。
2.記住自己這個文件的存儲位置。(方便調(diào)用!)
3.打開程序----附件---命令提示符。
4.由于我的那個java文本保存在了F:/java/(在F盤下的java文件夾里)下,所以如果要想編譯,就需要先通過命令提示符進入java這個文件夾,具體步驟如下:
1.進入F盤:輸入【F:】,然后按下回車鍵【Enter】
2.輸入【cd java】,按下回車鍵【Enter】
這樣就已經(jīng)進入了。這里的cd的意思就是進入的意思。
5.緊接著調(diào)用java編譯器進行編譯。
輸入【javac HelloDate。java】,然后按下回車鍵【Enter】
然后運行結(jié)果。
輸入【java HelloDate】,按下回車鍵【Enter】
經(jīng)驗總結(jié):運行一個java程序的大概的流程是:
書寫源代碼------編譯-------運行----結(jié)束。
注意事項:
1.在輸入的時候一定要注意區(qū)分大小寫。
2.操作之前要保證自己的電腦配置了java的運行環(huán)境。
方法步驟如下:
1. 打開Visual Studio,建立任意工程。比如建立的是C# Class Library工程。
2. 把工程文件自動生成的Class1.cs等文件刪掉。
3. 向工程文件中增加一個文本文件,命名為Application.java
4. 雙擊Application.java文件編輯java源代碼:
5. 在工程文件中增加一個文本文件,命名為:Compile.bat
6. Tools - External Tools...
7. 增加一個entity如下,命名為 Javac
其中,Commands參數(shù)指向創(chuàng)建的那個.bat文件
8. 下面,將Compile.bat和Application.java這兩個文件編寫完整:
Application.java
[java] view plain copy print?
import java.io.*;
class Application
{
public static void main(String args[]) throws IOException
{
String message = "Hello Java!";
System.out.println(message);
System.in.read();
}
}
Compile.bat
[plain] view plain copy print?
del Output /S /Q
mkdir Output
javac *.java -d Output
cd Output
start java Application
9. 執(zhí)行:Tools - Javac
即可看到執(zhí)行結(jié)果:
在一般的Java應(yīng)用開發(fā)過程中,開發(fā)人員使用Java的方式比較簡單。打開慣用的IDE,編寫Java源代碼,再利用IDE提供的功能直接運行Java 程序就可以了。這種開發(fā)模式背后的過程是:開發(fā)人員編寫的是Java源代碼文件(.java),IDE會負責調(diào)用Java的編譯器把Java源代碼編譯成平臺無關(guān)的字節(jié)代碼(byte code),以類文件的形式保存在磁盤上(.class)。Java虛擬機(JVM)會負責把Java字節(jié)代碼加載并執(zhí)行。Java通過這種方式來實現(xiàn)其“編寫一次,到處運行(Write once, run anywhere)” 的目標。Java類文件中包含的字節(jié)代碼可以被不同平臺上的JVM所使用。Java字節(jié)代碼不僅可以以文件形式存在于磁盤上,也可以通過網(wǎng)絡(luò)方式來下載,還可以只存在于內(nèi)存中。JVM中的類加載器會負責從包含字節(jié)代碼的字節(jié)數(shù)組(byte[])中定義出Java類。在某些情況下,可能會需要動態(tài)的生成 Java字節(jié)代碼,或是對已有的Java字節(jié)代碼進行修改。這個時候就需要用到本文中將要介紹的相關(guān)技術(shù)。首先介紹一下如何動態(tài)編譯Java源文件。
動態(tài)編譯Java源文件
在一般情況下,開發(fā)人員都是在程序運行之前就編寫完成了全部的Java源代碼并且成功編譯。對有些應(yīng)用來說,Java源代碼的內(nèi)容在運行時刻才能確定。這個時候就需要動態(tài)編譯源代碼來生成Java字節(jié)代碼,再由JVM來加載執(zhí)行。典型的場景是很多算法競賽的在線評測系統(tǒng)(如PKU JudgeOnline),允許用戶上傳Java代碼,由系統(tǒng)在后臺編譯、運行并進行判定。在動態(tài)編譯Java源文件時,使用的做法是直接在程序中調(diào)用Java編譯器。
JSR 199引入了Java編譯器API。如果使用JDK 6的話,可以通過此API來動態(tài)編譯Java代碼。比如下面的代碼用來動態(tài)編譯最簡單的Hello World類。該Java類的代碼是保存在一個字符串中的。
01 public class CompilerTest {
02 public static void main(String[] args) throws Exception {
03 String source = "public class Main { public static void main(String[] args) {System.out.println(\"Hello World!\");} }";
04 JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
05 StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
06 StringSourceJavaObject sourceObject = newCompilerTest.StringSourceJavaObject("Main", source);
07 Iterable extends JavaFileObject fileObjects = Arrays.asList(sourceObject);
08 CompilationTask task = compiler.getTask(null, fileManager, null,null, null, fileObjects);
09 boolean result = task.call();
10 if (result) {
11 System.out.println("編譯成功。");
12 }
13 }
14
15 static class StringSourceJavaObject extends SimpleJavaFileObject {
16
17 private String content = null;
18 public StringSourceJavaObject(String name, String content) ??throwsURISyntaxException {
19 super(URI.create("string:///" + name.replace('.','/') + Kind.SOURCE.extension), Kind.SOURCE);
20 this.content = content;
21 }
22
23 public CharSequence getCharContent(boolean ignoreEncodingErrors) ??throws IOException {
24 return content;
25 }
26 }
27 }
如果不能使用JDK 6提供的Java編譯器API的話,可以使用JDK中的工具類com.sun.tools.javac.Main,不過該工具類只能編譯存放在磁盤上的文件,類似于直接使用javac命令。
另外一個可用的工具是Eclipse JDT Core提供的編譯器。這是Eclipse Java開發(fā)環(huán)境使用的增量式Java編譯器,支持運行和調(diào)試有錯誤的代碼。該編譯器也可以單獨使用。Play框架在內(nèi)部使用了JDT的編譯器來動態(tài)編譯Java源代碼。在開發(fā)模式下,Play框架會定期掃描項目中的Java源代碼文件,一旦發(fā)現(xiàn)有修改,會自動編譯 Java源代碼。因此在修改代碼之后,刷新頁面就可以看到變化。使用這些動態(tài)編譯的方式的時候,需要確保JDK中的tools.jar在應(yīng)用的 CLASSPATH中。
下面介紹一個例子,是關(guān)于如何在Java里面做四則運算,比如求出來(3+4)*7-10的值。一般的做法是分析輸入的運算表達式,自己來模擬計算過程。考慮到括號的存在和運算符的優(yōu)先級等問題,這樣的計算過程會比較復(fù)雜,而且容易出錯。另外一種做法是可以用JSR 223引入的腳本語言支持,直接把輸入的表達式當做JavaScript或是JavaFX腳本來執(zhí)行,得到結(jié)果。下面的代碼使用的做法是動態(tài)生成Java源代碼并編譯,接著加載Java類來執(zhí)行并獲取結(jié)果。這種做法完全使用Java來實現(xiàn)。
01 private static double calculate(String expr) throws CalculationException {
02 String className = "CalculatorMain";
03 String methodName = "calculate";
04 String source = "public class " + className
05 + " { public static double " + methodName + "() { return " + expr +"; } }";
06 //省略動態(tài)編譯Java源代碼的相關(guān)代碼,參見上一節(jié)
07 boolean result = task.call();
08 if (result) {
09 ClassLoader loader = Calculator.class.getClassLoader();
10 try {
11 Class? clazz = loader.loadClass(className);
12 Method method = clazz.getMethod(methodName, new Class?[] {});
13 Object value = method.invoke(null, new Object[] {});
14 return (Double) value;
15 } catch (Exception e) {
16 throw new CalculationException("內(nèi)部錯誤。");
17 }
18 } else {
19 throw new CalculationException("錯誤的表達式。");
20 }
21 }
上面的代碼給出了使用動態(tài)生成的Java字節(jié)代碼的基本模式,即通過類加載器來加載字節(jié)代碼,創(chuàng)建Java類的對象的實例,再通過Java反射API來調(diào)用對象中的方法。
Java字節(jié)代碼增強
Java 字節(jié)代碼增強指的是在Java字節(jié)代碼生成之后,對其進行修改,增強其功能。這種做法相當于對應(yīng)用程序的二進制文件進行修改。在很多Java框架中都可以見到這種實現(xiàn)方式。Java字節(jié)代碼增強通常與Java源文件中的注解(annotation)一塊使用。注解在Java源代碼中聲明了需要增強的行為及相關(guān)的元數(shù)據(jù),由框架在運行時刻完成對字節(jié)代碼的增強。Java字節(jié)代碼增強應(yīng)用的場景比較多,一般都集中在減少冗余代碼和對開發(fā)人員屏蔽底層的實現(xiàn)細節(jié)上。用過JavaBeans的人可能對其中那些必須添加的getter/setter方法感到很繁瑣,并且難以維護。而通過字節(jié)代碼增強,開發(fā)人員只需要聲明Bean中的屬性即可,getter/setter方法可以通過修改字節(jié)代碼來自動添加。用過JPA的人,在調(diào)試程序的時候,會發(fā)現(xiàn)實體類中被添加了一些額外的 域和方法。這些域和方法是在運行時刻由JPA的實現(xiàn)動態(tài)添加的。字節(jié)代碼增強在面向方面編程(AOP)的一些實現(xiàn)中也有使用。
答案如下:
1 、javac 選 A
2、 int 選 D int 為關(guān)鍵字
3、 4 選 B
4、 15 選C
5 、界面類型 選D
6 、age[0] 選B
7、 class 選A
8 、java B
9、 abstract 選B
10 、false 選D
1、 錯,區(qū)分大小寫
2、 對
3 、錯,可以有多個
4 、錯 ,private 不可以被繼承 public可以繼承
5、 錯,private 不能繼承
6 、錯,java中可以重載函數(shù)
Java是一種可以撰寫跨平臺應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計語言。Java技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于PC、數(shù)據(jù)中心、游戲控制臺、科學超級計算機、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。
Java的主要工作是通過編程語言來制作互聯(lián)網(wǎng)頁面、制作動態(tài)效果以及網(wǎng)站等技術(shù),現(xiàn)在網(wǎng)上關(guān)于這方面的教程有很多,但很多都是過時的,因為互聯(lián)網(wǎng)是在不斷的變化的,互聯(lián)網(wǎng)上的牛人,要想成為Java大神,走進這條Java大神之群,首先Java教程的開頭是二三一,Java的最中間是三一四,Java的最后面再加上零二八,把前面的綜合起來,Java大神期待你的加入。這里有很多互聯(lián)網(wǎng)大牛教你學習,還有免費的課程。不是想學習的就不要加了。
Java 編程語言的風格十分接近C、C++語言。Java是一個純的面向?qū)ο蟮某绦蛟O(shè)計語言,它繼承了C++ 語言面向?qū)ο蠹夹g(shù)的核心,Java舍棄了C ++語言中容易引起錯誤的指針(以引用取代)、運算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔憂。在 Java SE 1.5 版本中,Java 又引入了泛型編程(Generic Programming)、類型安全的枚舉、不定長參數(shù)和自動裝/拆箱等語言特性。
Java 不同于一般的編譯執(zhí)行計算機語言和解釋執(zhí)行計算機語言。它首先將源代碼編譯成二進制字節(jié)碼(bytecode),然后依賴各種不同平臺上的虛擬機來解釋執(zhí)行字節(jié)碼,從而實現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺特性。不過,每次的編譯執(zhí)行需要消耗一定的時間,這同時也在一定程度上降低了 Java 程序的運行效率。但在J2SE1.4.2 發(fā)布后,Java 的執(zhí)行速度有了大幅提升。
本文介紹如何用cmd編譯java程序。
材料/工具
記事本
方法
1、首先,在記事本上編寫java代碼。并將后綴名.txt改為.java 。(本文以HelloWorld為例。)如圖
2、按住window鍵和R--輸入cmd
3、在出現(xiàn)的窗體中,輸入java源碼所在的路徑(我的源碼是在D盤下的)
4、然后開始執(zhí)行編譯: javac java源文件名.java? (javac HelloWorld.java)(javac后面有一個空格)
5、編譯之后,我們可以在java源文件所在位置看到編譯后出現(xiàn)的.class文件
6、執(zhí)行編譯后的程序:java java源文件名(javac后面有一個空格)
這樣就編譯并執(zhí)行完成了。
如果你用的是相應(yīng)的編輯器
在工具欄上有編譯
如果用的是記事本
改后綴名后吧文件保存在安裝jdk的目錄下
然后啟動命令提示符
輸入javac
xx.java
xx.java
為你的java源代碼