Java中out.print使用原理是什么??

2025-02-26 20:52:30
推荐回答(3个)
回答1:

out是个PrintStream对象,PrintStream中有许多打印方法。可以打印boolean,char,int,long,float,double,char数组,String类型。不过其他数据类型最终都是转换成String类型打印的。
out.print(boolean b)方法中的代码是{write(b ? "true" : "false");}
out.print(char c)方法中的代码是{write(String.valueOf(c));}
put.print(int i)方法中的代码是{write(String.valueOf(i));}
put.print(long l)方法中的代码是{write(String.valueOf(l));}

put.print(float f)方法中的代码是{write(String.valueOf(f));}

put.print(double d)方法中的代码是{write(String.valueOf(d));}

put.print(char c[])方法中的代码是{write(c);}

put.print(String s)方法中的代码是{write(s);}

这里面调用的write(String s)方法是PrintStream类的私有方法。该方法会调用Writer类的writer(String s)方法,再调用Writer类的write(String str, int off, int len)方法,在这个方法里面会转化成对字符数组的write——write(char cbuf[], int off, int len)来把字符写入buffer。

回答2:

out:“标准”输出流。是个PrintStream对象print :PrintStream 类中的 打印方法
就是调用System类(在lang包下的)静态对象out的print方法

例如Math

同样在lang包下的
调用他的方法就是Math.Random(); 调用静态字段就是 Math.E;
如果有静态的对象那就是Math.对象.方法();

回答3:

out是个PrintStream对象,PrintStream中有许多打印方法。可以打印boolean,char,int,long,float,double,char数组,String类型。不过其他数据类型最终都是转换成String类型打印的。
out.print(boolean b)方法中的代码是{write(b ? "true" : "false");}
out.print(char c)方法中的代码是{write(String.valueOf(c));}
put.print(int i)方法中的代码是{write(String.valueOf(i));}
put.print(long l)方法中的代码是{write(String.valueOf(l));}
put.print(float f)方法中的代码是{write(String.valueOf(f));}
put.print(double d)方法中的代码是{write(String.valueOf(d));}
put.print(char c[])方法中的代码是{write(c);}
put.print(String s)方法中的代码是{write(s);}

这里面调用的write(String s)方法是PrintStream类的私有方法。该方法会调用Writer类的writer(String s)方法,再调用Writer类的write(String str, int off, int len)方法,在这个方法里面会转化成对字符数组的write——write(char cbuf[], int off, int len)来把字符写入buffer。