⑴ 請問在每個java程序中main函數的參數為什麼都是String[] args
String[] args是main函數的形式參數,,可以用來獲取命令行用戶輸入進去的參數。如果你是java的初學者,編寫一些簡單的小程序是用不到它的,但是你在寫程序的時候不管用的到用不到,聲明main函數的時候一定要在括弧里寫上它,否則會報錯。
我再給你舉個用到String[] args的例子,可能語法上有錯誤,因為我手邊沒有java的書,而且我也只是個本科生,水平有限,權當給你理解用。
class Example
{
public void main(String[] args)
{
System.out.println(args[0]);
System.out.println(args[1]);
}
}
那麼這個程序在執行的時候就需要向main函數傳遞形式參數的值,好讓main函數完成列印的功能。
註:String[] args顯示args是一個String類型的數組,args[0]、args[1]是頭兩個元素。
上面那個小程序執行的時候是這樣:
首先,和其他的java程序一樣,在命令提示符那個框框里輸入
javac Example.java
再輸入
java Example straul good
後面兩個字元串隨便寫什麼,它們作為實參傳入main函數,straul傳入args[0],good傳入args[1]。
那麼屏幕會出現:
straul
good
這和在main函數里調用其他函數並且向被調用函數傳遞參數是一樣的道理,只不過傳給main函數罷了。
⑵ java關於main的參數
這個題的用意在於main()方法的參數問題,參數是一個字元數組,String[] args ,那麼首先我們必需要回答的一個問題是這個數組中的數據從哪來?
答案是:在你運行時給它,在Dos下輸入java CommandParm 5 6 2 3^^^^^那麼這個時候args.length就是你輸入的長度;
那麼接下來還有一個問題:就是我們怎麼用他?
答案:正如你程序中的一樣用到兩個量,是args[]中的那兩個量呢?是前兩個!沒用到的數據我們怎麼知道它是不是存在呢?你可以用一個語句測試System.out.println(args.length+"個");
現在知道了你程序錯在哪了嗎?其實程序那也沒有錯,就是運行時錯誤,我想你應該知道了吧用java commandParam 1 8
最 後給你一點建議:這個題的用意是讓你了解main()的參數問題,如果你是想接受鍵盤輸入的數的話請用BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
如:
import java.io.*;//不能少
public class InputTest{
public static void main(String[] args){
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("請輸入兩個數:");
try{
int a=Integer.parseInt(br.readLine());
int b=Integer.parseInt(br.readLine());
}catch(IOException e){
System.out.println("error!");
}
System.out.println("你可以對你輸入 的數進行處理!");
}
}
⑶ java程序中程序入口方法main的參數代表命令行輸入參數,命令行參數從0開始
就是你所寫的main方法中的String[] args這個參數。
在控制台打命令時輸入的參數。例如:
>java HelloWorld.java John Smith ……
這行命令中的John就是arg[0],Smith就是arg[1],以此類推。
⑷ java main方法中的命令行參數
作用:
當你使用命令行的形式運行.class文件時,向你的類傳遞參數.
C:\>java
YourClassName
參數1
[參數2
參數3
....]
參數之間用一個空格作為間隔符.
String[] args 這個字元串數組是保存運行main函數時輸入的參數的,例如main函數所在的類名為test
那麼你在cmd運行
java
test
a b
c 時,args[0]
= a
,args[1]=b,
args[2]=c
你就可以在你的程序中調用你輸入的這些變數了。
args[]不就是那個字元串This is a simple Java program嗎?
-------完全不是的,你理解不對。這樣好了,你在運行的時候加個參數,比如 java test XX。然後在你的main函數裡面加這段話:System.out.println("arg is"+args[0]),然後看看輸出是什麼?
是不是這個:
This is a simple Java program
arg is XX
在運行時輸入java test xx yy zz,並且在你的main函數裡面加這段話:System.out.println("arg is"+args[0]+" "+args[1]+" "+args[2]),然後看看輸出是什麼?
是不是:
This is a simple Java program
arg is xx yy zz
現在你理解了嗎。。。
如果沒關系,為什麼程序中去掉String args[]會出現錯誤?
--------之所以去掉會出錯在於,不帶String args[]的main函數和帶String args[]的main函數,本質上已經不是同一個函數了,java 本身不存在不帶String args[]的main函數,所以當然出錯了。
⑸ java中main函數後面帶的參數(String[] args)是什麼意思
String[] args 是用來傳遞用戶在命令行輸入的參數的。 之所以採用String 類型是因為Java 預設就認為輸入的參數都為字元串(當然你可以之後自己進行類型轉換)。 String 之後的[] 括弧表示用戶輸入的參數被放置在字元串數組中。因為用戶可以輸入的參數個數不定, 所以用個數組來裝這些數據最好不過了。而且這個數組長度不限,[] 中沒有定義數組的長度。最後args 是這個數組的名字。args 是英文 arguments (參數) 的簡寫。你當然可以給它其他名字, 但在IT 界公認用args 做main 函數的參數名字。
⑹ java main方法中的命令行參數
當你使用命令行的形式運行.class文件時,向你的類傳遞參數.
C:\>java
YourClassName
參數1
[參數2
參數3
....]
參數之間用一個空格作為間隔符.
String[] args 這個字元串數組是保存運行main函數時輸入的參數的,例如main函數所在的類名為test
那麼你在cmd運行
java
test
a b
c 時,args[0]
= a
,args[1]=b,
args[2]=c
你就可以在你的程序中調用你輸入的這些變數了。
args[]不就是那個字元串This is a simple Java program嗎?
-------完全不是的,你理解不對。這樣好了,你在運行的時候加個參數,比如 java test XX。然後在你的main函數裡面加這段話:System.out.println("arg is"+args[0]),然後看看輸出是什麼?
是不是這個:
This is a simple Java program
arg is XX
在運行時輸入java test xx yy zz,並且在你的main函數裡面加這段話:System.out.println("arg is"+args[0]+" "+args[1]+" "+args[2]),然後看看輸出是什麼?
是不是:
This is a simple Java program
arg is xx yy zz
現在你理解了嗎。。。
如果沒關系,為什麼程序中去掉String args[]會出現錯誤?
--------之所以去掉會出錯在於,不帶String args[]的main函數和帶String args[]的main函數,本質上已經不是同一個函數了,java 本身不存在不帶String args[]的main函數,所以當然出錯了。
⑺ 如何用命令行運行java程序及輸入main函數參數的輸入
main函數也可以帶參數。帶參數main函數的定義格式如下:
void main(int argc, char *argv[])
{
... ...
}
⑻ java main方法中的命令行參數
作用:
當你使用命令行的形式運行.class文件時,向你的類傳遞參數.
C:\>java YourClassName 參數1 [參數2 參數3 ....]
參數之間用一個空格作為間隔符.
String[] args 這個字元串數組是保存運行main函數時輸入的參數的,例如main函數所在的類名為test 那麼你在cmd運行 java test a b c 時,args[0] = a ,args[1]=b, args[2]=c 你就可以在你的程序中調用你輸入的這些變數了。
args[]不就是那個字元串This is a simple Java program嗎?
-------完全不是的,你理解不對。這樣好了,你在運行的時候加個參數,比如 java test XX。然後在你的main函數裡面加這段話:System.out.println("arg is"+args[0]),然後看看輸出是什麼?
是不是這個:
This is a simple Java program
arg is XX
在運行時輸入java test xx yy zz,並且在你的main函數裡面加這段話:System.out.println("arg is"+args[0]+" "+args[1]+" "+args[2]),然後看看輸出是什麼?
是不是:
This is a simple Java program
arg is xx yy zz
現在你理解了嗎。。。
如果沒關系,為什麼程序中去掉String args[]會出現錯誤?
--------之所以去掉會出錯在於,不帶String args[]的main函數和帶String args[]的main函數,本質上已經不是同一個函數了,java 本身不存在不帶String args[]的main函數,所以當然出錯了。
⑼ JAVA中的MAIN函數中args參數怎麼用
一般來說是用不到的,特別是一個相對大型的應用applet或者application
這個args的由來是這樣的:你從控制台運行一個編譯好的.class文件,需要命令為
java (入口類名) 參數1 參數2 ...
比如
源碼:
// Test.java
public class Test {
public static void main(String[] args){
for(int i = 0; i < args.length; i++){
System.out.println(args[i]);
}
}
}
java Test 1 2 a
這樣的話運行的時候JVM虛擬機會將主類後面的各輸入轉化為String[]數組(這里的數字是以字元串形式存在的)這樣可以直接用。
輸出就會是:
1
2
a
⑽ 請問Java中如何給main函數傳遞參數
這要分兩種情況。
1、用命令行傳參:
Java程序可以用java命令來運行,如程序Mai,。可以通過 java Main來運行Main程序,如果要給Main傳參,可用如下形式
java Main 參數1 參數2
參數個數並沒有限制。
2、集成環境中傳參:
在集成環境中傳參有點不同,它不像命令行一樣,可以直接在命令行在書寫參數。以IntelliJ IDEA為例。需要在」運行(run)」菜單的」編輯配置(Edit Configurations…)」中對「程序參數(Program arguments)」進行設置。其它集成環境也需要進行這樣的配置才能給程序傳遞參數。
如果你對傳參還不是很理解,可以上秒秒學了解相關知識。