初始JAVA

本文详细介绍了Java编程的基础,包括HelloWorld程序的开发步骤、Java结构与格式、main方法、输出语句、源文件与类名、注释的重要性、API文档以及Java的核心机制——JVM的跨平台性和自动内存管理。
摘要由CSDN通过智能技术生成

目录

一、输出HelloWorld

1.1开发步骤

1.2 编写

1.3 编译

1.4 运行

二、 HelloWorld小结

2.1 Java程序的结构与格式

2.2 Java程序的入口

2.3 两种常见的输出语句

2.4 源文件名与类名

三、 注释(comment)

四、 Java API文档

五、 Java核心机制:JVM

5.1 Java语言的优缺点

5.1.1 优点

5.1.2 缺点

5.2 JVM功能说明

5.2.1 功能1:实现Java程序的跨平台性

5.2.2 功能2:自动内存管理(内存分配、内存回收)


一、输出HelloWorld

1.1开发步骤

Java程序开发三步骤:编写、编译、运行

  • 将 Java 代码编写到扩展名为 .java 的源文件中
  • 通过 javac.exe 命令对该 java 文件进行编译,生成一个或多个字节码文件
  • 通过 java.exe 命令对生成的 class 文件进行运行

1.2 编写

(1)在D:\JavaSE\chapter01 目录下新建文本文件,完整的文件名修改为HelloWorld.java,其中文件名为HelloWorld,后缀名必须为.java

(2)用记事本或editplus等文本编辑器打开。

(3)在文件中输入如下代码,并且保存。

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

1.3 编译

        在DOS命令行中,进入D:\JavaSE\chapter01目录,使用javac 命令进行编译。

        使用文件资源管理器打开D:\JavaSE\chapter01目录,然后在地址栏输入cmd。

命令:

javac Java源文件名.后缀名java

        编译成功后,命令行没有任何提示。打开D:\JavaSE\chapter01目录,发现产生了一个新的文件 HelloChina.class,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了。

1.4 运行

在DOS命令行中,在字节码文件目录下,使用java 命令进行运行。

命令:

 java 主类名字

主类是指包含main方法的类,main方法是Java程序的入口:

 public static void main(String[] args){
     
 }

二、 HelloWorld小结

2.1 Java程序的结构与格式

结构:

 类{
     方法{
         语句;
     }
 }

格式:

(1)每一级缩进一个Tab键

(2){}的左半部分在行尾,右半部分单独一行,与和它成对的"{"的行首对齐

2.2 Java程序的入口

Java程序的入口是main方法

 public static void main(String[] args){
     
 }

2.3 两种常见的输出语句

  • 换行输出语句:输出内容,完毕后进行换行,格式如下:

     System.out.println(输出内容);
  • 直接输出语句:输出内容,完毕后不做任何处理,格式如下

     System.out.print(输出内容);

注意事项:

换行输出语句,括号内可以什么都不写,只做换行处理

直接输出语句,括号内什么都不写的话,编译报错

2.4 源文件名与类名

(1)源文件名是否必须与类名一致?public呢?

 如果这个类不是public,那么源文件名可以和类名不一致。但是不便于代码维护。
 ​
 如果这个类是public,那么要求源文件名必须与类名一致。否则编译报错。
 ​
 我们建议大家,不管是否是public,都与源文件名保持一致,而且一个源文件尽量只写一个类,目的是为了好维护。

(2)一个源文件中是否可以有多个类?public呢?

 一个源文件中可以有多个类,编译后会生成多个.class字节码文件。
 ​
 但是一个源文件只能有一个public的类。

三、 注释(comment)

  • 什么是注释?

    • 源文件中用于解释、说明程序的文字就是注释。

  • 注释是一个程序员必须要具有的良好编程习惯。实际开发中,程序员可以先将自己的思想通过注释整理出来,再用代码去体现。

    程序员最讨厌两件事:

    一件是自己写代码被要求加注释

    另一件是接手别人代码,发现没有注释

  • 不加注释的危害

  • Java中的注释类型:

    • 单行注释

       //注释文字
    • 多行注释

       /* 
       注释文字1 
       注释文字2
       注释文字3
       */
    • 文档注释 (Java特有)

       /**
         @author  指定java程序的作者
         @version  指定源文件的版本
       */ 
  • 注释的作用

    • 它提升了程序的可阅读性。(不加注释的危害性,见图。)

    • 调试程序的重要方法。

