一、关键字和标识符
关键字:被Java语言赋予了特殊含义,用作专门用途的字符串(单词)
特点:关键字中所有字母都为小写
官方地址:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
Java语言的常见关键字:
保留字(reserved word):现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字。如:goto 、const
标识符(Identifier):Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符 (技巧:凡是自己可以起名字的地方都叫标识符)
命名规则:硬性要求
标识符可以包含英文26个字母(区分大小写)、0-9数字、美元符号$和下划线_
标识符不能以数字开头,Java标识符大小写敏感且长度无限制
不可以使用关键字和保留字,但能包含关键字和保留字
Java中严格区分大小写,长度无限制
标识符不能包含空格
命名规范:软性要求
包名:多单词组成时所有字母都小写:xxxyyyzzz
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz (大驼峰式)
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz (小驼峰式)
常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YY
注:java不采用通常语言使用的ASCII字符集,而是采用Unicode这样标准的国际字符集。因此,这里字母的含义不仅仅是英文,还包括汉字等等。但是不建议使用汉字定义标识符。
注:main是标识符,但不是关键字。
二、变量
定义:程序运行期间,内容可以发生改变的量。(变量本质上就是代表一个“可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。)
内存中的一个存储区域
该区域的数据可以在同一类型范围内不断变化
变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值
Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。
变量的作用:用于在内存中保存数据
使用变量注意:
Java中每个变量必须先声明,后使用(变量必须要声明且初始化后才能使用。)
使用变量名来访问这块区域的数据
变量的作用域:其定义所在的一对{ }内
变量只有在其作用域内才有效
同一个作用域内,不能定义重名的变量
变量的声明方法:
第一种:
声明变量 语法: 例如:int var;
变量的赋值 语法: = 例如:var = 10;
第二种:
声明和赋值变量 语法: = 例如:int var = 10;
笔试题:下面代码的运行结果是?
public class Test { public static void main(String[] args) { String s; System.out.println("s = " + s); }}//结果:编译不通过,使用变量s之前并未赋值过s
变量的分类-按数据类型
对于每一种数据都定义了明确的具体数据类型(强类型语言),在内存中分配了不同大小的内存空间。
数据类型:只有2种 基本数据类型和引用数据类型
基本数据类型(4类8种)
整数型 byte(1个字节) short(2个字节) int(4个字节) long(8个字节) 默认类型int
浮点型(就是小数) float(4个字节) double(8个字节) 默认类型double
字符型 char(2个字节)
布尔型 boolean (1个位而非一个字节)
整数类型:byte、short、int、long
Java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性。
java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’
java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long
bit: 计算机中的最小存储单位。byte:计算机中基本存储单元。
浮点类型:float、double
浮点型常量有两种表示形式:
十进制数形式:如:5.12 512.0f .512 (必须有小数点)
科学计数法形式:如:5.12e2 512E2 100E-2
float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。
double:双精度,精度是float的两倍。通常采用此类型。
Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。
浮点型:float(4字节) \ double(8字节)
float表示数值的范围比long还大
字符类型:char
char 型数据用来表示通常意义上“字符”(2字节)
Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符。
字符型变量的三种表现形式:
字符常量是用单引号('')括起来的单个字符。
例如:char c1 = 'a'; char c2 = '中'; char c3 = '9';
tips:也可以使用unicode码定义变量
char c4=97;//实际开发中非常少见
Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。 例如:char c3 = ‘\n’; 其中 '\n'表示换行符
直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a 表示 \n。
char类型是可以进行运算的。因为它都对应有Unicode码。
布尔类型:boolean
boolean 类型用来判断逻辑条件,一般用于程序流程控制:
boolean类型数据只允许取值true和false,无null这个值。
不可以使用0或非 0 的整数替代false和true,这点和C语言不同。
注意事项:
字符串不是基本类型,而是引用类型。
浮点型可能只是一个近似值,并非精确的值。
数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但是float是4字节,long是8字节。
浮点数当中默认类型是double。如果一定要使用float类型,需要加上一个后缀F。
如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L。推荐使用大写字母后缀。
三、常量
定义:是指在Java程序中固定不变的数据。
常量的分类:
字符常量:单引号引起来,只能写一个字符,必须有内容。例如:’A’、’9’、’中’、
注:字符常量中有且仅有1个字符,空格都行;将一个数字、字母或者符号用单引号’ ’标识。
字符串常量:双引号引起来,可以写多个字符,也可以不写。例如:”abc”、”你好”、”12”、""
注:字符串常量中可以是任意个,可以是0个;将一个或多个字符用双引号” ”标识。
整数常量:所有的整数。例如:100、0、-20
浮点数常量:所有的小数。例如:2.5、-3.14、0.0
布尔常量:只有量中取值。只有true、false两种。
空常量:只有一个值null。代表没有任何数据。
System.out.println(null);//错误!!!注意空常量不能直接用来打印输出