JavaSE_03_术语、关键字、标识符、注释、分隔符

一、      学习语法之前的提醒

1)          C语言属于一门高级语言,其实,所有高级语言的基本语法组成部分都是一样的,只是表现形式不太一样

2)          就好像亚洲人和非洲人,大家都有人类的结构:2只手、2只脚、1个头,只是他们外表不太一样,比如肤色、脸型

3)          因此,你掌握好了一门高级语言,再去学习其他高级语言,那是相当快的

4)          而且,很多其他高级语言,比如后面要学习的Objective-C,都是基于C语言、从C语言衍生出来的,好好学习C语言吧,绝对不吃亏

 


面向对象编程术语


类(class):类是构造面向对象系统的基本构筑块,它是现实世界中某一类实体的抽象。它是构建对象的蓝图。

对象(object):也称为实例(instance),是类的具体存在。


属性(attribute):也称为成员变量、实例变量(instance variable)、字段(field),表示一个对象所具有的状态。本书中,通常使用变量或者属性来称呼它。


方法(method):用于表示对象可以执行的动作,它包括名称、参数、返回类型以及方法体等内容。

构造器(constructor):也称为“构造方法”。用于创建和初始化一个实例的特殊方法,包括名称、参数以及“方法体”等,需要注意的是,它的名称必须和类名一致。


包(package):可以使用它来组织编写的类,使得类的组织更加有序。





二、      关键字

1.      什么是关键字

1>     关键字就是C语言提供的有特殊含义的符号,也叫做保留字

2>     C语言一共提供了32个关键字,这些关键字都被C语言赋予了特殊含义

autodoubleintstructbreakelselongswitch

caseenumregistertypedefcharexternreturnunion

constfloatshortunsignedcontinueforsignedvoid

defaultgotosizeofvolatiledoifwhilestatic

大致浏览一遍即可,不用去百度每个关键字的作用,这些关键字以后会经常用到的,到时候你想不记住都难

2.      关键字的特征

1>     全部都是小写

2>     在开发工具或者智能文本编辑工具中会显示特殊颜色。默认情况下,C语言中的所有关键字在Xcode中都会显示紫褐色

3.      main函数中哪些是关键字

intreturn


在说Java标识符的时候,提到了关键字,指出Java标识符起名的时候,是不允许和Java的关键字重名的。

 

那么,现在就来说说Java关键字。

 

Java中一些赋以特定的含义、并用做专门用途的单词称为关键字(keyword)。在定义自己的标识符的时候,不要和这些关键字重名,否则是不会通过编译的。

 

在用IDE进行Java开发的时候,基本上这些工具都会对Java关键字进行高亮特殊处理,和普通的Java标识符进行区分。一旦发现你起得标识符颜色和其他普通标识符不一样,并且出现错误提示,大部分情况就是你起的名字和Java关键字重名了。

 

Java是对大小写敏感的编程语言,要注意所有Java关键字都是小写的,TURE、FALSE、NULL等都不是Java关键字。

 

Java的关键字在以后的说明中会陆续学习到,没必要专门去研究。当遇到相应的的内容时,在学习与其相关的Java关键字内容即可。

 

我们接触到的java关键字已经有不少了:public  private void int double class static  if else 等。这里很多刚开始接触Java的人,容易将String也认为是关键字,其实从关键字全部是小写即可看出它不是,String是一个特殊的Java类,在后面会有专门的说明。

 

最后再说说保留字。首先保留字就是关键字,这点是要明确。其次,保留字是特殊的关键字。保留字因为“无为”而特殊。相比于其他的关键字,各有各的用途,保留字就是典型的占着** 不 ** 的典型代表,因为这个语言,Java中保留字也只有两个:goto 和 const。

 

为什么保留字明明没用,却在Java语言中占据着关键字这么重要的位置。准确说来,有点历史渊源。前面已经说到了,Java很多内容来源于C++,并且在最开始将适用人群定位为C++程序员阵营。因为Java和C++的很多相似性,为了不要让C++程序员在Java中误用goto和const,就将这两项设置为关键字,但不为它们赋予实际的作用,这样即使Java中没有goto和const的具体应用,程序员也无法使用goto和const进行相应的扩展,保证Java设计初衷不被破坏。(但是为了照顾大家的情绪,goto和const在Java中都有相应的替代实现)。


abstract

assert

boolean

break

byte

continue

case

catch

char

class

const

double

default

do

extends

else

final

float

for

goto

long

if

implements

import

native

new

null

instanceof

int

interface

package

private

protected

public

return

short

static

strictfp

super

switch

synchronized

this

while

void

throw

throws

transient

try

volatile

 

 

 



三、      标识符

1.      什么是标识符

