你說(shuō)的是命令行參數(shù)
創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比阿拉爾網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式阿拉爾網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋阿拉爾地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴(lài)。
public static void main(String[] args);
通過(guò)命令行來(lái)向java應(yīng)用程序傳遞參數(shù)。
main方法接收一個(gè)一個(gè)字符串?dāng)?shù)組參數(shù);從控制臺(tái)傳進(jìn)來(lái)的參數(shù)都被當(dāng)作String類(lèi)型的來(lái)處理,如果需要向應(yīng)用傳遞多個(gè)參數(shù),則用空格隔開(kāi),如果參數(shù)本身用雙引號(hào)引起來(lái)
執(zhí)行時(shí)的格式: java 類(lèi)名 參數(shù)1 參數(shù)2……
例子:
public class Abc{
public static void main(String[] args){
if(args.length!=2){
System.out.println("請(qǐng)按下列方式執(zhí)行:"+"java Abc 參數(shù)1 參數(shù)2");
System.exit(0);
}
String a = args[0];
String b = args[1];
System.out.println("第一個(gè)參數(shù)是:"+a);
System.out.println("第二個(gè)參數(shù)是:"+b);
}
}
編譯:javac Abc.java
執(zhí)行:java Abc 參數(shù)1 參數(shù)2
注意:通過(guò)main()方法從控制臺(tái)接收的參數(shù)都是String類(lèi)型的,如果需要其他
類(lèi)型參數(shù),需要將接收的String類(lèi)型參數(shù),顯式的轉(zhuǎn)換
public?static?void?main?(String?[]args){
double?a,b,c;
System.out.print("請(qǐng)輸入三個(gè)數(shù):");
Scanner?sc?=?new?Scanner(System.in);
a?=?sc.nextDouble();
b?=?sc.nextDouble();
c?=?sc.nextDouble();
A?a1=new?A(a,b,c);
a1.getRoots();
}
首先要使用到從控制臺(tái)輸入
scanner
sc
=
new
scanner(system.in);
然后使用可變參數(shù)和累加,當(dāng)然你需要有輸入完成的標(biāo)記,比如輸入的為0時(shí)結(jié)束,求之前所有數(shù)的和
public
int
getsum(int...
num){
int
result
=
0;
for(int
n
:
a){
result
+=
n;
}
return
result;
}
1.根據(jù)你輸出的語(yǔ)句:首行為文件名,"+"其余內(nèi)容為文件內(nèi)容,以空行結(jié)尾。按Ctrl+c組合鍵結(jié)束輸入",你是想按Ctrl+c就退出程序結(jié)束輸入,但是你的程序并沒(méi)有定義當(dāng)按下Ctrl+c鍵的響應(yīng)。所以你一直輸入內(nèi)容是沒(méi)辦法結(jié)束程序的。你只有手動(dòng)停止編譯器停止程序。
2.你沒(méi)有指定fileName文件的類(lèi)型,也沒(méi)生成位置,那么在你對(duì)應(yīng)的工程路徑下生成一個(gè)缺省的文件,名字為你第一次輸入的fileName,內(nèi)容為第二次輸入的內(nèi)容,你可以用記事本打開(kāi),看到輸入的內(nèi)容。
程序沒(méi)有錯(cuò),只是沒(méi)有完成你想要的功能而已!
概述
java程序輸入需要用到Scanner工具類(lèi),輸出則使用println
解析
1、輸入:
從鍵盤(pán)輸入需要用到j(luò)ava的Scanner這個(gè)util包下的工具類(lèi)
Scanner中輸入是需要對(duì)輸入的字符進(jìn)行分類(lèi),int類(lèi)型為nextint()方法,double類(lèi)型為nextDouble()方法,字符串類(lèi)型為next()方法。
#code:
#out:
2、輸出:
java常用的輸出為println
#code:
#out:
除了println()方法之外,java還有print()和printf()兩種輸出方法,
print、println、printf的區(qū)別:
print--是函數(shù),可以返回一個(gè)值,只能有一個(gè)參數(shù)。
println 將它的參數(shù)顯示在命令窗口,并在結(jié)尾加上換行符,將輸出光標(biāo)定位在下一行的開(kāi)始。
printf--函數(shù),把文字格式化以后輸出,直接調(diào)用系統(tǒng)調(diào)用進(jìn)行IO的,他是非緩沖的。
拓展內(nèi)容
java 輸入輸出流(I/O)
Java中I/O操作主要是指使用Java進(jìn)行輸入,輸出操作.?Java所有的I/O機(jī)制都是基于數(shù)據(jù)流進(jìn)行輸入輸出,這些數(shù)據(jù)流表示了字符或者字節(jié)數(shù)據(jù)的流動(dòng)序列。Java的I/O流提供了讀寫(xiě)數(shù)據(jù)的標(biāo)準(zhǔn)方法。任何Java中表示數(shù)據(jù)源的對(duì)象都會(huì)提供以數(shù)據(jù)流的方式讀寫(xiě)它的數(shù)據(jù)的方法。
Java.io是大多數(shù)面向數(shù)據(jù)流的輸入/輸出類(lèi)的主要軟件包。此外,Java也對(duì)塊傳輸提供支持,在核心庫(kù) java.nio中采用的便是塊IO。
流IO的好處是簡(jiǎn)單易用,缺點(diǎn)是效率較低。塊IO效率很高,但編程比較復(fù)雜。
Java IO模型 ?:
Java的IO模型設(shè)計(jì)非常優(yōu)秀,它使用Decorator模式,按功能劃分Stream,您可以動(dòng)態(tài)裝配這些Stream,以便獲得您需要的功能。例如,您需要一個(gè)具有緩沖的文件輸入流,則應(yīng)當(dāng)組合使用FileInputStream和BufferedInputStream。
輸入流(Input ?Stream):
程序從輸入流讀取數(shù)據(jù)源。數(shù)據(jù)源包括外界(鍵盤(pán)、文件、網(wǎng)絡(luò)…),即是將數(shù)據(jù)源讀入到程序的通信通道。
輸出流(output Stream):
程序向輸出流寫(xiě)入數(shù)據(jù)。將程序中的數(shù)據(jù)輸出到外界(顯示器、打印機(jī)、文件、網(wǎng)絡(luò)…)的通信通道。