Java标识符

Java 中标识符是为方法、变量或者其他用户定义项定义的名称。
标识符用来对变量、常量、类和方法等进行命名。

标识符命名规则:

  1. 标识符由数字(0~9)、美元符号($)、下划线(_)以及Unicode字符集组合构成;
  2. 标识符各符号之间没有空格;
  3. 标识符第一个字符不能为数字;
  4. 标识符不能为关键字和保留字;
  5. 标识符的命名最好能反映其作用。

注:在Java中,是区分大小写的,标识符也包括关键字。

关键字

Java 的关键字对 Java 编译器有特殊的意义,它们用来表示一种数据类型,或者表示程序的结构等。

保留字是为 Java 预留的关键字,它们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。

java 标识符详细解释 java标识符的作用_Java

Java变量

变量就是指代在内存中开辟的存储空间,用于存放运算过程中需要用到的数据。
变量的声明
变量必须先声明后使用。
相同的变量只能声明一次。
格式:变量类型 变量名 = 变量值,如

int x = 10;

未经声明的变量不能使用,Java语言语法规定,变量使用之前必须声明,否则会有编译错误

java 标识符详细解释 java标识符的作用_标识符_02


如果多个变量的类型一样,可以在一条语句中声明,中间使用逗号分隔

int x = 10,y = 3;

变量的命名
命名规则:

  1. 满足标识符的命名规则;
  2. 符合驼峰法命名规范;
  3. 尽量简单,做到见名知意;
  4. 变量名的长度没有限制,但尽量做到第三条;

变量的访问

对变量的操作即为对其所存储的数据的操作

java 标识符详细解释 java标识符的作用_java 标识符详细解释_03


在Java中,声明变量必须先指定好变量的数据类型,之后变量只能存储该类型的数据。

变量在声明时指定了它的数据类型, Java编译器会检测对该变量的操作是否与其类型匹配,如果对变量的赋值或者操作与其类型不匹配,会产生编译错误。

java 标识符详细解释 java标识符的作用_java 标识符详细解释_04


java 标识符详细解释 java标识符的作用_java 标识符详细解释_05

数据类型

java 标识符详细解释 java标识符的作用_java_06


基本数据类型

基本数据类型是CPU可以直接进行运算的类型,包括:

  1. 整数类型:byte、short、int、long;
  2. 浮点数类型:float、double;
  3. 字符类型:char;
  4. 布尔类型:boolean;

整数类型

  1. byte:长度为1字节8bit,取值范围:-128~127;
  2. short:长度为2字节16bit,取值范围:-32768~32767;
  3. int:长度为4字节32bit,取值范围:-2147483648~2147483647;
  4. long:长度为8字节64bit,取值范围:-9223372036854775808~9223372036854775807;

在Java中,默认的整数类型为int类型

java 标识符详细解释 java标识符的作用_数据类型_07


图中l也为int类型,要想声明long类型,就需要在其后追加字母 l 或者 L,如long l = 2332L;

浮点数类型
浮点类型是带有小数部分的数据类型,也叫实型。浮点型数据包括单精度浮点型(float)和双精度浮点型(double),代表有小数精度要求的数字。
float—单精度浮点型,长度为4字节32bit
double—双精度浮点型,长度为8字节64bit
Java 默认的浮点型为 double,例如,11.11 和 1.2345 都是 double 型数值。如果要说明一个 float 类型数值,就需要在其后追加字母 f 或 F,如 11.11f 和 1.2345F 都是 float 类型的常数。

布尔类型
布尔类型(boolean)用于对两个数值通过逻辑运算,判断结果是“真”还是“假”。Java 中用保留字 true 和 false 来代表逻辑运算中的“真”和“假”。因此,一个 boolean 类型的变量或表达式只能是取 true 和 false 这两个值中的一个。

字符类型
Java 语言中的字符类型(char)使用两个字节的 Unicode 编码表示,它支持世界上所有语言,可以使用单引号字符或者整数对 char 型赋值,占2字节16bit
一般计算机语言使用 ASCII 编码,用一个字节表示一个字符。ASCII 码是 Unicode 码的一个子集,用 Unicode 表示 ASCII 码时,其高字节为 0,它是其前 255 个字符。
Unicode 字符通常用十六进制表示。例如“\u0000”~“\u00ff”表示 ASCII 码集。“\u”表示转义字符,它用来表示其后 4 个十六进制数字是 Unicode 码。

char x = '的';
char y = 's';
char z = 72;
char a = '\u0063';

char 类型有多钟表达方式,但归根到底还是表现单个字符。

基本数据类型变量在内存中的存储

java 标识符详细解释 java标识符的作用_Java_08


当前我们在主方法中存储的局部变量是存储在内存的栈区的。

int n = 100;
//该语句执行的时候,会先在栈区开辟int类型大小的空间(占用4字节,32位二进制的空间)
//在开辟完成后,通过赋值等于号,将100存储到开辟的空间中去
//所以此处可以将n,看做100所在的内存空间的别名

