当前位置: 首页 > 后端技术 > Java

JavafromScratch(七)Java基本语法

时间:2023-04-01 16:46:57 Java

前言本节我们将介绍Java语言的基本语法,包括我们在编写第一个Java程序时接触到的类的概念和主要方法,以及给源代码文件和类命名需要注意什么,可以用什么样的名字,不能用什么样的名字,如何给代码加上注释等等,只有掌握了这些最基本的知识能不能减少后续学习中的麻烦,避免踩坑。一、基本语法前面我们完成了第一个Java程序,现在来回顾一下:整个程序看似简单,但是包含了很多基础知识点。下面我们围绕这个程序介绍一下几个部分:区分大小写类main方法源码文件1.1区分大小写Java语言是区分大小写的,这个知识点很容易理解:所有的名字都区分大小写(文件名,类名、方法名称等)。例如:HelloWorld不同于helloWorld;Hello.java与Hello.java不同。1.2类Java是一种纯面向对象的编程语言,所以类(class)是程序的基本单元。所有的Java程序要想运行都离不开类。我们看一下第一行代码:publicclassHelloWorld{其中public是一个关键字,属于访问控制符,表示这个类是public的。关于什么是访问控制字符,初学阶段不需要理解。下面的class也是用来声明类的关键字,HelloWorld是类名,类名首字母要大写。如果类名由多个单词组成,则每个单词的首字母应大写。比如我们可以这样声明一个代表学生的类:publicclassStudent{...}1.3Main方法什么是main方法?请观察示例代码的类内部(指类名HelloWorld后花括号{}括起来的内容),该方法调用的是main方法。每个类只能有一个主要方法。需要注意的是,所有Java程序都是从main方法执行的。下面的写法是固定的,暂时不用深究:publicstaticvoidmain(String[]args){...}以及main方法内部(指的是main方法里面的内容)main())之后的一对大括号我们可以定义一些指令,例如:System.out.println("HelloWorld!");我们称这条指令为输出语句,它的作用是输出HelloWorld!到屏幕。后面会经常用到输出语句。我们也可以在main方法内部多次调用output语句输出多条内容:);System.out.println("第二行输出:编程");}}此外,一个类不仅可以包含一个main方法,还可以包含多个方法。在学习方法的概念之前,我们主要在main方法中编写示例代码。1.4源代码文件由于需要将源代码提供给计算机执行,所以我们需要将源代码以文件的形式保存在计算机的磁盘上。需要注意的是,源代码文件的名称必须与类名相同,后缀为.java。例如:HelloWorld类对应的源码文件名应该是HelloWorld.java,Student.java源码文件对应的类名是Student。2.Java标识符2.1概念在计算机编程语言中,标识符是开发人员在编程时使用的名称。用于命名变量、常量、函数、语句块等,建立名称与用法的关系。标识符通常由字母和数字以及其他字符组成。在Java中,标识符通常用于命名类、对象、变量、方法、接口和自定义数据类型。2.2命名约定标识符以字母(A-Z或a-z)、美元符号($)或下划线(\_)开头;在第一个字母之后,可以使用字母、数字和下划线的任意组合;正如我们前面提到的,标识Identifiers是区分大小写的;重要的是要注意Java中的关键字(在本节末尾描述)不能用作标识符。下面是合法的标识符命名示例:$name\_WorldStuentStuent1以下是非法标识符命名示例:¥color12name*abcfinal3。Java注释和空行3.1概念3.1.1注释注释是一种方便人们阅读程序的文字。它不会被编译器解析。养成多评论的习惯,不仅有助于自己理解程序,也有助于别人更好地理解自己的程序。在团队协作项目中,代码注释更为重要。通过编写通俗易懂的注释,代码开发人员可以大大降低协作成员之间的沟通成本。下图中灰色部分是Java源码中的注释:3.1.2Emptyline空行就是空行,和注释一样,不会被编译器解析。适当使用空行可以使代码结构看起来更好。例如下面程序的第2、5、8行都是空行:classHello{publicstaticvoidmain(String[]args){System.out.println("Hello");System.out.println("你好!");}}3.2注解的分类Java语言提供了三种类型的注解:单行注解多行注解文档注解3.2.1单行注释单行注释用于注释一行文字,以双斜杠开头,后面是要注释的内容,其写法为://注释的内容在Java代码中,它是这样的:!publicclassHello{//定义入口方法publicstaticvoidmain(String[]args){//打印输出:HelloSystem.out.println("Hello");}}3.2.2多行注释Multi-linecomments用于对多行文本进行注释,以/*开头,以*/结尾,其写法为:/*被注释的第一行内容为第二行的内容被注释,第三行的内容被注释*/当我们在开发的时候为了方便调试,需要注释一段多行逻辑代码,可以使用多行注释:publicclassDog{privateintage;私有字符串名称;/*多行注释,注释这段代码publicDog(Stringname,intage){this.name=name;这个。年龄=年龄;}*/publicstaticvoidmain(String[]args){}}3.2.3文档注释Java中还有一个特殊的多行注释——documentationNote,以/**开头,以*/结尾。如果有多行,每行以*开头,在代码中写成:/***HelloWorldclass*ItismyfirstJavaProgram*@Author:Colorful*@Date:2020/02/02*/publicclassHelloWorld{/***Main方法,将HelloWorld打印到屏幕上!*@paramargsmain方法的固定参数*/publicstaticvoidmain(String[]args){System.out.println("你好,世界!");}}这种特殊的多行注释需要写在类和方法的定义处。您可以使用诸如javadoc之类的命令来自动创建文档。另外,作者、时间、版本注释、要实现的功能等,方便程序维护和程序员交流。4关键字和保留字4.1概念关键字(Keyword)是Java语言中的一种特殊标记。它已经被语言本身预先使用,所以我们不能使用关键字作为我们标识符的名称。例如Java基本类型的int和boolean,流程控制语句中的if和for,访问修饰符public,以及一些用于声明和定义Java类、包和接口的类、包和接口。保留字(Reservedword)可能是未来的关键字,这意味着Java语言在未来的版本中可能会作为一个特殊的标记。Tips:无论是关键字还是保留字,我们一定要记住:我们不能在我们的代码中将它们作为标识符使用。4.2Java中的关键字是什么?关键字均以小写字母标示。Java语言定义了如下表所示的关键字:关键字描述abstract表示一个类或成员方法有一个抽象属性assert断言,常用于程序调试booleanbasic数据类型:boolean类型break跳出一个blockin进步。字节的基本数据类型。switch语句中使用了byte类型的case,表示在异常处理中使用其中一个branchcatch来捕获异常。Char基本数据类型:字符类型class用于声明一个类const,保留关键字continue返回到块开头。default用在switch语句中,表示默认分支;JDK1.8之后,也用于声明do中使用的接口函数do的默认实现-while循环结构中的双精度基本数据类型:条件语句中使用双精度浮点数类型else,表明分支枚举枚举在条件不为真时扩展表明一种类型是另一种类型的子类型。对于类,可以是另一个类,也可以是抽象类;对于一个接口,可以是另一个接口f??inal来描述final属性,表示一个类不能派生子类,或者成员方法不能被重写,或者字段值不能改变,用于定义finally用来处理的常量异常,用于声明几乎肯定会执行的语句块float基本数据类型之一,单精度浮点数类型,用于循环结构导字gotoreservedkeyword,没有具体含义导字实现ofif条件语句表示一个类实现了给定的接口import表示要访问指定的类或包instanceof用于测试对象是否是指定类型的实例对象int的基本数据类型之一,整数类型接口是long的基本数据类型之一。longinteger类型native用于声明一个方法是由计算机相关语言(如C/C++/FORTRAN语言)实现的。new用于创建一个新的实例对象packagepackageprivate一种访问控制模式:private模式protected一种访问控制模式:protected模式public一种访问控制模式:public模式return返回一种short基本数据类型来自成员方法的数据,短整数类型static表示具有static属性strictfp用于声明FP\_strict(单精度或双精度浮点数)表达式遵循IEEE754算术规范super表示引用当前对象的父类型或者父类型的构造方法switch分支语句结构的引导词synchronized表示一段代码需要同步执行。当前实例对象的引用throw抛出异常throws声明当前定义的成员方法中所有需要抛出的异常transient声明不需要序列化的字段try尝试可能抛出异常的块void声明当前成员方法没有返回值volatile表示在循环结构中使用两个或多个变量必须同步变化5.小结本节我们学习了Java的基本语法。我们知道Java语言是区分大小写的,而类是程序的基本单元,所以如果我们要写Java代码,就需要知道类的声明方式,而类中的main方法就是程序执行的起点。标识符是我们程序员在编程时使用的名称。我们在命名标识符的时候,一定不能在Java中使用关键字。在了解了注释的概念和分类之后,也建议大家在写代码的过程中多写注释,在学习别人代码的过程中多看注释。我们还会在下面的示例代码中加入很多注释,以帮助您理解程序。微信公众号