main方法中窥世界

今天我们来看一个编程语言入门必演示的HelloWorld程序,借此来展示我们的重点知识。话不多说,先看代码。

本段代码在eclipse中编辑运行,怎么在eclipse中新建项目呢:点击左上角File选择New一个Project.虽然本例仅仅实现了一个简单的输出HelloWorld一行字符串的简单功能,但是万丈高楼平地起,一个工程所需要的东西它都有。目录结构如下:

src文件夹中包含有多个包,包里有java源代码文件。为什么要分这么多层呢?主要便于文件组织和管理。把不同类型的文件放在不同的包里,这样便于查找分类。

当你引用别人的类库时,可能会有很多的文件,这时候不是一个文件一个文件导入的,而是把这些文件所在的包导入工程中,方便编程。

同时不同的包可以定义不同的访问权限。主要的就是自己包中类可不可以被别的包里的类访问,以及自己包中类与类之间的访问权限等。

另一个文件JRE System Library中包含了运行程序所需要的环境源文件,为工程运行提供支持。到以后建立更复杂的工程时,常会使用一些框架。这些时候也会导入一些外部类库,俗称lib库。

接下来我们重点分析例子源代码,记笔记记笔记!

第一行表示文件所在包,第二行public class Sample_01.这里定义了一个访问权限为public的类Sample_01.这里就可以和上面所述的联系起来了。对于类来说,只有public和默认修饰(即不写)。

public修饰的类可以被别的包访问,默认的类只能被本包中的类访问。以后碰到内部类的时候可以用private修饰,当然这是后话了,你只要知道现在写的源代码文件类是外部类。

为啥外部类不能用private或者protected来修饰呢?这也是一个很有意思的问题哦。如果一个类写成了private的,那么它就不可以被别的类调用了,只能自己玩自己的。那你项目里要这么个玩意有啥用,跟别的类都没有互动。

而protected表示的是受保护的,不能被外部的类重新实例化和调用,所以也不能用来修饰外部类。

第三行写了一个方法,方法名叫main,参数为String[] args,方法为void类型即没有返回值,static表示静态的,而且是public的。学习一门新的语言的第一个程序,都是用来演示语言特性的。

也就是说,是很简单的程序,但是展示出了语言的基本框架。哦,那我知道了。以后写JAVA程序,这个main方法必不可少。对不对?对的。

main方法是程序的唯一入口,不管你写多少的代码,main方法必须写而且 只有一个。而且格式是固定的,不可以改!!!必须写成public static void main(String[] args){}.

static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。

并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法、变量都是必须依赖具体的对象才能够被调用。

那为什么函数类型是void呢?那是因为由于main方法是程序的入口,在程序栈中处于最底层,没有哪个方法能够接受main方法的返回值。

对于函数的参数,必须使用字符串数组String[],变量名随意,但一般都写args即arguments的缩写。由于参数是数组,所以你可以写成String[] args,也可以写成String args[]都可以。

不过两者的意义稍有区别。前者声明了一个字符串数组类型,后者则是一个字符串类型,但这个字符串类型的变量本身是数组。

有了这个参数我们可以通过命令行对main方法进行传参,当然eclipse也可以做,只不过最本质的还是通过命令行。可以自己试一试哦。

第四行输出了一句话HelloWorld.这里out是一种流对象,表示输出。print后面加ln表示打印换行。后面还会详细介绍IO对象,具体的我们就留到以后再说。

由于小编水平有限,如有不足,还请不吝赐教!!!此处也是重点,记下记下。微信搜索关注油墨山公众号,获取更多文章咨询!!!

◆◆油墨未干,为何停下双手!◆◆

原文地址:https://www.cnblogs.com/skylife/p/11094512.html

时间: 2024-08-30 13:34:28

main方法中窥世界的相关文章

输入6个人的成绩放入到一个一维数组中,然后打印出平均分,最后按成绩 从大到小打印。三个功能(输入是一个函数,求平均分是一个函数,排序是一个 函数)都用函数实现,最后在main方法中调用。

/*5.输入6个人的成绩放入到一个一维数组中,然后打印出平均分,最后按成绩从大到小打印.三个功能(输入是一个函数,求平均分是一个函数,排序是一个函数)都用函数实现,最后在main方法中调用.*/ #include <stdio.h> int inputScore(){ int score; scanf("%d",&score); return score;} double avg(int scores[],int length){ int i,score = 0;

