1.JAVA-Hello World

2019-04-28 08:22:06来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

1.Java开发介绍

J2SE:Java 2 Platform Standard Edition(2005年之后更名为JAVA SE)。

包含构成Java语言核心的类。比如:数据库连接、接口定义、数据结构、输入/输出、网络编程。

J2EE:Java 2 Platform Enterprise Edition(2005年之后更名为JAVA EE)。

Enterprise Edition(企业版)包含J2SE 中的所有类,并且还包含用于开发企业级应用的类。比如:EJB、Servlet、JSP、XML、事务控制,也是现在JAVA应用的主要方向,像一些银行或电信的系统大多基于此架构。

J2ME:Java 2 Platform Micro Edition(2005年之后更名为JAVA ME)。

用于消费类电子产品的软件开发,做手机APP的

 

2.JAVA编译过程

如下图所示,要想运行java,需要两步:

 

 

其中hello.java就是源码,负责我们看的,然后编译成hello.class, 当运行class代码时,首先运行JVM(Java虚拟机),然后再把Java class加载到JVM里头运行,负责加载Java class的这部分就叫做Class Loader.

class文件是不依赖于任何平台的, 这样做的好处在于跨平台,使得任何机器上的JVM都能去解释并运行这个class文件.如下图所示:

 

 

 

3.JDK安装

进入官网下载,下载后安装,安装后找到bin/javac 和java所在的位置,如下图所示:

 

然后将这个路径添加到电脑——>属性——>高级——>环境变量——>系统变量->PATH中,这样我们就可以直接使用这两个命令进行编译java文件了.

  • PATH:用来提供给操作系统可以直接执行exe程序的路径(和Linux的Path路径一样)

 

javac

用来将*.java文件生成*.class文件,它的使用如下所示:

 

java

将类加载到JVM里进行运行,比如Hello.class,则输入java Hello即可

 

4. 编译Hello World

创建一个public的Hello类,这个类的文件则必须为Hello.java

PS: Java保存的文件名必须与public类名一致

Hello.java 内容如下:

public class Hello{       //该文件名的类

                  public static void main(String args[]){        //类里的main
                          System.out.println("Hello World!");
                  }
}

然后通过cmd进入该代码目录:

 

输入javac Hello.java,如下图所示,已经生成Hello.class

 

然后输入 java Hello ,来运行Hello类:

 

PS:如果觉得进入目录麻烦的话,可以设置CLASSPATH路径,来指定类所在目录

 

5.分析刚刚运行的Hello代码

5.1 代码如下所示:

public class Hello{                         //该文件名的类

                  public static void main(String args[]){      //类里的main
                          System.out.println("Hello World!");
                  }
}

5.2 为什么类里有个mian主方法(主函数)?

因为我们是通过java Hello命令来运行这个类的,而进入类时,必须要提供一个main主方法给JVM,才能让程序运行,不过在项目中,主类是必须有main的,而有些功能类不一定必须要有main,不过有main的好处在于方便测试.

5.3 为什么main方法是public static void的?

public static用来修饰main为该类的公共静态成员方法(函数).

  • public: 好处在于让JVM在类外也能够调用.
  • static:  好处在于无需创建类对象,直接就可以通过类名进行访问.
  • void:    因为JVM运行结束后,这个类则已经不需要了,所以不需要返回值

 

5.4 为什么main方法的参数要有String args[]?

主要用来运行类时,我们想传递参数时才会用到的.比如修改代码如下所示:

public class Hello{
                  public static void main(String args[]){

                          System.out.println("Hello World!");

                          for(int i=0;i<args.length;i++)
                          System.out.println(args[i]);

                  }
}

然后编译后,输入各种参数,并打印出来:

 

 

5.5 *.java文件中,除了Hello类还可以有其它类吗?

可以有的,但是在文件里, public只能有1个,或者不存在,并且 public修饰的类名必须和文件名一致.

如果在*.java中定义了多个class,则编译后也会形成多个对应的*.class文件.

比如代码如下所示:

public class Hello{
                  public static void main(String args[]){
                          System.out.println("Hello World!");

                          Hello2.print();                                    //调用Hello2类的print静态方法

                          for(int i=0;i<args.length;i++)
                          System.out.println(args[i]);
                  }
}
 class Hello2{
                   static  void print()
                  {
                          System.out.println("Hello2 print!");
                  }

                  public static void main(String args[]){
                          System.out.println("Hello2 World!");
                  }
}

编译后,生成了两个class文件:

 

运行两个class试试:

 

 

6.不同的打印输出总结

示例代码:

int i=10;
double t=2.33;

System.out.printf("println: i=%d\r\n",i);//继承C的printf风格,所以需要格式判定


System.out.print("println: t="+t);//输入一句话,通过函数重载,所以不需要格式判定


System.out.println("");
System.out.println("println: i="+i);//输出一行,并且自动回车

 打印:

 

 

下章学习:

 

2.JAVA-基础语法以及String的介绍

 

 


原文链接:https://www.cnblogs.com/lifexy/p/10775127.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java开发笔记(九十)对象序列化及其读写

下一篇:2.JAVA-基础语法以及String的介绍