【JavaSE】第一个Java程序

这篇具有很好参考价值的文章主要介绍了【JavaSE】第一个Java程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前提引入

在JavaSE的系列中,将从第一个Java程序开始叙述,系统的把JavaSE的内容总结一次。毕竟这是第二次学习JavaSE的内容,因此感触也相对比较深一些。在JavaSE的初步计划中,大概有十一到十三篇文章,大致有:第一个Java程序、变量与运算符、流程控制、面向对象(封装、继承、多态)、异常、常用API、泛型、输入输出流、反射以及注解等。

Java开发环境

在第一个Java程序引入之前,先对Java的开发环境进行一个简单的介绍,毕竟有了开发环境,才可以进行代码的书写:

JDK:Java开发者工具;

JRE:Java运行时环境;

JVM:Java虚拟机。

上述表明,JDK是程序员开发时需要的工具,因此要先安装一下JDK。JDK现在是每半年发行一个版本,因为刚开始学习不必要使用最新版本,可以使用11或者17甚至8也是可以的。

JDK = JRE + 开发者工具集 (例如Java编译工具等);

JRE = JVM + JavaSE标准类库。

即三者具有如图关系:

【JavaSE】第一个Java程序,JavaSE,Java,Hello World

Java核心机制:JVM

在Java开发环境中,最重要的组成部分就是JVM了。如果是第一次接触Java的同学可能对此没啥感觉,但是当对编程有了一定的了解之后,再回来重新学习,那么就会认识到JVM的重要性。

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

功能一

实现Java程序的跨平台性

指令集

Java语言属于高级编程语言,要经过编译器编译成可执行程序,而对于最底层来说,即机器指令序列,也就是大家所熟知的二进制编码;也就是说,软件最终都会成为机器熟悉的一些指令,而这些指令又形成了一个集合,自然又会出现不同的指令集。

假若现在有n种语言,m种指令集;如果再出现一种语言,那么势必要有m种对应关系去对应m种指令集;如果新出现一种指令集,那么势必要有n种对应关系去对应n种语言。但是,JVM的出现,大大减少这种关系的存在,如果出现一种新的语言,JVM直接去进行对应;如果出现一种新的指令集,那么也是JVM直接去进行对应,本来m * n的关系现在变成了m + n的关系,如下图:

【JavaSE】第一个Java程序,JavaSE,Java,Hello World

【JavaSE】第一个Java程序,JavaSE,Java,Hello World

功能二

实现内存管理(内存分配,内存回收)

内存泄漏和内存溢出

内存泄漏:所谓内存泄漏,即某块内存,在使用完成之后,本该进行回收,但是确并没有回收走,依旧处在被使用的状态中。

内存溢出:所谓内存溢出,即某程序约定的只有2G的内存空间,但是在运行过程中,使用的内存超过2G,也就是超过规定的内存空间,导致程序被挂掉。

  • Java程序在运行过程中,涉及到运算数据的分配、存储等都由JVM来完成;
  • Java消除了程序员回收无用内存空间的职责,提供了一种系统级线程跟踪存储空间的分配情况,在存储空间达到相应阈值时,检查并释放可被释放的存储器空间;
  • GC的自动回收,提供了内存空间的利用效率,也提高了编程人员的效率,很大程度上减少了因为没有释放空间而引起的内存泄漏。

Java程序开发步骤

【JavaSE】第一个Java程序,JavaSE,Java,Hello World

  1. 编写程序:将Java代码编写到以.java为扩展名的源文件中;
  2. 编译:使用javac命令对该java程序进行编译,生成一个或者多个字节码文件;
  3. 运行:使用java命令对生成的.class文件进行运行。

第一个Java程序

在学习编程的过程中,无论是哪一种语言,一般都是先编写一段“hello world”程序,以此来入门某种语言,Java当然也不例外。

a. 编写代码

创建一个后缀为.java的文件,将Java代码编写到文件中。

如果创建好的文件中没有发现后缀名,那么就点击“查看”中的“文件扩展名”进行勾选即可,如图:

