javaoutin
『壹』 java中的標准輸入輸出流in、out、err是不是只能從控制項台,或向控制台輸入輸出啊
根據需要可以從不同的地方輸入,也可以輸出到不同的地方。
『貳』 java system.out && in
System是JAVA中的類來自於java.lang.System
out和in是System下的類欄位,注意是[類欄位],該類(System)是不能被實例化的。
其中 in 叫做「標准」輸入流。
out叫做「標准」輸出流。
當然System類下還包含許多方法,具體可以看一下JAVA的API。
嘿嘿,小弟打了好半天呢,希望能夠幫到您!~~~
『叄』 Java中的outer和inner的用法
Java中的outer,基本上用於當嵌套for循環時,如果使用break,用於跳出循環體,以防止死循環。
Java中Inner Class可以在一個類中把邏輯意義相同的部分放在一起,便於管理。
Outer Class 的成員函數可以像訪問其他類一樣來訪問Inner Class(來自thinking in java),除此之外,必須用OutClass.InnerClass的形式訪問Inner Class(例如main函數)。
public class Parcel {
class Destination{
private String label;
public Destination(String whereTo){
this.label = whereTo;
}
String readLabel(){
return label;
}
}
public Destination to(String s){
return new Destination(s);
}
public void ship(String dest){
Destination d = to(dest);
System.out.println(d.readLabel());
}
public static void main(String[] args){
Parcel p = new Parcel();
p.ship("Beijing");
Parcel q = new Parcel();
Parcel.Destination d = q.to("ShangHai");
System.out.println(d.readLabel());
}
}
『肆』 java中的out和in是已經連接好的或者說PrintStream和InputStream是連接好的類
這兩個類是抽象類,連接好是什麼意思?看看api吧
『伍』 java裡面outer、 inner是什麼意思
outerinner分別指的是循環的外層內層,可以認為是一個名字吧,要跳出的時候可以直接用比如breakouter,跳出外層循環,也可以代表內部類和外部類:
packageFFtest2;
publicclassFFOuter{
privateStringfirst;
privateintsecond;
publicFFOuter(Stringl,intr){
first=l;
second=r;
}
publicStringaddStringInteger(Stringfirst,intsecond){
returnfirst+Integer.toString(second);
}
/**
*test1
*
*
*/
publicvoidoutterPrint(){
FFOuter.InnerDisplaytemp=this.newInnerDisplay("frog",20);
System.out.println("OuterclassusesInnerclassfield:"+temp.innerFirst+","+temp.innerSecond);
temp.print(first,second);
}
privateclassInnerDisplay{
privateStringinnerFirst;
privateintinnerSecond;
publicInnerDisplay(){
this("Somebody",0);
}
publicInnerDisplay(Strings,inti){
innerFirst=s;
innerSecond=i;
}
publicvoidprint(Stringf,ints){
System.out.println("Innerclass:first="+f+",second="+s);
}
/**
*test2
*
*/
publicvoidprint(){
System.out.println("Innerclassusesouterclass:first="+first+",second="+second);
}
/**
*test3
*.
*/
publicStringadd(Stringfirst,intsecond)
{
returnaddStringInteger(first,second);
}
}
publicstaticvoidmain(String[]args){
/**
*test4
*inmain(),callouttermethod
**/
FFOuteroutter=newFFOuter("zebra",25);
outter.outterPrint();
/**
*test5
*inmain(),callinnermethod
*/
InnerDisplayinnerDisplay=outter.newInnerDisplay();
innerDisplay.print();
System.out.println(innerDisplay.add("iphone",10));
}
}
輸出結果
OuterclassusesInnerclassfield:frog,20
Innerclass:first=zebra,second=25
Innerclassusesouterclass:first=zebra,second=25
iphone10
『陸』 java以下代碼中,我用文件輸出流和內存輸出流同樣輸出output對象,為什麼結果不一樣
呃,時隔幾年,不知道你解決問題沒有。首先應該明白,System.out.println(OBJ)會自動調用OBJ.toString()方法。查閱官方文檔表示,ByteArrayInputStream類中重寫了toString( )方法,Converts the buffer's contents into a string decoding bytes using the platform's default character set.即 「使用平台的默認字元集將緩沖區的內容轉換為字元串解碼位元組。
但是 FileOutputStream類中並未重寫toString( ) 。使用的是從Object類中繼承下來的。所以你能看到 obj@xxx 格式的輸出。
『柒』 Java如何調用內部類的方法
在其他類中創建內部類的對象時,必須要使用外部類的實例來創建。比如類B是類A的內部類,則語句A.B=new A.B()將是錯誤的。正確的方法是先創建一個類A的對象,比如A ma=new ma();然後再用這個對象來創建內部類的實例,比如A.B mab=ma.new B();這里要注意後面的語法ma.new B()。也可以把這兩步合為一步,比如A.B mab=new A().new B();注意,這里使用了兩個new運算符,如果只有一個將是錯誤的,比如A.B mab=new A().B();是錯誤的,new A().B()語句JAVA會理解為創建一個無名的引用,然後由這個引用調用類A中的B()函數。如果需要調用的構造函數不是默認的,則可以這樣創建比如A.B mab=new A(2).new B();或者分為兩步A ma=new A(2); A.B mab=ma.new B();
而且我也怕是不是會重新建個棋盤,那就不行了!
這個你可以放心,不會創建兩個棋盤,下面舉例驗證
public class A2 extends JFrame {
public static void main(String[] args) {
A ma=new A(); //可以看到在這里並沒有創建內部類,也就是說內部類中的bbb並沒有輸出
A.A1 ma1=ma.new A1(); //調用內部類的方法,當然內部類如果有帶參數構造函數,則還應在內部類中加上參數。
ma1.f();
}}
class A{
A(){System.out.println("aaa");}
class A1{
A1(){System.out.println("bbb");}
public void f(){System.out.println("kkk");}}
}
『捌』 java io流怎麼理解in和out
讀出和寫入,記住這兩個概念就不難。in就是寫入,out就是讀出,用反向思維去記憶。
『玖』 java中的System.in是什麼意思
讀取標准輸入設備數據。
『拾』 JAVA中OutputStream out, InputStream in 其中out in怎麼賦值
int len=-1;
byte[] bt = new byte[2048]; //可以根據實際情況調整,建議使用1024,即每次讀1KB
while(len=(in.read(bt)) != -1) {
os.write(bt,0,len); //建議不要直接用os.write(bt)
}
os.flush();
in.close();
os.close();