zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【二】Java变量与常量

JAVA变量 常量
2023-09-11 14:19:17 时间

1. 标识符

标识符(identifier)是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义。在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。

标识符的命名规则:

  • 标识符可以由字母、数字、下划线(_)和美元符($)组成,不能以数字开头
  • 标识符严格区分大小写
  • 标识符不能是Java关键字保留字
  • 标识符的命名最好能反映出其作用

2. 关键字

常用的关键字有:

abstract、 boolean 、break、 byte、 case、 catch、
char、 class 、continue、 default、 do、 double、
else、 extends、 false、 final、 finally、 float、
for、 if、 implements、 import、native、 int、
interface、 long、 instanceof、 new、 null、 package、
private、 protected、 public、 return、 short、 static、
super、 switch、 synchronized、 this、 throw、 throws、
transient、 true、 try、 void、 volatile、 while

关键字是java內部定义特定的标识符,我们自己写代码过程中不能使用关键字做变量名、类名、方法名等。

3. 变量

变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。
变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如Haskell)中,变量可能是不可变的。
在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在Java和Visual Basic中);但另外一些语言可能使用其它概念(如C的对象)来指称这种抽象,而不严格地定义“变量”的准确外延。

变量的三个元素:变量类型变量名变量值

变量名的命名规则:

  • 满足标识符命名规则:
  • 符合驼峰法命名规范
  • 尽量简单,做到见名知意
  • 变量名的长度没有限制

类的命名规则:

  • 满足Pascal命名法规则,如HelloWorld

帕斯卡命名法指当变量名和函式名称是由二个或二个以上单词连结在一起,每个单词首字母大写。而构成的唯一识别字时,用以增加变量和函式的可读性。

4. 数据类型

在这里插入图片描述
基本数据类型:

数据类型说明字节
byte字节型1
short短整型2
int整型4
long长整型8
float单精度浮点型4
double双精度浮点型8
char字符型2
boolean布尔型1

4.1 进制表示

八进制:以0开头,包括0-7的数字
如:037,056

十六进制表示:以0x或0X开头,包括0-9的数字,及字母a-f,A-F
如:0x12,0xabcf,0XABCFF

0x, oX 都可以(x不区分大小写)

Java中有三种表示整数的方法:十进制八进制十六进制

  • 如:123,023,0x1357,0X3c,0x1abcL(长整型,L大小写都可)

4.2 变量声明

格式:数据类型 变量名;

int n; // 声明整型变量n
long count; // 声明长整型变量count

4.3 赋值及变量定义

使用“=”运算符进行赋值。
“=”叫作赋值运算符,将运算符右边的值赋给左边的变量。

int n; // 定义int型变量n
n = 3; // 将3赋值给n

// 可以在定义变量的同时给变量赋值,即变量的初始化。
int n = 3; // 数据类型 变量名=变量值;

整型字面值默认情况下是int类型,如果表示长整型则在末尾加l 或L

4.4 浮点型字面值

  • 浮点型字面值默认情况下表示double类型,也可以在值后加dD
  • 如:123.43d123.43D
  • 如表示float类型,则需要在字面值后加fF
  • 如:23.4f23.4F

4.5 字符型字面值

字符型字面值用单引号内的单个字符表示。

  • 如:‘a’,‘b’,‘$’

定义:

char a = 'a'; 
char ch = 65;
System.out.println(a); // a
System.out.println(ch); // A

整型和字符型可以相互转换,转换依据就是ASCII码,因为char是两个字节,总长度是16位,可以表示的数值范围是65535,所以超出65535就要报错了。

4.6 ASCII码

ASCII(American Standard Code for Information
Interchange,美国标准信息交换代码),基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。

所以ASCII 不能表示中文。

表示方法:使用7位或8位二进制数组合来表示128或256种可能的字符。

  • 7位二进制组合 : 标准ASCII码
  • 8位二进制组合(后128位):扩展ASCII码
    在这里插入图片描述

4.7 Unicode编码

Unicode编码又称为统一码、万国码。
目标:支持世界上所有的字符集。

表示:

char c = '\u005d'; // 在值前面加前缀
System.out.println(c); //  ]

4.8 布尔类型字面值

布尔值只能定义为 truefalse

boolean b = true;

4.9 字符串字面值

双引号引起来的0个或多个字符。

String s1 = "";
String s2 = "Hello";

4.10 转义字符

在这里插入图片描述

5. 类型转换

5.1 自动类型转换(隐式类型转换)

自动转换顺序:
在这里插入图片描述

5.2 强制类型转换

如果A类型的数据表示范围比B类型大,则将A类型的值赋值给B类型,需要强制类型转换:

double d = 123.4;
float f = (float)d;

强制数据类型转换格式:(数据类型)数值

6. 常量

使用final关键字标记一个常量,常量只能被赋值一次

final int n = 5;

不能重复赋值,否则报错:
在这里插入图片描述

方法和类也可以标记为final,这样做可以限制方法,使其不能被重写,并且不能使其成为子类。