标识符就是在程序中自定义的一些符号和名称。要跟关键字区分开来:关键字是C语言默认提供的符号,标识符是程序员自定义的

 

2.      标识符的作用

1)          标识符,从字面上理解就是用来标识某些东西的符号,标识的目的就是为了将这些东西区分开来

2)          其实,标识符的作用就跟人类的名字差不多,为了区分每个人,就在每个人出生的时候起了个名字

3)          C语言是由函数构成的,一个C程序中可能会有多个函数,为了区分这些函数,就给每一个函数都起了个名称。函数的名称就是标识符的一种。除了函数,以后还会学到“变量”这个概念,变量的名称也是标识符

 

3.      命名

1>     命名规则(一定要遵守)

l   只能由26个英文字母的大小写10个阿拉伯数字0~9下划线_组成

l   严格区分大小写,比如testTest2个不同的标识符

l   不能以数字开头

l   不可以使用关键字作为标识符

 

2>     命名规范(最好遵守)

l   尽量起个有意义的名称,比如一个完整的英文单词,别人一看这个名称就能才能这个标识符的作用。如果不懂英文,你也可以用拼音,尽量不要起像abcdesfsdfsdf等这类看起来没有意义的名称

l   如果标识符中含有多个单词,可以使用驼峰标识(除开第一个单词,后面每个单词的首字母都是大写):firstNamemyFirstName,或者使用下划线_来连接:first_namemy_first_name

 

4.      常见的标识符命名错误

合法标识符

非法标识符

注释

fromNo12

from#12

标识符中不能使用#符号

my_Boolean

my-Boolean

标识符中不能使用“-”符号,应使用下划线“_”代替

Obj2

2ndObj

标识符不能使用数字开头

myInt

int

“int”是内建关键字

jack_rose

jack&rose

符号“&”不能出现在标识符中

GUI

G.U.I

标识符内部需要出现“.”分隔符

 

在各种编程语言中,通常要为程序中处理的各种变量、方法、函数、对象和类等起个名字作为标记,以后就可以通过名字来对访问或修改某个数据的值,这些名字称为标识符。

 

简单来说,Java标识符就是我们给代码中各类内容起的名字。不需要对标识符的具体概念太过于分析。这里主要要了解的Java语言中,标识符有哪些要求。就像是我们起名字,都得有一定的规则和范围。

 

Java的标识符必须以字母、下划线(_)或美元符($)开头,后面可以跟任意数目的字母、数字、下划线(_)或美元符($)。

 

只要你起的标识符名字符合以上的规则,Java编译器就认可,进行编译通过,生成字节码代码。

 

这里要注意的是,字母的范围并不局限于26个英文字母,而是包括任何一门语言中的表示字母的任何Unicode字符。标识符不能包含空格,也不能使用java关键字。标识符的长度没有限制。后面会有相关的说明。Java编程语言是基于Unicode编码的,可接受几乎所有的语言字符。

 

同时在定义和使用标识符时需要注意,Java语言是大小写敏感的。比如,“abc”和“Abc”是两个不同的标识符。

 

在定义标识符的时候,需要注意以下一些问题:
1. 标识符不能有空格;
2. 标识符不能以数字开头;
3. 标识符不能是java关键字;(Java关键字下篇来说)
4. 不能有@、#等符号。

 

之所以强调这么几点,是因为在别的编程语言中,以上的标识符命名是允许的,需要特殊注意。

 

另外,虽然,可以使用中文名称作为标识符,但是并不建议这么做。因为在Java中,使用中文容易引起一些编码方面的问题。



5.      习题

指出标识符的正确性

test1Mike2jack My_tExt  _test

test!32 haha(da)tt 哈哈_text  123haha

78text    a      _123    _

 

四、      注释

1.      什么是注释

1)          注释是在所有计算机语言中都非常重要的一个概念,从字面上看,就是注解、解释的意思

2)          注释可以用来解释某一段程序或者某一行代码是什么意思,方便程序员之间的交流。假如我写完一行代码后,加上相应的注释,那么别人看到这个注释就知道我的这行代码是做什么用的

3)          注释可以是任何文字,也就是说可以写中文

4)          在开发工具中注释一般是豆沙绿色

 

2.      单行注释

1)          单行注释以两个正斜杠开头,也就是以//开头,只能注释一行,从//开始到这行的结尾都是注释的内容

2)          任何地方都可以写注释:函数外面、里面,每一条语句后面

 

3.      多行注释

多行注释以/*开头,以*/结尾,/**/中间的内容都是注释

 

4.      注释的作用

1>     被注释的代码不会参与编译

l   注释是写给人看的,不是给计算机看的。计算机怎么可能看得我们写的中文嘛。因此,当编译程序的时候,并不会将注释编译到.o目标文件中

