Java语言和其他编程语言一样,使用标识符作为变量、对象的名字,也提供了系列的关键字用以实现特别的功能。

一、分隔符

  Java语言里的分号(;)、花括号({})、方括号([])、圆括号(())、空格、圆点(.)都具有特殊的分隔作用,因此被统称为分隔符。

  (1)分号

  Java语言采用分号(;)作为语句的分隔,因此每个Java语句必须使用分号作为结尾。

  Java程序允许一行书写多个语句,每个语句之间以分号隔开即可;一个语句也可以跨多行,只要在最后结束的地方使用分号结束即可。

  以下语句都是合法的:

 int age = 25; String name = "张三";
String hello = "你好" +
"Java";

  Java语句可以跨越多行书写,但一个字符串、变量名不能跨越多行。

  以下语句是非法的:

 // 字符串不能跨越多行
String a = "aaaaaaaa
bbbbbbbbbb";
// 变量名不能跨越多行
String na
me = "zhangsan";

  一般而言,虽然Java语句可以跨越多行书写,但是从程序的可读性角度来看,最好一个语句一行。

  (2)花括号

  花括号的作用是定义一个代码块,一个代码块就是“{”和“}”所包含的一段代码,代码块在逻辑上是一个整体。

  对Java语言来说,类定义部分必须放在一个代码块里,方法体部分也必须放在一个代码块里。除此之外,条件语句中的条件执行体和循环语句中的循环体通常也放在代码块里。

  花括号一般是成对出现的。

  (3)方括号

  方括号的主要作用是用于访问数组元素,方括号通常紧跟数组变量名,而方括号里指定数组元素的索引。

  如下代码:

 // 把整数3赋值给a数组的第三个元素
a[2] = 3;

  (4)圆括号

  圆括号是一个功能非常丰富的分隔符:定义方法时必须使用圆括号来包含所有的形参声明,调用方法是也必须使用圆括号来传入实参值;不仅如此,圆括号还可以把表达式中某个部分括成一个整体,保证这个部分优先计算;除此之外,圆括号还可以作为强制类型转换的运算符。

  (5)空格

  Java语言使用空格分隔一条语句的不同部分。Java语言是一门格式自由的语言,所以空格可以出现在Java程序的任何地方,也可以出现任意多个空格,但不要使用空格把一个变量名隔开成两个,这将导致程序出错。

  Java语言中的空格包含空格符(Space)、制表符(Tab)和回车(Enter)等。

  除此之外,Java源程序还会使用空格来合理缩进代码,增强可读性。

  (6)圆点

  圆点(.)通常用作类/对象和它的成员(包括成员变量、方法和内部类)之间的分隔符,表明调用某个类或某个实例的指定成员。

二、标识符规则

  标识符就是用于给程序中变量、类、方法命名的符号。

  Java语言的标识符必须以字母、下划线(_)、美元符($)开头,后面可以跟任意数目的字母、数字、下划线、美元符。此处的字母并不局限于26个英文字母,而且可以包含中文字符、日文字符等。

  Java语言是区分大小写的,因此abc和Abc是两个不同的标识符。

  使用标识符时,需要注意如下规则:

    (1)标识符可以由字母、数字、下划线和美元符组成,其中数字不能大头;

    (2)标识符不能是Java关键字和保留字,但可以包含关键字和保留字;

    (3)标识符不能包含空格;

    (4)标识符只能包含美元符,不能包含@、#等其他特殊字符。

三、Java关键字

  Java语言中有一些具有特殊用途的单词被称为关键字,当定义标识符时,不要让标识符和关键字相同,否则将引起错误。

  Java的所有关键字都是小写的,TRUE、FALSE和NULL都不是Java关键字。

  Java一共包含50个关键字,如下图所示:

  上面的50个关键字中,enum是从Java 5新增的关键字,用于定义一个枚举。而goto和const这两个关键字也被称为保留字,保留字的意思是,Java现在还未使用这两个关键字,但可能在未来的Java版本中使用这两个关键字。

  不仅如此,Java还提供了三个特殊的直接量:true、false和null;Java语言的标识符也不能使用这三个特殊的直接量。

