Java从零开始01-认识Java

Java发展

1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。9月,约8.3万个网页应用了Java技术来制作。10月,Sun公司发布了Java平台的第一个即时(JIT)编译器。1998年12月,Sun发布了Java历史上最重要的JDK版本:JDK1.2,伴随着JDK1.2一同发布的还有JSP/Servlet、EJB等规范,并将Java分成J2EE、J2SE和J2ME三个版本。2009年,Oracle收购Sun,并且于每年的3月和6月进行一次更新。

Java特性

1. 跨平台/可移植
2. 面向对象
3. 简单性
4. 多线程
5. 健壮性
...
放上一段sun公司对Java的描述:Java is a simple,object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multihreaded, and dynamic language.
  1. 简单性 :java 的底层是 c++,相对于 c++ 来说,java 简化了非常多,不需要操作复杂的指针,并且只支持单继承,java对 c++ 非常多的方面进行了简化。

  2. 面向对象 :java中提供了面向对象的机制,如封装,继承和多态。

  3. 多线程:java支持多线程并发执行,并且提供了多线程环境的安全机制。

  4. 健壮性:java提供了gc,即自动垃圾回收机制,会在特定的时机释放垃圾资源,让内存保持在一个较好的状态。

  5. 可移植和跨平台:这是 java 一个非常重要的特性,源代码只需要编写一次,即可在任何地方运行。这得益于java虚拟机 JVM 。比如我们在 windows 上编写的代码既可以运行在 windows 上,在 linux 上也可以运行,而不需要重新写源代码,我们的代码实际是运行在 JVM 中的,这虽然可以解决跨平台的问题,但是如果想要运行 java 代码,就需要安装一个 JVM , 不同平台的 JVM 都不相同但是都遵循了 SUN 指定的 JVM 规范,这样同样的程序在不同的系统上达成的效果都是一样的。

JDK,JRE,JVM的关系

我们上面提到了 java 的跨平台主要得益于 JVM ,这里我们再介绍另外几个术语和这些东西之间的关系

  1. JDK : JDK 是 JAVA 的软件开发工具包(SDK),每一个编写 JAVA 代码的程序员都必须安装,JDK 自带 JRE,因为代码开发的人员是一定需要运行代码的,这里需要注意:如果只需要运行 java 代码,只需要安装 JRE 就可以了,单独的 JRE 可以在 Oracle 官网下载。

  2. JRE :JRE 是 JAVA 运行环境,是运行 JAVA 代码的必须要的环境,包含了 JVM 标准实现和 JAVA 核心类库。

  3. JVM :JVM 是 Java Virtual Machine (java虚拟机) 的缩写,JVM 类似一个虚构出来的计算机,通过在实际的计算机上仿真模拟计算机功能来实现的。 JVM 是实现 JAVA 代码跨平台的功臣

Java 的加载和执行初步

装开发环境和编写hello world之前我们先来大概了解一下 Java 的执行有一个初步的了解
我们会编写一个以.java 结尾的文件,这个就是源文件。
源文件符合 Java 的语法规则,那么就可以使用 javac 的指令将源文件编译成.class 的字节码文件。
然后使用 java 指令执行字节码文件,这个时候 JVM 就启动了,JVM 通过类加载器将字节码文件装载并解释成 二进制码,然后完成和硬件平台的交互。
通过上述三个步骤我们可以看出一个 java 程序的开发包括了编译和运行两个阶段,并且因为 JVM 的存在,这两个阶段可以分别在不同的操作系统中进行。

开发的准备

  1. 了解了一些 Java 运行步骤以后,我们就可以开始为开发第一个程序做准备了,我并不推荐一上来就使用 ide 工具进行代码的开发,因为 ide 工具的代码提示功能 ,这样并不能让你熟悉 Java 的一些基础语法和关键词的记忆,所以首先使用文本编辑器来进行最初的代码编写,那么按照上面所说,我们需要更改文件的后缀名,那么需要能显示文件的后缀名。以 win10 系统为例:
    在这里插入图片描述
    在这里插入图片描述
    ​ 这样勾选以后就可以显示出文件的后缀名了

  2. 文本编辑器:只要可以编辑文本就可以编写 Java 程序,常见的文本编辑器例如:editplus , notepad++ , 记事本 ……这里以 editplus 为主,下载地址放在最后。

  3. 那么下面就可以开始准备开发环境了,当前最新的 Java 版本是 Java18,大家可以自行从 Oracle 官网下载,网址如下:https://www.oracle.com/java/technologies/downloads/ ,本教程使用 JDK8 为例子,这大概还是当前最主流的 JDK 版本。安装选择了地址以后直接下一步就行了

  4. 在这里插入图片描述
    以上是JDK安装以后的文件目录重点是bin文件夹中的一些文件,bin文件夹下放着的是运行 Java 程序的相关指令。

    在这里插入图片描述

    这两个就是上文说过的编译和运行两个命令,那么我们要怎么去使用这两个指令呢,你完全可以每次都输入全部的文件路径来使用,但这也太麻烦了,所以我们需要配置一下环境变量。配置步骤如下:
    在这里插入图片描述
    右键此电脑选择属性
    在这里插入图片描述
    选择高级系统设置
    在这里插入图片描述
    选择环境变量
    在这里插入图片描述

