标识符
-
Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符。
- 凡是自己可以起名字的地方都叫标识符,都遵循标识符的规则
-
Java标识符命名规则:
- 标识符由字母、下划线“_”、美元“$”或数字组成。
- 标识符应以字母、下划线、美元符开头。
- Java标识符大小写敏感,长度无限制。
-
约定俗成:Java标识符选取应注意**“见名知意**”且不能与Java语言的关键字重名
合法的标识符 不合法的标识符 HelloWorld class DataClass DataClass# _983 98.3 $bS5_c7 Hell World
关键字
- Java中一些赋以特定的含义,用做专门用途的字符串称为关键字(keyword)。
- 大多数编辑器会将关键字用特殊方式标出
- 所有Java关键字都是小写英文
- goto和const虽然从未使用,当也作为Java关键字保留
常量
- Java的常量值用字符串表示,区分为不同的数据类型。
- 如整型常量:123
- 实型常量:3.14
- 字符常量:‘a’
- 逻辑常量:true、false
- 字符串常量:“helloworld”
- 注意:区分字符常量与字符串常量
- 注意:“常量”这个名字还可以用在另外其他环境中表示不可变的变量
- final关键字
Java变量
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
- Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,声明格式为:
type varName [=value][{,varName[=value]}]
- 例如:
int i = 100;
float f = 12.3f;
double d1, d2, d3 = 0.123;
String s = "hello";
- 从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须先申请(声明),然后必须进行赋值(填充内容),才能使用。
程序执行过程
- code segment:代码区
- data segment:静态变量字符串常量
- stack(栈):存放局部变量
- heap(堆):存放new出来的东西
Java变量分类
- 按被声明的位置划分:
- 局部变量:方法或语句块内部定义的变量
- 成员变量:方法外部、类的内部定义的变量
- 注意:类外面(与类对应的大括号外面)不能有变量的声明
- 按所属的数据类型划分:
- 基本数据类型变量
- 引用数据类型变量
Java局部变量与成员变量
-
方法体内部声明的变量(包括形参)称为局部变量
- 方法体内部是指与方法对应的大括号内部
-
在方法体外,类体内声明的变量称为成员变量
public void method(){ int i; int j = i + 5;//编译出错,变量i还未被初始化 double d = 3.14; Dog dog; dog = new Dog(22, 7, 74); }
-
作用域:在该大括号里声明的变量,出了该大括号,则该变量没有人认识
Java数据类型的划分
数据类型
- 基本数据类型(4类8种基本数据类型)
- 数值型
- 整数类型(byte、short、int、long)
- 浮点类型(float、double)
- 字符型(char)
- 布尔型(boolean)
- 数值型
- 引用数据类型
- 类(class)
- 接口(interface)
- 数组
逻辑型Boolean
-
boolean类型适用于逻辑运算,一般用于程序流程控制
-
boolean类型数据值允许取值true或false,不可以0或非0的整数替代true和false,这点和c语言不同
-
用法举例:
boolean flag; flag = true; if(flag){ //do something }
字符型char
- char型数据用来表示通常意义上“字符”。
- 字符常量为用单括号括起来的单个字符,例如:
char eChar = 'a';
char cChar = '中';
- Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示,例如:
char c1 = '\u0061';
- 注:Unicode是全球语言统一编码
- Java语言中还允许使用转义字符“\”来将其后的字符转变成其他的含义,例如:
char c2 = '\n';
- //’\n’代表换行符
- 补充:2进制、10进制、16进制之间的转换
- 1101 — 1 * 1 + 0 * 2 + 1 * 4 + 1 * 8
- 13 — 1 + 4 + 8 - 1101
- 1101 — D
整数类型
-
Java各整数类型有固定的表数范围和字段长度,其不受具体操作系统的影响,以保证Java程序的可移植性。
-
Java语言整型常量的三种表示形式:
- 十进制整数,如:12,-314,0.
- 八进制整数,要求以0开头,如012。
- 十六进制数,要求以0x或0X开头,如0x12.
-
Java语言的整型常量默认为int型,声明long型常量可以后加“l”或“L”,如:
int i1 = 600;//正确
long l1 = 888888888888L;//必须加l否则会出错
类型 占用存储空间 表数范围 byte 1字节 -128~127 short 2字节 -215~215-1 int 4字节 -231~231-1 long 8字节 -263~263-1
浮点类型
-
与整数类型类似,Java浮点类型有固定的表数范围和字段长度,不受平台影响。
-
Java浮点类型常量有两种表示形式
- 十进制数形式,例如:3.14,314.0,.314
- 科学记数法形式,如3.14e2,3.14E2,100E-2
-
Java浮点型常量默认为double型,如要声明一个常量为float型,则需要在数字后面加f或F,如:
double d = 12345.6
float f = 12.3f;//必须加f否则出错
-
下面列出Java各种浮点类型
类型 占用存储空间 表数范围 float 4字节 -3.403E38~3.403E38 double 8字节 -1.798E308~1.798E308