Java学习第四天之标识符与关键字的更多相关文章

  1. Java学习笔记【二、标识符、关键字、数据类型】

    基础语法 大小写敏感 类名用帕斯卡命名法 方法名用驼峰命名法 所有java程序,源码文件名须与类名一致 所有java程序,均以 public static void main(string []arg ...

  2. 从.Net到Java学习第四篇——spring boot+redis

    从.Net到Java学习系列目录 “学习java已经十天,有时也怀念当初.net的经典,让这语言将你我相连,怀念你......”接上一篇,本篇使用到的框架redis.FastJSON. 环境准备 安装 ...

  3. java学习(四)

    学号 20189214 <Java程序设计>第四周学习总结 教材学习内容总结 枚举 枚举是JDK1.5版本新增的特性(泛型.For-each等如今被广泛应用的特性也是由JDK1.5时所新增 ...

  4. Java学习笔记四---打包成双击可运行的jar文件

    写笔记四前的脑回路是这样的: 前面的学习笔记二,提到3个环境变量,其中java_home好理解,就是jdk安装路径:classpath指向类文件的搜索路径:path指向可执行程序的搜索路径.这里的类文 ...

  5. Java学习第四篇:数组,排序,查找

    一.数组 1.一维数组 (1).数组的定义 数据类型 数组名[]=new 数据类型[大小] public class Demo1 { public static void main(String[] ...

  6. JAVA学习第四十七课 — IO流(一):文件的读写

    输入流和输出流相对于内存 将外部设备的数据读取到内存中:输入 将内存中的数据写入外部设备中:输出 IO流经常使用基类 字节流的抽象基类:InputStream,OutputStream 字符的抽象基类 ...

  7. java学习(四)--- String 、StringBuffer、StringBuilder 和 数组

    对于 String.StringBuffer.StringBuilder比较一下 主要说说三者的不同 String 长度大小不可变 StringBuffer 和 StringBuilder 长度可变 ...

  8. Java学习笔记四:Java的八种基本数据类型

    Java的八种基本数据类型 Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. Java基本类型共有八种,基本类型可以分为三类,字符类型char,布 ...

  9. Java学习十四

    学习内容: 1.Junit 2.maven安装配置环境 一.Junit实例演示步骤 1.引入jar包 junit包需要引入hamcrest-core包,否则会报错 2.测试如下代码 package c ...

随机推荐

  1. LeetCode_53. Maximum Subarray

    53. Maximum Subarray Easy Given an integer array nums, find the contiguous subarray (containing at l ...

  2. QuickText for Notepad++

    昨刚投入新欢Notepad++,思路如泉涌,码代码也不累了,一口气用她码了两篇文- 今再接再厉,继续.QuickText严格说来算不上什么神器级插件,也仅只是一个缩写快捷输入的插件而已.可用得好,那效 ...

  3. iOS-UIImageView和UIImage

    UIImage self.imageView.contentMode = UIViewContentModeCenter;// 图片的内容模式 [self.imageView setFrame:CGR ...

  4. 【c# 学习笔记】使用virtual和override关键字实现方法重写

    只有基类成员声明为virtual或abstract时,才能被派生类重写:而如果子类想改变虚方法的实现行为,则必须使用override关键字. public class Animal { private ...

  5. 分享一个关于Opencv的小总结

    import cv2   #opencv读取的格式是BGR import numpy as np 一.#读入文件 img=cv2.imread('cat.jpg') #’’引号内是图片所在盘的地址+名 ...

  6. 【转】Linux用Nasm巧汇编

    看到一篇总结nasm的使用,解决了我的一点问题,下面是原文链接 原文链接:https://blog.csdn.net/zdwzzu2006/article/details/3990502

  7. 高级UI-NavigationView侧滑

    NavigationView是遵循MD设计规范的侧滑模式,推荐使用 要使用NavigationView,就需要引入support-design依赖 implementation 'com.androi ...

  8. 学习笔记:oracle学习二:oracle11g数据库sql*plus命令之数据库交互、设置运行环境

    目录 1.SQL*PLUS与数据库的交互 2.设置sql*plus运行环境 2.1 set命令简介 2.2 使用set命令设置运行环境 2.2.1 pagesize变量 2.2.2 NEWPAGE变量 ...

  9. PCL学习(四)点云转换为网格

    Remove needless points compute normals surface reconstruction get texture(param 4096 basic) save pro ...

  10. Acquire and Release Fences

    转载自:   http://preshing.com/20130922/acquire-and-release-fences/ Acquire and release fences, in my op ...