【JavaSE】第一个Java程序,JavaSE,Java,Hello World

 上述操作完成之后,将后缀名修改,改成如图所示即可(由于我的电脑上安装了一个插件,因而图标进行了转换,但是不安装也无伤大雅,最后都会使用IDEA等进行代码书写):

【JavaSE】第一个Java程序,JavaSE,Java,Hello World

上述操作全部完成之后,进行代码书写:

public class helloworld {
	
	public static void main(String[] args) {
		System.out.println("hello world");
	}
	
}

 在上述代码中,public是一种限定符,使用大白话就好像你的日记只能给自己看,其他人不能看,而获得一个好成绩之后所有人都可以看的这种情况,而public表示的就是所有代码都可以用public包含的所有代码。

class表示一个类,这个是在面向对象中会仔细讲解,大致和C语言中的结构体类似。

helloworld就是类名。

其中的就算main函数,和C语言的main函数相同,表示程序的入口,在main函数前面的public、static以及void等都是一些修饰符,在后续学习中会慢慢接触到。

b. 编译

当代码书写完成之后,使用javac命令进行编译,就会生成.class字节码文件。

【JavaSE】第一个Java程序,JavaSE,Java,Hello World

上述图中可以发现,当使用javac命令之后,就会生成一个.class文件。

生成.class文件之后,只要电脑上安装有JVM,那么就可以运行该java程序,无需再次编译,这就是java的口号:一次编译,到处运行。

c. 运行

当生成.class文件,使用java命令就可以对java程序进行运行。

【JavaSE】第一个Java程序,JavaSE,Java,Hello World

注意

1. 一个java文件中可以声明多个类,但是最多只能有一个类使用public进行声明,且要求声明的类名与文件名相同。

【JavaSE】第一个Java程序,JavaSE,Java,Hello World

2. 在使用javac命令时,注意后面跟着的是该程序的文件名,而非类名;当一个java程序中有多个类时,就会生成多个字节码文件。

【JavaSE】第一个Java程序,JavaSE,Java,Hello World

【JavaSE】第一个Java程序,JavaSE,Java,Hello World

如上图所示,java程序的文件名是helloworld,因而javac命令后面跟着的就是该名字;而编译完成之后,该文件会生成两个.class文件,而.class文件的名字则是跟java程序中的类名相同。

3. 编译完成之后,使用java程序进行运行时,就不再是以前的文件名,而是.class对应的文件名,但是也有例外,第四条中进行叙述。

4. 在Java中是严格区分大小写的,而windows并不具体区分大小写,因此如果两个类名相同咋办?请看如下例子:

【JavaSE】第一个Java程序,JavaSE,Java,Hello World

【JavaSE】第一个Java程序,JavaSE,Java,Hello World

上述例子表明,在windows系统中,如果一个java文件中有大小写不同但字母相同的程序,最后编译时只会生成一个字节码文件,并且文件名是以第一个类名命名的;但是通过java命令发现,使用helloworld是无法运行的,只有使用HelloWorld才可以运行,因此表明了如果存在两个命名相同的类,那么生成的字节码文件名是以第一个类命名,但是其中的内容确是第二个类的内容。

在本篇文章中,是第一个java程序的书写,下篇文章是对变量与运算符的简单介绍;刚入门时,建议大家可以配合视频观看,而并非只看一些书籍,毕竟书籍虽然深度比较深,但还是比较晦涩难懂,这篇文章到这里就结束了,感谢各位的观看。文章来源地址https://www.toymoban.com/news/detail-815848.html

