java-c,java常量怎麼定義

本文目錄一覽:

java-version和javac-version區別

路徑不同。

1、java -version:查看的是系統安裝的java版本,和是否配置java配置環境變量無關,找的路徑是path中C:\WINDOWS\system32\java.exe。(即使配置過java環境變量,這個path在環境變量之前的話還是運行的是這個)。

2、javac -version:查看的配置環境變量後的java版本,找的路徑是path中C:\Program Files\Java\jdk1.6.0_45\bin\javac.exe。

javac和java 有什麼區別和聯繫?

javac和java命令行中的-classpath選項

這是個很基礎的問題,但是因為基本上都是用現有的IDE工具 來開發java程序,所以很少有人意識到這一點。

javac

-classpath,設定要搜索類的路徑,可以是目錄,jar文件,zip文件(裡面都是class文件),會覆蓋掉所有在CLASSPATH裡面的設定。

-sourcepath, 設定要搜索編譯所需java 文件的路徑,可以是目錄,jar文件,zip文件(裡面都是java文件)。

所以一個完整的javac命令行應該是這樣的,

假設abc.java在路徑c:\src裡面,在任何的目錄的都可以執行以下命令來編譯。

javac -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip -sourcepath c:\source\project1\src;c:\source\project2 \lib\src.jar;c:\source\project3\lib\src.zip c:\src\abc.java

表示編譯需要c:\classed下面的class文件,c:\jar\abc.jar裡面的class文件,c:\zip\abc.zip裡面的class文件

還需要c:\source\project1\src下面的源文件,c:\source\project2 \lib\src.jar裡面的源文件,c:\source\project3\lib\src.zip裡面的源文件,

注意:jar,zip裡面的源文件不會有什麼改動,目錄下的源文件,有可能會被重新編譯。

java

-classpath, 設定要搜索的類的路徑,可以是目錄,jar文件,zip文件(裡面都是class文件),會覆蓋掉所有的CLASSPATH的設定。

由於所要執行的類也是要搜索的類的一部分,所以一定要把這個類的路徑也放到-classpath的設置裡面。

表現在,在要執行的類的路徑裡面執行java時,一定要添加上點號(.)標示本目錄也要搜索。

假設abc.class在路徑c:\src裡面

可以在任何路徑下執行以下命令

java -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;c:\src abc

問題:如果main.class屬於c:\jar\abc.jar,並且在com.cnblogs.jeffchen這個包里,那麼執行java -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;com.cnblogs.jeffchen.main即可, 但是如果classpath中包含多個jar包呢?並且其他jar包中也有com.cnblogs.jeffchen會發生什麼情況?錯誤?

在windows下,

文件路徑的分割符為反斜杠 \

類或者java文件列表的分割符為分號 ;

在linux下

文件路徑的分隔符位斜杠 /

類或者java文件列表的分隔符為冒號 :

一個linux下編譯和運行的例子

/usr/local/java/bin/javac -classpath /tmp/javatest/lib/mail-1.3.3.jar -d /tmp/javatest/bin/ /tmp/javatest/src/jp/co/realseed/Capability.java

/usr/local/java/bin/java -classpath /tmp/javatest/lib/mail-1.3.3.jar:/tmp/javatest/bin/ jp.co.realseed.Capability

javac不是內部或外部命令,也不是可運行的程序或批處理文件

如果你只需要使用javac命令不需要如此複雜的!!

你先把你自己新建的JAVA_HOME、CLASSPATH這兩個變量和PATH變量中的JAVA_HOME%\bin;%JAVA_HOME%\jre\bin刪了,

然後只要在Path變量的頭部添加如下路徑:

C:\Program Files\Java\jdk1.5.0\bin;就可以了。(不需要在添加別的了)

原因很簡單:你可以按照這個路徑去看看有沒有一個叫javac.exe的東東在bin文件夾中,環境變量Path的作用通俗點講就是用來告訴你的電腦如何去找到這個可執行文件並執行它。

如果你是初學者的話配不配置CLASSPATH環境變量都可以的,因為CLASSPATH變量是用來設定“類路徑”的(其實這種方式是sun不推薦的)。設置CLASSPATH變量的目的講白了其實是為了把別人寫好的類庫挪過來好將來自己用。

希望對你有幫助哈,呵呵

