标识符及其命名规则
标识符:在计算机运行或其存在的任何一个成分(变量、常量、方法、类和接口等),都需要一个名字以用来标识它的存在和唯一性,这个名字 我们称它为标识符。
标识符命名规则:
强制
①以数字、大小写字母、下划线、$等组合命名
②不能以数字开头
③严格规范大小写 长度不限
④不能以关键字 保留字作为标识符
⑤标识符不能包含空格
约定
①类名首字母大写,如果是多个单词,每个单词的首字母大写(大驼峰表示法)
②包名全部小写
③变量名、方法名首字母小写(小驼峰表示法)
④变量名全部大写,多个单词中间用_连接(例如 USER_NAME)
⑤见名知意(例如 姓名:name,年龄:age等)
关键字
关键字通常也成为保留字,是程序设计语言本身已经使用且被赋予特定意义的一些标识符。它们主要是类型标识符(如 int byte class char 等 )下表是Java关键字及其含义解释。
关键字 | 含义 |
---|---|
abstract | 表明类或者成员方法具有抽象属性 |
assert | 用来进行程序调试 |
boolean | 基本数据类型之一,布尔类型 |
break | 提前跳出一个块 |
byte | 基本数据类型之一,字节类型 |
case | 用在switch语句之中,表示其中的一个分支 |
catch | 用在异常处理中,用来捕捉异常 |
char | 基本数据类型之一,字符类型 |
class | 类 |
const | 保留关键字,没有具体含义 |
continue | 回到一个块的开始处 |
default | 默认,例如,用在switch语句中,表明一个默认的分支 |
do | 用在do-while循环结构中 |
double | 基本数据类型之一,双精度浮点数类型 |
else | 用在条件语句中,表明当条件不成立时的分支 |
enum | 枚举 |
extends | 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口 |
final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量 |
finally | 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 |
float | 基本数据类型之一,单精度浮点数类型 |
for | 一种循环结构的引导词 |
goto | 保留关键字,没有具体含义 |
if | 条件语句的引导词 |
implements | 表明一个类实现了给定的接口 |
import | 表明要访问指定的类或包 |
instanceof | 用来测试一个对象是否是指定类型的实例对象 |
int | 基本数据类型之一,整数类型 |
interface | 接口 |
long | 基本数据类型之一,长整数类型 |
native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
new | 用来创建新实例对象 |
package | 包 |
private | 一种访问控制方式:私用模式 |
protected | 一种访问控制方式:保护模式 |
public | 一种访问控制方式:共用模式 |
return | 从成员方法中返回数据 |
short | 基本数据类型之一,短整数类型 |
static | 表明具有静态属性 |
strictfp | 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范 |
super | 表明当前对象的父类型的引用或者父类型的构造方法 |
switch | 分支语句结构的引导词 |
synchronized | 表明一段代码需要同步执行 |
this | 指向当前实例对象的引用 |
throw | 抛出一个异常 |
throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
transient | 声明不用序列化的成员域 |
try | 尝试一个可能抛出异常的程序块 |
void | 声明当前成员方法没有返回值 |
volatile | 表明两个或者多个变量必须同步地发生变化 |
while | 用在循环结构中 |
注释
注释是程序中的说明性文字,是程序中的非执行部分。在程序中添加注释的目的主要是提高代码的可读性,有助于修改代码和供人阅读。Java语言中分三种注释方法:
//单行注释 ( 快捷方式:ctrl+/)
/*
(快捷方式:多行注释 ctrl+shift+/)
*/
文档注释
/**
用于为类,方法,属性功能进行说明,调用时可以进行提示,用来生成API文档
*/
数据类型
在Java语言中,数据类型被分为基本类型和引用类型
其中基本类型又被分为整数类型、浮点类型、字符类型、布尔类型
整数类型包括字节型(byte)、短整型(short)、整型(int)、长整型(long)。
浮点类型包括单精度型(float)和双精度型(double)。
字符型(char)。
布尔类型(boolean)。
引用类型又被分为字符串(string)、数组([])、类(class)以及接口(interface)。
常量
常量:指在程序的整个运行过程中其值始终保持不变的量。Java中常用的常量,按其数据类型来分有整数型常量、浮点型常量、布尔型常量、字符型常量和字符串常量五种。
1.整数型常量:
整数型常量有三种表示形式
①十进制整数。由数字0~9构成。如:12,35,-8等
②八进制整数。以数字0开头后由数字0~7构成。如:012,08等
③十六进制整数。以0x开头后继由数字0~9、字母a~f或A~F构成。如:0x12,0x23af、 0xdf等
2.浮点型常量:
浮点型常量又称为实型常量,用于表示有小数部分的十进制数,它有两种表示形式:
①小数点形式。如:3.8、3.14等
②指数形式。如:2.3e3表示2.3*10^3
3.布尔型常量:
布尔型常量只有两个true和false。它代表一个逻辑量的两种不同状态。true代表真,false代表假。
4.字符型常量
字符常量有两种:
一种是普通字符,即用单撇号括起来的一个字符,如'b' ,'y','?'。字符常量在储存在计算机的储存单元中时,是以其代码(一般采用ASCII代码)储存的。
另一种是转义字符,即特殊字符常量。转义字符是C语言中表示字符的一种特殊形式,其含义是将反斜杠后面的字符转换成另外的意义。
另外还可以用字符的ASCII码表示,即用反斜符()开头,后跟字符的ASCII码,这种方法也称为转义序列表示法,具体方法是:有两种形式:
一种是用字符的八进制ASCII码,表示为:\0dd.这里,0dd是八进制值(0可以省略)。
另一种使用字符的十六进制ASCII码值,表示为 \xhh或Xhh 这里hh是两位十六进制值。
如:'A' ,'\101' 和 '\x41'都表示同一个字符常量。
转义字符:反斜线后面跟一个字符或一个代码值表示。
转义序列表示法还可以用来表示一些特殊字符,用来显示特殊符号或控制输出格式。
使用单撇号括起一个字符的形式即字符常量。使用字符常量需要注意以下几点:
(1)字符常量只能用单撇号括起来,不能使用单引号或其他括号。
(2)字符常量中只能包括一个字符,不能是字符串。
(3)字符常量是区分大小写的。
(4)单撇号只是界限符,不属于字符常量中旳一部分,字符常量只能是一个字符,不包括单撇号。
(5)单撇号里面可以是数字、字母等C语言字符集中除'和\以外所有可现实的单个字符,但是数字被定义为字符之后则不能参与数值运算。
5.字符串常量
定义:用双引号""括起来的0个或者多个字符组成的序列
存储:每个字符串尾自动加一个 '\0' 作为字符串结束标志
变量
变量是在程序的运行过程中其值可以被改变的量。Java中的变量遵从先声明后使用的原则。
变量声明格式如下:
类型名 变量名 1[=初始值] [, 变量名 2[=初始值],…… ]
其中方括号括起来部分是可选的。
变量分为整数型变量、浮点型变量、字符型变量以及布尔型变量。
下列代码是对整数型变量进行分析
public static void main(String[] args) { /*整数型变量 * byte型 一个字节 八位 表示范围 -128~127 * short型 两个字节 十六位 表示范围 -32768~32767 * int型 四个字节 三十二位 表示范围 -2147483648~2147483647 * long型(java语言赋值时默认为int类型,要赋值long型值,需要在数值末尾加上l或L,一般加大写L) * 八个字节 六十四位 表示范围 -9223372036854775808~9223372036854775807*/ byte a = 12; short b = 2356; int c = 12345678; long d = 456789123353L; System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(d); System.out.println(Byte.MAX_VALUE);// 输出byte最大值 System.out.println(Byte.MIN_VALUE);//输出byte最小值 System.out.println(Short.MAX_VALUE); System.out.println(Short.MIN_VALUE); System.out.println(Integer.MAX_VALUE); System.out.println(Integer.MIN_VALUE); System.out.println(Long.MAX_VALUE); System.out.println(Long.MIN_VALUE); } /*代码运行结果 * 12 2356 12345678 456789123353 127 -128 32767 -32768 2147483647 -2147483648 9223372036854775807 -9223372036854775808*/
下列代码是对浮点型变量进行分析
/*浮点型变量 * float浮点型(float类型后加f或F用来标识) 四字节 三十二位 取值范围 1.4E-45~3.4028235E38 * double双精度型(double类型后加d或D) 八字节 六十四位 取值范围 4.9E-324~1.7976931348623157E308 * 不加f或F,d或D 默认为double类型*/ float e = 3.4f; double f = 3.154873; System.out.println(e); System.out.println(f); System.out.println(Float.MAX_VALUE); System.out.println(Float.MIN_VALUE); System.out.println(Double.MAX_VALUE); System.out.println(Double.MIN_VALUE); /*输出结果为 * 3.4 3.154873 3.4028235E38 1.4E-45 1.7976931348623157E308 4.9E-324*/
下列代码是对字符型变量进行分析
/*字符型变量 * char 两个字节 八位 取值范围:Unicode字符集*/ char c1 = 'H'; char c2 = 'h'; char c3 = '\115'; System.out.println(c1); System.out.println(c2); System.out.println(c3); /*运行结果为: *H h M */
下列代码是对布尔型变量进行分析
/*布尔型变量 * boolean 取值范围:true或false*/ int a = 10, b = 100; boolean x,y,z; x = (a>b); y = (a!=b); z = (a+b==110); System.out.println(x); System.out.println(y); System.out.println(z); /*运行结果为: * false true true */
基本数据类型转换
java中可以从任意基本类型转型到另外的基本类型 .
例外 : boolean 类型不可以转换为其他的数据类型。
转换分为默认转换和强制转换
默认转换 :整形,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以
下原则:
容量小的类型默认转换为容量大的数据类型;数据类型按容量大小排
序为:
byte,short,char->int->long->float->double byte,short,char之
间不会互相转换,他们三者在计算时首先会转换为int类型 强制转换
容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造
成精 度降低或溢出;使用时要格外注意。
有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的
那一 种数据类型,然后再进行计算。
/*数据类型转换 boolean类型不可以进行基本数据类型转换 * 分为默认转换和强制转换 * 默认转换:容量小------>容量大 byte short char --->int--->long--->float---->double 强制转换: 容量大------>容量小 强制转换会出现的问题 数据溢出 精度降低*/ byte a = 10; short b = a; int c = a;//默认转换 int d = 258; byte e = (byte)d;//强制转换 数据溢出 char f = 'a'; int g = f; long h = 132456789; int j = (int)h; float o = 2.58f; long p = (long)o; double q = 3.1415926; float r = (float)q;//强制转换 精度降低 System.out.println(b); System.out.println(c); System.out.println(e); System.out.println(g); System.out.println(j); System.out.println(p); System.out.println(r); System.out.println(Float.MAX_VALUE); System.out.println(Long.MAX_VALUE);