热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java第一课——HelloWorld

Java第一课——HelloWorld-Java第一课——HelloWorld踏过JDK开发环境安装这所大门,我们正式走进了Java的世界。Java是一门面向对象的编程语言,不仅

Java第一课——HelloWorld

踏过JDK开发环境安装这所大门,我们正式走进了Java的世界。Java是一门面向对象的编程语言,不仅吸收了c++语言的各种有点,还摒弃了c++里难以理解的多继承,指针等概念,因此它具有功能强大和简单易用两个特征,它的语法比c/c++都更加简单,它最大的优点就是可移植性很高,一次编写,到处执行,今天我们就来练习一下Java入行的第一段代码。

public class HelloWorld {   //HelloWorld叫做类名
 
  public static void main(String[]args) { //void代表无返回值
   
    System.out.println("HelloWorld");  //打印括号里面的东西,并且换行——类似于c语言中的printf函数,由双引号引起来的“HelloWorld”叫做字符串类型,*注:c语言中没有字符串类型*
 
  }  //里面的大括号之间叫做方法体

}  //外面的大括号之间叫做类体,类体的组成由方法体和字段组成,类体存在于源文件,方法存在于类,语句存在于方法

书写代码的时候需要注意
1: 在一个java文件当中,只能有一个类被public关键字修饰,换句话说也就是只能有一个public 的类
2:被public关键字修饰的类类名需要和文件名是相同的(文件名不可以是数字和汉字),如果没有public修饰的类,那么文件名可以任意命名
3编程规范建议:左括号是紧跟着当前行,并且最好空一格
4类名采用大驼峰的形式,大驼峰-如果只有一个单词,首字母大写,如果有两个单词,两个首字母都要大写
5:Java中的main只能固定这么写,与c语言有所不同

当程序写完之后,我们要做的肯定就是编译运行起来,编译运行代码的方式由于我采用的是notepad++记事本写的代码,所以我这里用DOC界面运行。

  1. 首先新建一个文件夹,在文件夹里面新建一个文本文档,然后将文本文档重命名为我们写的程序中被public关键字修饰的类名,并且把后面的后缀改为.java

    注意:当修改完文件名后缀之后如果没有出现上图界面,或者后面编译的时候DOC界面显示找不到文件,说明文件名后缀被隐藏了,需要我们取消隐藏,百度上有很详细的方法
  2. 文件名修改完成之后,我们要用notepad++记事本打开它来写我们的程序,此时用电脑自带的记事本已经是打不开了的。选中文件,右击鼠标,会有一个打开方式的选项,选则notepad++即可
  3. 此时在此界面写上我们开头的第一段Java程序,然后ctrl+s保存,注意:每次记事本写完程序都要保存,然后重新编译
  4. 此时HelloWorld.java这个源文件是在磁盘上的,我们按住windows+r两个键,输入cmd,进入DOC界面

    注意:此时默认打开是c盘,如果源代码保存在其他盘,直接输入其他盘就可以了
  5. 在DOC界面输入cd+一个空格,然后复制粘贴源代码所在路径,回车
  6. 接着再输入javac 文件名.java,回车,此时代表程序已经编译完成,源文件默认生成了HelloWorld.class——字节码文件

    注意:字节码文件——.class文件,一个类对应一个字节码文件,这样是为了使用方便,如果需要HelloWorld,那么就加载相应的字节码文件,在java中,用到哪个类,就加载哪个类,字节码文件用notepad++打开是一堆乱码,它是二进制文件,是让机器去识别的
  7. 此时在刚才的DOC窗口再次输入java和文件名。代表程序运行完成,我们会看到DOC界面输出了HelloWorld,代表此次程序编译运行成功
  8. java代码的注释:
    ①:行注释://
    ②:块注释:/* / 快捷键:ctr+shift+/,既可以注释,也可以取消注释
    ③:文档注释:一般加载类的开始,或者方法的开始 /
    * */
    注意:程序的注释中有汉语可能会导致程序运行失败,如下界面,这是因为字节码格式不匹配导致的,具体就是windows创建一个文本文件的时候,默认是utf-8编码,而javac编译的时候又是以GBK编码去编译的

    解决方法:在编译的时候:javac HelloWorld.java -encoding utf-8

在这个最简单的java程序编译运行中,我们可以看出javac和java都属于JDK命令。javac就是java的编译器。 编译命令也就是javac,运行命令也就是java,javac命令的作用是让Java编译器获取Java应用程序HelloWorld.java.的源代码,把它编译成符合java虚拟机规范的字节码文件,也就是.class文件。它就是虚拟机上的可执行文件,虚拟机又把相应的字节码文件翻译为操作系统对应的机器码,java程序最后跑起来都跑到了JVM-Java Viture machine(Java虚拟机)它可以把.class文件加载到JVM当中来运行。也就是说javac把java的源代码转化为字节码,形成.class文件,然后在虚拟机上运行。idea eclipse等都可以看作java虚拟机。

那么现在我们知道了三个名词

  1. JDK:JAVA开发工具
  2. JRE:Java运行环境
  3. JVM:java虚拟机
    JDK默认包含JRE,JRE又默认包含JVM(最核心)
    那么什么是虚拟机呢?虚拟机就相当于一台电脑,所有的文件都要去虚拟机跑,跨平台指得就是不管哪个系统,只要有JDK,就有JVM。就能编译运行java程序。

到目前为止,我也算是对Java有了初步的认识,编译运行成功了第一个java程序,同时也认识了几个java世界的“明星”,收获满满,期待后面的学习!!!


推荐阅读
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • 本文介绍了在Windows系统上使用C语言命令行参数启动程序并传递参数的方法,包括接收参数程序的代码和bat文件的编写方法,同时给出了程序运行的结果。 ... [详细]
  • 本文介绍了使用Python解析C语言结构体的方法,包括定义基本类型和结构体类型的字典,并提供了一个示例代码,展示了如何解析C语言结构体。 ... [详细]
  • 本文介绍了GTK+中的GObject对象系统,该系统是基于GLib和C语言完成的面向对象的框架,提供了灵活、可扩展且易于映射到其他语言的特性。其中最重要的是GType,它是GLib运行时类型认证和管理系统的基础,通过注册和管理基本数据类型、用户定义对象和界面类型来实现对象的继承。文章详细解释了GObject系统中对象的三个部分:唯一的ID标识、类结构和实例结构。 ... [详细]
  • C语言的经典程序有哪些
    本篇内容介绍了“C语言的经典程序有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • OO第一单元自白:简单多项式导函数的设计与bug分析
    本文介绍了作者在学习OO的第一次作业中所遇到的问题及其解决方案。作者通过建立Multinomial和Monomial两个类来实现多项式和单项式,并通过append方法将单项式组合为多项式,并在此过程中合并同类项。作者还介绍了单项式和多项式的求导方法,并解释了如何利用正则表达式提取各个单项式并进行求导。同时,作者还对自己在输入合法性判断上的不足进行了bug分析,指出了自己在处理指数情况时出现的问题,并总结了被hack的原因。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • C语言自带的快排和二分查找
    Author🚹:CofCaiEmail✉️:cai.dongjunnexuslink.cnQQ😙:1664866311personalPage&#x ... [详细]
  • c语言基础编写,c语言 基础
    本文目录一览:1、C语言如何编写?2、如何编写 ... [详细]
author-avatar
大头莎LALA
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有