javac不能運行是怎麼回事?

Classpath=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

這個地方最後面 你沒有寫分號 正確的為:

Classpath=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

不寫分號容易出 什麼找不到main的錯誤

如果javac不是內部命令,恭喜你,重新安裝JDK 並且重新配置環境變量吧。我以前也遇到過一次。不信你去JDK路徑看看 根本沒有javac.exe這個東西

javac 是java語言編程編譯器。全稱java compiler。javac工具讀由java語言編寫的類和接口的定義,並將它們編譯成字節代碼的class文件。javac 可以隱式編譯一些沒有在命令行中提及的源文件。用 -verbose 選項可跟蹤自動編譯。當編譯源文件時,編譯器常常需要它還沒有識別出的類型的有關信息。對於源文件中使用、擴展或實現的每個類或接口,編譯器都需要其類型信息。這包括在源文件中沒有明確提及、但通過繼承提供信息的類和接口。

請詳細寫出Javac和Java兩個命令的使用方式

javaac和java兩個命令的使用詳解:

一、javac命令

javac 用於編譯Java文件,格式為:

java [options] [sourcefiles] [@files]

其中:

options:命令行選項;

sourcefiles:一個或多個要編譯的源文件;

@files:一個或多個對源文件進行列表的文件,有時候要編譯的文件很多,一個個敲命令會顯得很長,也不方便修改,可以把要編譯的源文件列在文件中,在文件名前加@,這樣就可以對多個文件進行編譯,對編譯一個工程很有用,方便,省事。

有幾個比較重要的選項:

-d 用於指定編譯成的class文件的存放位置,缺省情況下不指定class文件的存放目錄,編譯的class文件將和源文件在同一目錄下;

-classpath 可以簡寫成-cp,用於搜索編譯所需的class文件,指出編譯所用到的class文件的位置,如jar、zip或者其他包含class文件的目錄,指定該選項會覆蓋CLASSPATH的設定;

-sourcepath用於搜索編譯所需的源文件(即java文件),指定要搜索的源文件的位置,如jar、zip或其他包含java文件的目錄;

需要注意windows下和linux下文件路徑分隔符和文件列表(即-classpath和-sourcepath指定的文件)分隔符的區別:

windows下文件路徑分隔符用 \ ,文件列表分隔符用分號 ;

linux下文件路徑分隔符用 / ,文件列表分隔符用冒號 :

二、java命令

java 用於執行程序,格式如下:

java [options] classfile

options:命令行選項,一般用於 -classpath 指定要執行的文件所在的位置以及需要用到的類路徑,包括jar、zip和class文件目錄,會覆蓋CLASSPATH的設定

三、腳本

如果要敲的命令很長,每次要編譯運行的時候都要重新敲一遍,這是一件很痛苦的事情,所以用腳本可以大大方便你的工作量。在linux下用shell腳本,windows下用bat批處理程序。因為是在linux下,我這裡只是簡單介紹一下shell,關於bat批處理程序的語法自己百度一下,不難。

1. 開頭

linux有很多不同的shell,通常使用bash(bourne again shell),程序必須以下面的行開始:

#!/bin/sh

#!用來告訴系統用後面的參數來執行程序,這裡使用的是/bin/sh

要使你的腳本能夠執行,還必須讓這個文件有可執行權限,使用下面命令更改文件權限:

chmod +x filename

2. 注釋

以#開始的句子表示注釋,一直到這行結束,多寫注釋有利於以後重新看的時候知道自己在做什麼

javac是什麼?

javac是Java編譯器,負責將Java源代碼轉換成字節碼文件。

javac 可以隱式編譯一些沒有在命令行中提及的源文件。用 -verbose 選項可跟蹤自動編譯。當編譯源文件時,編譯器常常需要它還沒有識別出的類型的有關信息。

javac的特點

javac具有簡單性、面向對象、分布性、解釋性、可靠、安全、平台無關、可移植性、高性能、多線程、動態性等特點。提供了異常處理機制,程序員可以把錯誤代碼放在一起,這樣可以簡化錯誤處理任務,便於恢復。不支持指針,杜絕了內存的非法訪問。

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
AORHW的頭像AORHW
上一篇 2025-01-14 18:55
下一篇 2025-01-14 18:55

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29

發表回復

登錄後才能評論