通过函数实现打印*号组成的直角三角形,函数要求传入行数即可。在main 方法中,通过用户输入得到行数,然后调用函数做打印。

#include <stdio.h> /* 1.通过函数实现打印*号组成的直角三角形,函数要求传入行数即可.在main方法中,通过用户输入得到行数,然后调用函数做打印.三角形样式:********************* */ int sanjiao(int hang){ int i; int j; for(i = 0; i < hang;i++) { for(j = 0;j <i+1;j++) { printf("*"); } printf("\n

JavaSE7基础 main方法中 String[] args的用法

版本参数:jdk-7u72-windows-i586注意事项:博文内容仅供参考,不可用于其他用途. 代码 class Demo{ //main方法中String[] args的用途 //接收调用main方法是 传入的字符串参数 public static void main(String[] args){ //看String数组的长度,即有几个字符串 System.out.println(args.length); for(int i=0,length=args.length;i<length;

Main方法中传入参数

↓ 这个时候会报错: Instantiate the class:DonutShop java.lang.ClassNotFoundException: DonutShop    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)    at java.security.AccessController.doPrivileged(Native Method)    at java.net.URLClassLoader.findCla

main方法中参数&quot;String[ ] args&quot;详解

1.在编写完一个有主方法的java文件时,需要在cmd窗口中先编译此java文件(javac xxx.java),然后再运行(java xxx) 其实在运行java xxx的时候如果后面跟着参数用空格分开,则将这参数保存到了String类型的数组中也就是main方法 的参数String [] args中 2.方法测试 public class HelloWorld { public static void main(String[] args) { if(args.length != 2){ S

在Main方法中设置异常的最后一次捕捉

在做Winfrom程序时,有时会遇到一个异常,可是这个异常不知道在什么地方发生的,程序会自动关闭,然后什么也没有了,在网上找到了一种方法,用来捕捉这种异常. 出现这种情况的原因是在程序中某些地方考虑不周全,有异常的情况没有考虑到,但是CLR不会在出错时给出提示(注:有些错误没有捕捉的话会自动弹出错误框,让用户选择关闭程序还是继续),所以就出了事了... 这时有一种方法来得到这种异常: 1 /// <summary> 2 /// 应用程序的主入口点. 3 /// </summary>

定义抽象类Shape,抽象方法为showArea(),求出面积并显示,定义矩形类Rectangle,正方形类Square,圆类 Circle,根据各自的属性,用showArea方法求出各自的面积,在main方法中构造3个对象,调用showArea方法。(体现多态)

实现多态的三个条件:1.要有继承2.要有抽象方法重写3.用父类指针(引用)指向子类对象 重载重写重定义的区别: 1.重载:在同一个类中进行; 编译时根据参数类型和个数决定方法调用; 子类无法重载父类; 父类同名方法被子类该方法覆盖. 2.重写:在父类和子类之间进行; 父类与子类方法有完全相同类型; 在运行时根据具体对象类型决定方法调用; 3.在重写中有抽象方法的会产生多态;没有使用抽象方法叫重定义 以下具体代码具体分析: package test3;abstract class Shape{ /

30.编写一个Shape类,具有属性:周长和面积; 定义其子类三角形和矩形,分别具有求周长的方法。 定义主类E,在其main方法中创建三角形和矩形类的对象, 并赋给Shape类的对象a、b,使用对象a、b来测试其特性。

package zuoye8; public abstract class Shape { private double zhouchang ; private double mianji ; public Shape(double zhouchang, double mianji) { super(); this.zhouchang = zhouchang; this.mianji = mianji; } public Shape() { super(); } //抽象一个周长方法 publi

编写Java应用程序。首先,定义一个Print类,它有一个方法void output(int x),如果x的值是1,在控制台打印出大写的英文字母表;如果x的值是2,在 控制台打印出小写的英文字母表。其次,再定义一个主类——TestClass,在主类 的main方法中创建Print类的对象,使用这个对象调用方法output ()来打印出大 小写英文字母表。

package liu0917; public class Print2 { int x; void output() { if(x==1) { for(int i =65;i<=90;i++)//大写字母在char类型中的位置 { char a =(char) i; System.out.print(a); } } else if(x==2) { for(int i =97;i<=122;i++) { char a =(char) i; System.out.print(a); } } el