目录
一、Java常量
1.1什么是常量
常量是指在程序执行期间其值始终保持不变的变量。常量的值在声明时被设置,并且无法再修改。在很多编程语言中,常量通常用于存储不需要改变的数据或全局配置值。
常量在编程中具有以下特点:
- 不可变性:常量的值在声明后不能被修改或重新赋值。
- 命名:常量通常使用大写字母和下划线的形式命名,以便与变量区分。
- 固定值:常量的值在编译时或运行时确定,并且在整个程序执行期间都不会改变。
在Java中,使用final
关键字来声明常量。例如:
final int MAX_VALUE = 100;
final double PI = 3.14;
final String MESSAGE = "Hello, World!";
常量的使用可以提高程序代码的可读性和可维护性,同时还可以避免在程序中对不需要修改的值进行错误的更改。
总结起来,常量是在程序中具有恒定值且无法更改的变量。
1.整型常量:整数类型的数据:主要有如下4种形式:
二进制:由数字0和1组成的数字序列。在JDK7.0中允许使用字面值来表示二进制数,前面要以0B或0b开头,目的是为了和十进制的数进行区分,如0b01101100、0B10110101。
八进制:以0开头并且其后0~7范围内(包括0和7)的整数组成的数字序列,如0125。
十进制:由数字0~9范围内(包括0和9)的整数组成的数字序列,如123。
十六进制:以0x或者0X开头并且其后由0~9,A~F(包括0和9,A和F)组成的数字序列,如0x25AF。
2.浮点型常量:数学中用到的小数,分为双精度浮点数(double)和单精度浮点数(float)两种类型。双精度浮点数后面以D或d结尾,单精度浮点数后面以F或f结尾。如:2e3f、3.2d、2f、1.23d、3.022e+21f
3.字符型常量:用单引号引起来的一个字符,如 'e'、E'。需要注意的是,Java 字符串常量值中的单引号和双引号不可混用。
4.字符串常量:用于表示一串连续的字符,一个字符串常量要用双引号引起来。例如:“hello”、“123”
5.布尔常量:布尔常量是只有两个值,即 false(假)和 true(真)。
6.null常量:null常量只有一个值null,表示对象的引用为空。
1.2常见的转义字符及其表示的意义
在Java中,转义字符是一种特殊的字符序列,用于表示一些特殊的字符或控制字符。转义字符通常由反斜杠(\)后跟一个或多个字符组成。
以下是常见的转义字符及其表示的意义:
\"
:双引号。(用于在字符串中表示双引号字符)\'
:单引号。(用于在字符或字符串中表示单引号字符)\\
:反斜杠。(用于在字符或字符串中表示反斜杠字符)\n
:换行符。(用于在字符串中表示换行操作)\r
:回车符。(用于在字符串中表示回车操作)\t
:制表符。(用于在字符串中表示水平制表符)\b
:退格符。(用于在字符串中表示退格操作)\f
:换页符。(用于在字符串中表示换页操作)
这些转义字符可以在字符串中使用,以便在文本输出中表示一些无法直接输入的特殊字符或控制字符。
示例:
String quote = "She said, \"Hello, World!\"";
String fileName = "C:\\Users\\John\\Documents\\file.txt";
String message = "Line 1\nLine 2";
String tabs = "Col1\tCol2\tCol3";
String bellSound = "Beep!\b";
需要注意的是,在字符和字符串中使用转义字符时,需要将其放在引号内部。
1.3整型常量进制间的转换
1.3.1十进制转换二进制
将十进制数转换为二进制数,可以使用以下步骤:
- 将要转换的十进制数除以2,得到商和余数。
- 将得到的余数作为二进制数的最低位(最右边的位)。
- 再将商除以2,得到新的商和余数。
- 将得到的余数作为二进制数的下一位。
- 重复步骤3和步骤4,直到商为0为止。
- 将得到的二进制数从最低位(最右边的位)开始组合,即可得到十进制数对应的二进制数。
下面是一个示例,将十进制数38转换为二进制数:
38 ÷ 2 = 19 余 0
19 ÷ 2 = 9 余 1
9 ÷ 2 = 4 余 1
4 ÷ 2 = 2 余 0
2 ÷ 2 = 1 余 0
1 ÷ 2 = 0 余 1
1.3.2二进制转换十进制
-
从二进制数的最右边(最低位)开始,分别给每一位(从右到左)赋予2的次方值,从0开始递增。 例如,对于二进制数1101,可以给每一位分别赋予2^0、2^1、2^2 和 2^3。
-
对于每一位,如果该位为1,则将其对应的2的次方值相加;如果该位为0,则不进行相加。
-
继续向左移动,对下一位进行相同的操作,直到处理完所有位。
-
将所有相加得到的值即为二进制数对应的十进制数。
下面是一个示例,将二进制数1101转换为十进制数:
1 * 2^0 = 1
0 * 2^1 = 0
1 * 2^2 = 4
1 * 2^3 = 8
-------------
结果:13
因此,二进制数1101转换为十进制数的结果为13。
在Java中,可以使用以下代码将二进制转换为十进制:
String binary = "1101";
int decimal = Integer.parseInt(binary, 2);
System.out.println(decimal); // 输出:13
使用 Integer.parseInt()
方法,可以传递二进制字符串和进制(此处为2)作为参数,从而将二进制数转换为对应的十进制数。
1.3.3二进制转换八进制
二进制转换为八进制的过程是将二进制数按每三位一组进行分组,然后将每组转换为对应的八进制数。如果最高位的组不足三位,可以在前面补零。
以下是一个具体的例子:
假设我们有一个二进制数 110101101,我们可以将其分为三组: 1, 101, 011, 101。然后我们将每组转换为对应的八进制数:
- 1(二进制) = 1(八进制)
- 101(二进制) = 5(八进制)
- 011(二进制) = 3(八进制)
- 101(二进制) = 5(八进制)
所以,二进制数 110101101 转换为八进制就是 1535。
1.3.4二进制转换十六进制
要将二进制数转换为十六进制数,我们将二进制数按每四位一组进行分组,并将每组分别转换为对应的十六进制数。如果最高位的组不足四位,则在前面补零。
以下是一个具体的例子:
假设我们有一个二进制数 1101 0110 1011,我们可以将其分为四组: 1101, 0110, 1011。然后将每组转换为对应的十六进制数:
- 1101(二进制) = D(十六进制)
- 0110(二进制) = 6(十六进制)
- 1011(二进制) = B(十六进制)
所以,二进制数 1101 0110 1011 转换为十六进制就是 D6B。
二、Java变量
2.1变量的定义
程序在运行中,随时可能产生一些临时数据,应用程序会把这些数据保存在一些内存单元中,每个内存单元都用一个标识符来标识。这些内存单元就称为变量,定义的标识符叫做变量名,内存单元中存储的数据就是变量的值。
例如:
// 声明一个整数型变量
int number;
// 声明一个字符串变量
String message;
// 声明一个布尔型变量,并初始化为true
boolean flag = true;
// 声明一个浮点型变量,并初始化为3.14
float pi = 3.14f;
// 声明一个字符型数组变量
char[] chars = {'a', 'b', 'c'};
// 多个变量可以在一行上进行声明
int x, y, z;
上述示例中,我们通过指定变量类型(int、String、boolean等)和变量名(number、message、flag等),来定义了不同类型的变量。在某些情况下,我们还可以在变量定义时对其进行初始化,为其赋予初始值。
2.2变量标识符的命名规范
1.首字符必须是字母、下划线(―)、美元符号($)或人民币符号(¥)。
2.标识符由数字(0~9)、大写字母(A~Z)、小写字母(a~z)、下划线(―)、美元符号($)、人民币符号(¥)以及所有在十六进制 0xc0 前的 ASCII 码组成。
3.不能把关键字、保留字作为标识符。
4.标识符的长度没有限制。
5.标识符区分大小写。
2.3变量声明
1.在java中变量声明可以通过指定的数据类型和标识符声明变量,基本语法如下所示:
DataType identifier;
或
DataType identifier=value;
DataType:变量类型,如int,string,double等;
Identifier:变量的名称;
value:声明变量的值;
例如:
int a; //int类型的变量a
2.4变量赋值
1.初始化变量是给变量指定一个明确的初始值。初始化变量有两种方式:一种是声明时直接赋值,一种是先声明、后赋值。
直接赋值,例如:
char sex=”男”;
先声明后赋值,例如:
String name;
name=”张三”;
2.多个同类型的变量可以同时定义或者初始化,但是多个变量中间要使用逗号分隔,声明结束时用分号分隔。声明多个变量,例如:
String a,b,c,d;
声明并初始化多个变量,例如:
int a1=10,a2=20,a3=30;
三、总结
1.本文主要介绍了java的常量,包括了整型常量、浮点型常量、字符型常量、字符串常量、布尔常量、null常量,常用的转义字符及其表示的意义。
2.整型常量进制的转换,包括了十进制转换二进制,二进制转换十进制,二进制转换八进制,二进制转换十六进制的方法。
3.介绍了java的变量的定义,变量标识的命名规范,变量声明的方式,变量赋值的方式。