具体使用1:单行注释、多行注释

  • 对于单行和多行注释,被注释的文字,不会不会出现在字节码文件中,进而不会被JVM(java虚拟机)解释执行。

  • 多行注释里面不允许有多行注释嵌套。

具体使用2:文档注释(Java特有)

  • 文档注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。

  • 操作方式。比如:

javadoc -d mydoc -author -version HelloWorld.java

案例:  

//单行注释
/*
多行注释
*/
/**
文档注释演示。这是我的第一个Java程序!^_^
@author songhk
@version 1.0
*/
public class HelloWorld{
    
	/**
	Java程序的入口
	@param args main方法的命令参数
	*/
    public static void main(String[] args){
        System.out.println("hello");
    }
}

四、 Java API文档

  • API (Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口。

  • Java语言提供了大量的基础类,因此 Oracle 也为这些基础类提供了相应的说明文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。大多数Java书籍中的类的介绍都要参照它来完成,它是编程者经常查阅的资料。

  • Java API文档,即为JDK使用说明书、帮助文档。类似于新华字典

 

五、 Java核心机制:JVM

5.1 Java语言的优缺点

Java确实是从C语言和C++语言继承了许多成份,甚至可以将Java看成是类C语言发展和衍生的产物。“青出于蓝,而胜于蓝”。

5.1.1 优点

  • 跨平台性:这是Java的核心优势。Java在最初设计时就很注重移植和跨平台性。比如:Java的int永远都是32位。不像C++可能是16,32,可能是根据编译器厂商规定的变化。

  • 通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run Anywhere”。

  • 原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM ,Java Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。

  • 面向对象性:

    面向对象是一种程序设计技术,非常适合大型软件的设计和开发。面向对象编程支持封装、继承、多态等特性,让程序更好达到高内聚低耦合的标准。

  • 健壮性:吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制。

  • 安全性高:

    Java适合于网络/分布式环境,需要提供一个安全机制以防恶意代码的攻击。如:安全防范机制(ClassLoader类加载器),可以分配不同的命名空间以防替代本地的同名类、字节代码检查。

  • 简单性:

    Java就是C++语法的简化版,我们也可以将Java称之为“C++--”。比如:头文件,指针运算,结构,联合,操作符重载,虚基类等。

  • 高性能:

    • Java最初发展阶段,总是被人诟病“性能低”;客观上,高级语言运行效率总是低于低级语言的,这个无法避免。Java语言本身发展中通过虚拟机的优化提升了几十倍运行效率。比如,通过JIT(JUST IN TIME)即时编译技术提高运行效率。

    • Java低性能的短腿,已经被完全解决了。业界发展上,我们也看到很多C++应用转到Java开发,很多C++程序员转型为Java程序员。

5.1.2 缺点

  • 语法过于复杂、严谨,对程序员的约束比较多,与python、php等相比入门较难。但是一旦学会了,就业岗位需求量大,而且薪资待遇节节攀升

  • 一般适用于大型网站开发,整个架构会比较重,对于初创公司开发和维护人员的成本比较高(即薪资高),选择用Java语言开发网站或应用系统的需要一定的经济实力。

  • 并非适用于所有领域。比如,Objective C、Swift在iOS设备上就有着无可取代的地位。浏览器中的处理几乎完全由JavaScript掌控。Windows程序通常都用C++或C#编写。Java在服务器端编程和跨平台客户端应用领域则很有优势。

5.2 JVM功能说明

JVMJava Virtual Machine ,Java虚拟机):是一个虚拟的计算机,是Java程序的运行环境。JVM具有指令集并使用不同的存储区域,负责执行指令,管理数据、内存、寄存器。

5.2.1 功能1:实现Java程序的跨平台性

我们编写的Java代码,都运行在JVM 之上。正是因为有了JVM,才使得Java程序具备了跨平台性。

使用JVM前后对比:

5.2.2 功能2:自动内存管理(内存分配、内存回收)

  • Java程序在运行过程中,涉及到运算的数据的分配存储等都由JVM来完成

  • Java消除了程序员回收无用内存空间的职责。提供了一种系统级线程跟踪存储空间的分配情况,在内存空间达到相应阈值时,检查并释放可被释放的存储器空间。

  • GC的自动回收,提高了内存空间的利用效率,也提高了编程人员的效率,很大程度上减少了因为没有释放空间而导致的内存泄漏

面试题:

Java程序还会出现内存溢出和内存泄漏问题吗? Yes!

  • 23
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值