java中System.out.println()方法为什么只能放在方法体内(原理)

作者&投稿:余洪 (若有异议请与网页底部的电邮联系)
在java语言中只能在主函数调用System.out.println();这个函数吗?为什么在普通的类中和主函数之外不能调用~

都可以调用的随便在什么地方。
java文件默认的引入了java.lang这个包。这个包中包含了很多java基础的类型。当然这个System类就是在java.lang包中的,out是System类的一个内部类,println就是out内部类的一个方法。java.lang包在虚拟机启动时就自动加载了。因此这个System类加载了那么这个out内部类也就加载了println方法也就加载了。

你没有写在main方法里面,报错是正常的,将这段代码剪切到main方法里面,没有main方法,程序没有入口,所以你输出会报错,我写一个main方法,你复制进你的源码里面:
public static void main(String [] args){
//将代码剪切进这个方法里面
}
不是主类,可以写一个方法,定义方法的格式是:
访问修饰符 [static] 方法返回值类型 方法名(参数类型 参数名){
//注意加static的方法可以使用类名.方法名(参数值),没有参数()要空着
}

类只是代码的组织结构,代码的执行是以方法为基础的。一个一个方法的执行。类是无法独立执行的。

当然有一种情况,代码可以不再方法体内执行。那就是
也可以不放在方法体内,
class A{
static{
System.out.println();

}


static部分是静态代码块,在加载类的时候会被执行。且只会执行一次,用于初始化。

首先,println()方法是void类型,如果你不放在方法体里去执行的话,那么它存在的意义在哪里,如果说有一个返回int值的函数,那么你可以不放在方法体调用,放在方法体外去调用,它返回值就可以用来初始化一个成员变量,可能这是唯一一个原因在方法体外调用方法。个人观点

这是符合java语法规则的,我们在一个方法体中,调用了系统封装的方法而已。比如我们在main 方法中,调用String str="abd";str.length();道理是一样的。同样,我们也可以在别的方法体中,调用系统封装好的方法。

因为真正在执行叙述的是方法,方法外只能用来初始化,如果你在class里System.out.println();那他什么时候要执行?

java创建一个类,内部包含属性、静态块、构造器以及函数。
System.out.println()不是这四种,方法可以运行在静态块、构造器以及函数中。


八道江区15838354212: java中能用system.out.print()实现右对齐输出吗? -
杜雅重组: 可以,你在循环里加上动态数量的空格输出就行了 比如10列,从1到10列分别有1到10个*输出,你设计个循环,第一行输出9个空格,第二行输出8个空格,以此类推 此外system.out.print()本身应该没有控制右对齐的功能

八道江区15838354212: java中的system.out是不是打印流?请详细解释 -
杜雅重组: System是java封装的类,里面包含了很多和底层相关的属性和方法,out和in是该类的两个成员变量,out是OutputStream类型,表示打印输出流,负责打印到控制台,in是InputStream类型,是标准的输入流,表示从控制台输入

八道江区15838354212: JAVA中System.out.println和System.out.print有什么区别? -
杜雅重组: 一个是换行 ,一个是直接打.1、System.out.println输出之后会自动换行,System.out.print 不换行. 2、system包中的out和jsp中的out的区别.两者都是用来输出内容. 3、JSP的out是JSP的内置对象,用于在JSP页面中输出内容. 4、system.out用于在java程序中,输出内容,本地输出. 一个是本地(java类所在环境)输出内容,一个是JSP页面(可以在N多请求此页面的地方)内容输出.

八道江区15838354212: java中的“System.out.println“和“System.err.println”的区别是什么 -
杜雅重组: 输出流,没有本质区别,err是运行期异常和错误反馈的输出流的方向. 但是 有两点比较重要,楼主要注意的是: (1)System.out.println 能重定向到别的输出流,这样的话你在屏幕上将看不到打印的东西了,如输出到 一个txt的log日志中. (2)而System.err.println只能在屏幕上实现打印,即使你重定向了也一样. 要说 最直接的区别的话:就是 如果 你使用err打印出的 字符串,再eclipse的console会显示成红色的哦. :-) 希望,我的回答 对你有帮助!:-)

八道江区15838354212: Java语言中的"+"怎么用呢在输出语句中System.out -
杜雅重组: Java语言中的"+"在输出语句中System.out的用法如下: System.out.println()是可以直接打印对象类型的,默认调用Object类的toString()方法. String firstName = "Jeff ", String lastName = "Bosch"; System.out.print( firstName +" "+ lastName ); 打印结果:Jeff Bosch +表示连接两个字符串,或者连接一个常量加一个变量的值. 比如: int a = 100; System.out.print( "当前的数量是:"+ a); 结果是:当前的数量是:100

八道江区15838354212: java中 System.out.print()中这几个单词分别是什么 -
杜雅重组: System是“系统”的意思哈,是一个类,out:“标准”输出流.此流已打开并准备接受输出数据. print()带括号表示方法,打印.希望对 你有助

八道江区15838354212: java中system是什么意思? -
杜雅重组: SYSTEM系统,OUT是输出.

八道江区15838354212: java中system.out.println()是什么意思,是不是方法调用? -
杜雅重组: 在Java编程中,我们常常用System.out.println()方法来输出字符串,也许我们都已经猜到println()是方法名,但System是什么,out又是什么呢?这里就涉及用到一个static关键字.其实System是java.lang里面的一个类.而out就是System里面...

八道江区15838354212: java 中System.out.println()是什么意思? -
杜雅重组: System 是一个类,out是一个static PrintStream 对象.由于它是“静态”的,所以不需要我们创建任何东西,所以只需直接用它即可. println()的意思是“把我给你的东西打印到控制台,并用一个新行结束”.所以在任何Java 程序中,一旦要把某些内容打印到控制台,就可条件反射地写上System.out.println("内容"). -引自《Java 编程思想》.

八道江区15838354212: java中 如何获取cookie -
杜雅重组: Cookie[] cookie = request.getCookies();for (int i = 0; i < cookie.length; i++) {Cookie cook = cookie[i];if(cook.getName().equals("XX")){ //获取键 System.out.p...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网