1.編譯運(yùn)行 java 文件
必須保證java文件名與類名相同,在運(yùn)行時(shí)先用‘javac’指令編譯成class文件,再用'java'文件運(yùn)行編譯好的class文件

同時(shí)可以知道輸入輸出的途徑,比如希望args是從文件中讀取,或者將輸入打印到文件中
比如下面程序讀取txt文件中的數(shù)據(jù)進(jìn)內(nèi)存,在運(yùn)行時(shí)給定文件名就可以

2.定義變量
定義一個(gè)新的數(shù)組或者是新的類,注意區(qū)別聲明和創(chuàng)建變量的區(qū)別

3.重定向和管道
對(duì)于程序的輸出,比如打印printf,可以重定向,使得不在顯示屏輸出,而是輸出到指定文件中。這樣子不需要更改程序,只需要在運(yùn)行時(shí)指定輸出文件就可以。
對(duì)于輸入也是同樣的,來(lái)自鍵盤的輸入和來(lái)自文件的輸入都是同一個(gè)程序,這是使用標(biāo)準(zhǔn)抽象的好處。

其中 <表示重定向輸入,>表示重定向輸出。
可以用?? |? 將兩個(gè)程序結(jié)合起來(lái),比如前一個(gè)的輸出作為下個(gè)程序的輸入,這樣做叫做管道
java random_int 100 | java average
前面 random_int 表示生產(chǎn)整數(shù),100表示生成的個(gè)數(shù)。average表示將輸入進(jìn)來(lái)的數(shù)進(jìn)行平均。
這樣做的好處是可以處理很長(zhǎng)的輸入輸出流。比如假如生產(chǎn)10億個(gè)數(shù),程序可能是先生成一部分?jǐn)?shù),在運(yùn)行后面的平均程序的輸入流來(lái)消耗前面的輸出。這樣就不會(huì)出現(xiàn)將很大的數(shù)據(jù)存放到內(nèi)存或者是硬盤中。