【二】Java变量与常量
Java变量与常量
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
类型,也可以在值后加d
或D
- 如:
123.43d
或123.43D
- 如表示
float
类型,则需要在字面值后加f
或F
- 如:
23.4f
或23.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 布尔类型字面值
布尔值只能定义为 true
和false
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,这样做可以限制方法,使其不能被重写,并且不能使其成为子类。
相关文章
- Java+MyEclipse+Tomcat (二)配置Servlet及简单实现表单提交
- Java 变量和常量
- java: InputStreamReader将字节的输入流变成字符的输入流,OutputStreamWriter将字符的输出流变成字节的输出流
- 健康,home? [java的内存浅析]
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- Java实现 LeetCode 86 分割链表
- Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
- Java实现蓝桥杯历届试题兰顿蚂蚁
- (Java实现) 整数区间
- 【JAVA】java编译错误:编码UTF8/GBK的不可映射字符
- 【Java】java使用反射访问对象方法和成员变量
- macos:安装java 17.0.6(android studio报错:Unable to locate a Java Runtime.)
- Java探针-Java Agent技术-阿里面试题
- atitit.session的原理以及设计 java php实现的异同
- 华为OD机试 - 路灯照明问题(Java & JS & Python)
- Simple Logging Facade for Java (SLF4J)作用(java日志框架)
- 【java】Java ArrayList
- JAVA编程:java环境安装和helloworld
- Java基础开发之编译异常和运行异常
- POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解
- JAX-RS介绍——Java API forRESTful WebServices,JAX-RS的目标是Web Services开发(这与HTML Web应用不同)而Spring MVC的目标则是Web应用开发