到了这里,关于【JavaSE】第一个Java程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C快学-C语言程序设计(基础篇)】从VSCode中使用C编写我的第一个Hello world

    简介:本专栏是一个C语言基础入门知识学习的一个专栏 面向:广大C友 工具:VSCODE 博主:一个友好且宠粉的博主,送书活动小专栏,不定期抽奖送图书给粉丝 社区:🦈山鱼社区 我这里是使用超级强大的vscode来进行C语言的学习的,因为vscode有着许多好用且方便的插件,能够

    2024年02月13日
    浏览(30)
  • 创建React Native的第一个hello world工程

    需要安装好node、npm环境 如果之前没有安装过 react-native-cli 脚手架的,可以按照下述步骤直接安装。如果已经安装过的,但是在使用这个脚手架初始化工程的时候遇到下述报错的话 也可以先直接卸载 正常安装过程: 安装 react-native-cli 安装 react-native 安装完成之后,可以用脚手

    2024年02月07日
    浏览(35)
  • 【区块链】以太坊Solidity编写一个简单的Hello World合约

    熟悉一门语言得从Hello World! 开始,因为这是最简单的一个输出形式。 我们先在contracts目录下建立一个helloworld.sol文件 进入编辑 保存退出 在migrations下新建一个部署合约的js文件:3_initial_migration.js 名字可以变动 接下来在test中使用js调用智能合约 在另一个窗口打开ganache 运行智

    2024年02月15日
    浏览(55)
  • OpenHarmony 应用开发入门 (一、环境搭建及第一个Hello World)

    万事开头难。难在迈出第一步。心无旁骛,万事可破。没有人一开始就能想清楚,只有做起来,目标才会越来越清晰。--马克.扎克伯格 前言 2024年1月16日,华为目前开启已HarmonyOS NEXT开发者预览版Beta招募,报名周期为1月15日-1月22日。HarmonyOS NEXT开发者预览版将不再兼容安卓开

    2024年01月18日
    浏览(62)
  • HarmonyOS鸿蒙应用开发 (一、环境搭建及第一个Hello World)

    万事开头难。难在迈出第一步。心无旁骛,万事可破。没有人一开始就能想清楚,只有做起来,目标才会越来越清晰。--马克.扎克伯格 前言 2024年1月16日,华为目前开启已HarmonyOS NEXT开发者预览版Beta招募,报名周期为1月15日-1月22日。HarmonyOS NEXT开发者预览版将不再兼容安卓开

    2024年01月23日
    浏览(50)
  • java 输出hello world

    在 Java 中,可以使用 System.out.println 来输出 \\\"hello world\\\"。 例如: 在这段代码中, System.out.println 会将字符串 \\\"hello world\\\" 输出到控制台。 注意: 在 Java 中,类名的首字母必须大写。 main 方法是程序的入口点,必须要有这个方法才能运行程序。 `

    2024年02月10日
    浏览(30)
  • Unity学习笔记 - 第一个Hello World都算不上的项目

            这里不细说安装了,首先需要Visual Studio,然后要安装Unity Hub,Unity Hub就像一个管理平台,安装完它之后,可以在它的界面上选择安装各个版本的编辑器。 开始您的创意项目并下载 Unity Hub | Unity 通过 3 个简单的步骤下载 Unity,开始使用世界上颇受欢迎的开发平台,

    2024年04月12日
    浏览(31)
  • 【JavaSE】第一个Java程序

    在JavaSE的系列中,将从第一个Java程序开始叙述,系统的把JavaSE的内容总结一次。毕竟这是第二次学习JavaSE的内容,因此感触也相对比较深一些。在JavaSE的初步计划中,大概有十一到十三篇文章,大致有:第一个Java程序、变量与运算符、流程控制、面向对象(封装、继承、多

    2024年01月22日
    浏览(29)
  • Linux shell编程学习笔记14:编写和运行第一个shell脚本hello world!

     * 20231020 写这篇博文断断续续花了好几天,为了说明不同shell在执行同一脚本文件时的差别,我分别在csdn提供线上Linux环境 (使用的shell是zsh)和自己的电脑上(使用的shell是bash)做测试。功夫不负有心人,在其中一些实例中可以体现出zsh和bash的对脚本文件支持的差别,收

    2024年02月07日
    浏览(42)
  • 简化 Hello World:Java 新写法要来了

    OpenJDK 的 JEP 445 提案正在努力简化 Java 的入门难度。 这个提案主要是引入 “灵活的 Main 方法和匿名 Main 类” ,希望 Java 的学习过程能更平滑,让学生和初学者能更好地接受 Java 。 提案的作者 Ron Pressler 解释:现在的 Java 语言非常适合开发和维护大型复杂应用程序,但学校在

    2024年02月08日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包