zoukankan      html  css  js  c++  java
  • 1.JAVA-Hello World

    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
    ",i);//继承C的printf风格,所以需要格式判定
    
    
    System.out.print("println: t="+t);//输入一句话,通过函数重载,所以不需要格式判定
    
    
    System.out.println("");
    System.out.println("println: i="+i);//输出一行,并且自动回车

     打印:

     

    下章学习:

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

     

  • 相关阅读:
    matlab程序性能优化与混合编程技术介绍
    最大熵原理/最大熵原则/最大熵模型(the maximum entropy principle,MEP)
    马氏距离 Mahalanobis Distance
    时间序列分析
    Windows XP + Apache 2.2.4 + PHP 5.2.0 + MySQL 5.0.27 + Zend Optimizer 3.2.0环境配置方法
    栈应用——表达式求值
    Android实现模拟时钟(简单+漂亮)时针、分针、秒针
    基于循环链表的约瑟夫问题
    assert()详解
    Hadoop HPROF 的使用
  • 原文地址:https://www.cnblogs.com/lifexy/p/10775127.html
Copyright © 2011-2022 走看看