上半部分只对当前使用的用户起作用,而下半部分对计算机的所有用户都有效。

我们需要点击新建

变量名:JAVA_HOME

变量值是你的JAVA安装目录

然后找到path双击以后在里面添加

%JAVA_HOME%\bin 如图
在这里插入图片描述

这样我们就可以在任何地方使用 javac 和 java 命令了,至于classpath的配置大家可以自行添加

变量名 :

classpath

变量值:

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

至于有什么用大家可以自行百度,因为其实暂时不配置其实也没关系。

hello world

做了这么多准备,我们终于可以开始第一个程序的编写了。

由于大家对于 Java 的语法还没有进行学习,所以建议直接抄就完事了,这个程序只是为了让大家检查一下环境是否配置完成。

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

编写完我们打开cmd并且跳到当前文件夹下
在这里插入图片描述
使用javac命令加文件名后可以看到文件夹下多出了一个文件
在这里插入图片描述
这就是一个可运行的字节码文件

接下来回到cmd命令窗口使用java命令运行这个字节码文件
在这里插入图片描述
这里需要注意的一点是,javac命令需要带后缀名,而java命令不需要
在这里插入图片描述
如果能看到这行 Hello World ,那么恭喜你,你的环境配置已经完成了,并且迈出了 Java 的第一步。

Hello World 的最初理解

虽然还什么都没有学习,但是我们可以对代码进行一个最初的解释

public class HelloWorld{
    public static void main(String[] args){
        System.out.println("Hello World");
    }
}
  1. 出现了两次的关键词 public ,这是一个关键词,表示公开的

  2. class 也是一个关键词,用来声明一个类

  3. HelloWorld 是类名,这不是关键词,而且因为是一个名字,所以这是可以随意写的

  4. public class HelloWorld 表示声明了一个公开的类,这个类的名字是HelloWorld

  5. 不管是大括号中括号还是小括号都应该是成对出现的,并且语句后面需要有分号

  6. 建议大家养成良好的缩进规范,不管是用 tab 还是几次空格

  7. public static void main(String[] args){} 这是一个固定写法,是程序的入口,如果没有main方法,程序无法执行。报错大家可以自行尝试

  8. Java语句自上而下执行

  9. System.out.println();这是一个输出语句,大家暂时先记住,具体的理解还有继续学习以后才能理解。

注释

相信大家一定听过一个笑话:

​ 程序员:我最讨厌两种人,一种是不写注释的,一种是让我写注释的

虽然这么说,但是注释是程序中非常重要的环节,java中有三种注释的方法

  1. 单行注释
    // 这是一个单行注释,双斜杠后的内容是注释内容
  2. 多行注释
    /*
    *这里是多行注释
    *在斜杠星后面可以跟多行的星号
    *最后以星号斜杠结束
    */
  3. javadoc注释
    /**
    *这里是javadoc注释
    *和多行注释很像,只是比多行注释多一个星号
    *这里的注释可以被 javadoc 命令解析并生成注释文档
    */

作为一个合格的程序员,一定要养成良好的注释编写习惯。

首先是类和接口上写注释,这里的注释主要是表明作者,时间,版本,作用等内容。这里一般使用 javadoc 注释

其次是方法,这里需要注明方法的入参,返回值,异常等信息。这里一般使用 javadoc 注释

然后是常量和变量和一些可能有模糊的方法语句进行注释。这里一般看注释是否能在一两句解释清楚选择单行或者多行注释

public class 和 class 的区别

上面的问世程序可以看到 class 前面加了一个 public,那么可以不加吗,我们来试一下

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

我们发现是可以的,那么我们在一个源文件中定义多个类

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

编译以后发现,出现了多个 class 文件,可以得出一个结论,一个类对应一个字节码文件

那么我们再在最后一个类上加一个 public 修饰会怎么样呢

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

在这里插入图片描述
出错了,并且这个错误信息让我们在HelloWorld2.java 的文件中声明。

这里有一个结论,一个源文件中只能有一个和文件名相同的 public class ,公共的类只能有一个。

小练习

编写程序输出
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值