l   .o文件的大小可以间接看出注释后的代码并没有被编译

2>     检查代码的作用

3>     排除错误

 

5.      注释的嵌套现象

1)          单行注释可以嵌套单行注释、多行注释

// 哇哈哈 // 呵呵呵

// /* fsdfsdf */  // sdfsdfsd

2)          多行注释可以嵌套单行注释

/*
// 作者:MJ 
// 描述:第一个C语言程序
作用:这是一个主函数,C程序的入口点
*/

3)          多行注释不能嵌套多行注释

/* 哈哈哈
  /*嘻嘻嘻*/
呵呵呵 */

4)          下面的写法是错误

// /*
哈哈哈
*/
 

6.      注释的重要性

l   要养成写注释的良好习惯。绝大部分项目经理检查下属代码的第一件事就是看有没有写注释,也有很多公司的机试也会检查注释(机试就是给你一道编程题、一台电脑,在规定时间内解题)
l   今天,你写了几百行代码,很高兴,做出了一个非常不错的功能,但是,忘了写注释。一个星期过后,你再回去看那一段代码,你可能完全看不懂了,这是很正常的事。如果你写了注释,那情况就不一样了,注释可以帮助你回顾代码的作用。
l   你在某家公司待了1年多,写了10几万行代码,但是你不写一点注释。有一天你离职了,新的员工接手你做的项目,他首先要做的事情肯定是要读懂你写的代码。可是你一点注释都没写,10万行代码,全部都是英文,这会让这位新员工非常地蛋疼。每个人都有自己的思想,写代码的思路肯定是不一样的,看别人写的代码是件非常痛苦的事情,特别是没有注释的代码。你不写注释的做法会大大降低公司的开发效率。因此,所有的正规公司都非常重视注释。
 

7.      习题

看看下列程序能否运行成功,如果能,说出运行结果:

1>     程序1

//主函数

int main(){

printf("itcast\n");

return 0;

}

2>     程序2

//主函数

int main(){

printf("//itcast\n");

return 0;

}

3>  程序3

主函数

int main(){

printf("itcast\n");

return 0;

}

4>  程序4

int main()

{

printf(//"itcast\n");

return 0;

}

5>  程序5

int main()//主函数{

   //printf("itcast\n");

return 0;

}


接着说Java注释的写法。这个就很简单了。

 

在Java中,提供了三种方式的注释方式:单行、多行以及文档注释。

 

单行和多行注释很容易理解,就是将注释符之间的内容当作注释,在编译和运行时将这部分内容忽略。

 

在java中,比较特殊的是javadoc注释,包含在这部分里的注释可以通过javadoc命令来自动生成API文档。通过javadoc工具,可以保证程序代码和技术文档的同步。在修改了程序中的注释后,只需要通过javadoc,就可以方便的生成相应的技术文档。

 

事实上,Java的API文档均是由Java JDK源码中的Java文档注释中,通过javadoc工具生成的。

 

单行注释就是在程序中注释一行代码,在Java中,将“//”放在需要注释的内容之前就可以了

 

多行注释是指一次将程序中的多行注释掉,在Java中,使用“/*”和“*/”来将程序中需要注释的内容包含起来,“/*”表示注释部分开始,而“*/”表示注释部分结束

 

这是一个java注释示例:

 

CommentTest.java

//这是一个单行注释
/*
 这是一个
 多行注释
 */
public class CommentTest {
 public static void main(String[] args) {
  System.out.println("打印输出");
  // System.out.println("这行将不会被编译、执行");
 }
}

 

从这个示例中,可以看出,不用担心源码中的注释的增加会影响Java代码的运行。在进行编译后,java字节码中,已经看不到Java注释的影子了。

 

Java注释只存在于源码中,是帮助人来更好的阅读理解Java源码的。

 

在Java中,还有一种特别的注释方式:文档注释。

 

利用这种注释,可以从java源文件中提取这些注释的内容,来产生HTML格式的API文档。文档注释的基本格式如下:


/**
文档注释内容
*/


