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

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

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

3.重定向和管道
對于程序的輸出,比如打印printf,可以重定向,使得不在顯示屏輸出,而是輸出到指定文件中。這樣子不需要更改程序,只需要在運行時指定輸出文件就可以。
對于輸入也是同樣的,來自鍵盤的輸入和來自文件的輸入都是同一個程序,這是使用標準抽象的好處。

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