特例
字符串,它不属于基本数据类型,它是类! 但是字符串又比较特殊,它有一些和基本数据类型比较类似的地方,比如它变量的定义形式。

String str = "Hello,World!";

字符串是由双引号引起来的0个或多个字符,注意:字符串允许是空字符串!

字符串在内存中的存储,它将变量名存储在栈内存,变量值存储在常量池中,变量值在常量池中会有属于自己的地址,通过赋值号"="将地址存储在变量名所在空间。

java 标识符详细解释 java标识符的作用_数据类型_09


注:程序在运行时是自上而下,从左到右的,但在赋值时是从右到左。
注:变量的定义就是在内存中开辟相应数据类型的空间去存储数据。

数据类型转换

自动类型转换

低级变量可以直接转换为高级变量。

如果把范围小的数据,赋值给范围大的数据时,不会出现精度的缺失;反之,则可能会出现精度的缺失。

java 标识符详细解释 java标识符的作用_数据类型_10


当字符串执行加法运算就是拼接字符串。

强制类型转换

范围小的数据类型 变量 = (范围小的数据类型)范围大的数据。

强制类型转换也许会出现精度的缺失或溢出的情况。

int i = 150;
byte b = (byte)i;
System.out.println(b);

int i2 = 100;
byte b2 = (byte)i2;
System.out.println(b2);

String s = "56";
int si = Integer.parseInt(s);
System.out.println(si);

如果希望把String类型的数据,强制转为基本数据类型,可以使用基本数据对应的包装类实现。

表达式的自动提升
当一个表达式中包含多个基本数据类型的值时,整个算术表达式的数据类型将发生自动提升。
提升规则:
所有的byte/short/char类型将被提升到int;
整个算术表达式的数据类型,将被提升到与表达中最高等级操作数相同的类型。

char t1 = 'a';
   short t2 = 100;
   int t3 = 45;
   double t4 = 10.5;
   System.out.println(t1 + t2 + t3 + t4);

如果表达式包含字符串,应当把+号,当做字符串连接运算符,而不是加法运算符。

Java常量

所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
在这里要注意常量和常量值是不同的概念,常量值是常量的具体和直观的表现形式,常量是形式化的表现。

常量值:常量值又称为字面常量,它是通过数据直接表示的。

  • 整型常量值

十进制数:如 11、45等;
二进制数:二进制常数的表示以 0b 开头,如 0b00001010 表示十进制 10。
八进制数:八进制常数的表示以 0 开头,如 0125 表示十进制数 85。
十六进制数:十六进制常数的表示以 0x 或者 0X 开头,如0x100 表示十进制数 256。

  • 浮点型常量值

十进制数:由数字和小数点组成,且必须有小数点,如 12.34、98.0。
科学计数法:如 1.75e5、32E3,其中 e 或者 E 之前必须有数字,且 e 或 E 之后的数字必须为整数。

  • 布尔型常量值:布尔型常量只有两个值,即 false(假)和 true(真)。
  • 字符型常量

单引号字符:使用单引号引起来的一个字符或者一串转义字符,如 ‘a’,’\u62’ 都表示字符a。
数值:使用数值来表示,如 65 表示字符 A,97 表示字符 a。

常量:常量不同于常量值,它可以在程序中用标识符来代替常量值使用,因此使用前必须先定义。

  • 使用 final 关键字来定义常量。
  • 声明常量的同时要赋予一个初始值。
  • 常量一旦初始化就不可以被修改。
  • 为了与变量区别,常量声明一般都用大写字符。

练习:

一、选择

java 标识符详细解释 java标识符的作用_Java_11


ABF

java 标识符详细解释 java标识符的作用_数据类型_12

C

java 标识符详细解释 java标识符的作用_java 标识符详细解释_13


ABD

java 标识符详细解释 java标识符的作用_java_14


B

java 标识符详细解释 java标识符的作用_数据类型_15


AC

java 标识符详细解释 java标识符的作用_java 标识符详细解释_16


D

java 标识符详细解释 java标识符的作用_java_17


D

java 标识符详细解释 java标识符的作用_数据类型_18


D

java 标识符详细解释 java标识符的作用_数据类型_19


C

java 标识符详细解释 java标识符的作用_数据类型_20


AD

java 标识符详细解释 java标识符的作用_Java_21


CD二、编程

java 标识符详细解释 java标识符的作用_标识符_22


java 标识符详细解释 java标识符的作用_Java_23

java 标识符详细解释 java标识符的作用_java_24


java 标识符详细解释 java标识符的作用_java_25


java 标识符详细解释 java标识符的作用_标识符_26


java 标识符详细解释 java标识符的作用_java 标识符详细解释_27


java 标识符详细解释 java标识符的作用_Java_28


java 标识符详细解释 java标识符的作用_java_29


java 标识符详细解释 java标识符的作用_数据类型_30


java 标识符详细解释 java标识符的作用_Java_31