可以看出,文档注释和多行注释的方式有点类似,主要的区别在于,文档注释的开始标记是“/**”,而多行注释标记的开始标记是“/*”。

 

因为文档注释最重要的一个功能就是用它来生成HTML格式的API文档,因此,很多的用于HTML格式化的HTML标记也可以用在文档注释中,在从这些注释中提取注释生成HTML文件的时候,在生成的HTML文件中,将使用这些HTML标记来格式化HTML文件内容。

 

和多行注释不同的另一个地方是,文档注释并不是可以放在java代码的任何地方,javadoc工具在从Java代码中提取注释生成API文档的时候,主要从以下几项内容中提取信息:
 包;
 公有(public)类与接口;
 公有(public)方法和受保护(protected)方法;
 公有(public)属性和受保护(protected)属性。

文档注释位置有:


 类注释
类注释用于说明整个类的功能、特性等,它应该放在所有的“import”语句之后,在class定义之前。
这个规则也适用于接口(interface)注释。

 

 方法注释
方法注释用来说明方法的定义,比如,方法的参数、返回值以及说明方法的作用等。方法注释应该放在它所描述的方法定义前面,紧靠着这个方法。

 

 属性注释
默认情况下,javadoc只对公有(public)属性和受保护属性(protected)产生文档----通常是静态常量(关于“静态”、“公有”、“受保护”的概念,请看后续章节内容)。

 

 包注释
类、方法、属性的注释都直接放到java的源文件中,而对于包的注释,无法放到java文件中去,只能通过在包对应的目录中添加一个package.html的文件来达到这个目的。当生成HTML文件时,package.html文件的<BODY>和</BODY>部分的内容将会被提取出来当作包的说明。关于包注释,后面还会有更进一步的解释。

 

 概要注释
除了包注释外,还有一种类型的文档无法从java源文件中提取,那就是对所有类文件提供概要说明的文件。同样的,也可以为这类注释单独新建一个HTML文件,这个文件的名字为“overview.html”,它得<BODY>和</BODY>标记之间的内容都会被提取。

 

在javadoc注释中,常用@来表示一个javadoc标记,常用的javadoc标记如下:
 @author:作者
 @version:版本
 @docroot:表示产生文档的根路径
 @deprecated:不推荐使用的方法
 @param:方法的参数类型
 @return:方法的返回类型
 @see:”参见”,用于指定参考的内容
 @exception:抛出的异常
 @throws:抛出的异常,和exception同义

 

在写好文档注释后,就可以利用javadoc命令工具生产该类的Java文档注释了,格式为html格式文档。

 

如果使用eclipse等IDE工具开发的话,都有相应的功能,可以为整个Java工程的全部源代码生成html格式的api文档。


这里来说说Java分隔符。

 

很多人说写程序就像是完成一篇文章。那么一篇好的文章自然少不了标点符号了。Java分隔符就是Java代码里面的分隔符。

 

Java中,具有代码分割作用的符号就是分隔符。圆点“.”、分号“;”、花括号“{}”和空格具有特殊的分隔作用,我们将其统称为分隔符。

 

1.分号

 

在Java中语句的分隔不是依靠回车来完成的,一条Java语句必须以分号(;)作为结束标记。因此,一行中可以写多条语句(语句之间用分号隔开即可)、一条语句也可以跨多行,只要在最后结束的地方加上分号表示此语句的结束。这个和很多的编程语言是一致的,比如C、C++、Javascript等。

 

2.块({})

 

所谓“块”,就是用“{”和“}”所包含的一段代码,它们在逻辑上常常是一个整体

 

在Java程序中,类的代码必须放在一个“块”中方法的代码也必须放在一个“块”中,而在条件语句、循环语句中的代码,也常常放在一个“块”中。{}就好像是一条边境线,将代码划分到相应的范围内。在Java代码中,{}数量必须匹配。不然就会出现没有结束范围的代码了。

 

3.空格(空白符)

 

就如同在英语中,使用空格来分隔单词一样,在程序语言中,也使用空格来分隔一条语句的不同部分,比如,在变量类型和变量名称之间,就必须使用空格来分隔开来。

 

在这边的空格包含如下一些主要的类型:空格符(space)、制表符(Tab)、回车(Return)等。

 

基本上来说,空格可以放在Java程序的任何地方,除了用于分隔一条语句外,空格还广泛地用于源代码的缩排,使得代码具有更高的可读性。

 

在写程序的时候,一定要灵活的使用空格来分隔语句或者做格式上的缩排等。但是,也要小心不要滥用它,比如,Java中规定,变量名、方法名等标识符不能包含空格,所以,不要定义包含有空格的标识符。

 

换句话说,空格符要用好,但不要滥用。除了必要的空格分隔(不然就无法区分不同的变量、名词了),空格更重要的作用是用来对源代码进行排版。源代码是给人来阅读的,良好地格式是顺畅阅读的前提。Java自有一套默认的代码编码排版规范。大部分的IDE都支持代码格式模版和自动格式化。所以对代码排版不用太担心。

 

4.圆点

 

圆点“.”用于类/对象和它的属性或者方法之间的分隔。在调用一个类/对象的属性或者方法的时候,必须使用如下的方式来完成。

 

在这里,圆点“.”就起到了分隔类/对象和它的方法或者属性的作用。这种用法在面向对象语言中很常见了。比如C++中、Ruby中等,有的语言是用其他符号来实现,比如php。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值