一、变量
变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。由于该存储单元中的数据可以发生改变,因此得名为"变量"。
变量分类:
按所属的数据类型划分:
基本数据类型变量
引用数据类型变量
按被声明的位置划分:
局部变量:方法或语句块内部定义的变量
成员变量:方法外部、类的内部定义的变量
特别注意:类的外面不能有变量的声明
二、数据类型
由于变量记录的数据内容大小不同, 导致所需的存储单元大小不同,在 Java 语言中使用数据类型的概念加以 描述。
字节是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成 信息的一个小单位。Java 中的字节是八位的字节,即它包含八位的二进制数。
类型 | 占用内存 | 值范围(含边界值) | 默认值 |
整数型(int) | 4字节 | -2 147 483 648 ~ 2 147 483 647(稍大于 20 亿) | 0 |
短整数型(short) | 2字节 | -32 768 ~ 32 767 | 0 |
长整数型(long) | 8字节 | -9 223 372 036 854 775 808L ~ 9 223 372 036 854 775 807L | 0 |
字节型(byte) | 1字节 | -128 ~ 127 | 0 |
浮点型(float) | 4字节 | 3.40292347E+38-3.40292347E+38 | 0.0f |
双 精 度 型 (double) | 8字节 | -1.79769313486231570E+308-1.79769313486231570E+308 | 0.0d |
布尔型(boolean) | 1字节 | true 或 false | false |
字符型(char) | 2字节 | ‘ \u0000 - u\ffff ’ | ‘\u0000 ’ |
三、标识符
Java 对包、类、方法、参数和变量等要素命名时使用的字符序列称为标识符。规则如下
由字母、数字、下划线(_)和美元符号($)组成。
不能以数字开头。
区分大小。
长度无限制。
不能是 Java 中的保留关键字。
标识符命名习惯:见名知意。
示例:
合法标识符:HelloWord、username2、user_name、_userName、$abc_123
非法标识符:2UserName、user#Name、Hello World、class
四、类型转换
boolean 类型不能转换成任何其它数据类型。
自动类型转换:容量小的类型自动转换成容量大的数据类型
byte,short,int -> float ->long ->double
byte,short,int 不会互相转换,它们三者在计算时会转换成 int 类型
强制类型转换:容量大的类型转换成容量小的数据类型时,要加上强制转换符
long l = 100L;
int i = (int)l;
有可能造成精度降低或数据溢出,使用时要小心。
五、关键字大全
Java 中有一些赋予特定的含义,有专门用途的字符串称为关键字(keyword)。全部是小写。
保留字:没有定义用途,但保留备用。 goto、const
六、二进制
计算机中的数据都以二进制数字保存。
二进制:逢二进一。即只有 0、1 两个值。
如:十进制的 10 在计算机内保存为二进制的 1010
计算机中信息的存储单位
位(Bit):表示一个二进制数码 0 或 1,是计算机存储处理信息的最基本的单位。
字节(Byte):一个字节由 8 个位组成。它表示作为一个完整处理单位的 8 个二进制数码。
补码:
事实上,计算机内的二进制数值是以补码形式表示的。
补码:
一个正数的补码和其原码的形式是相同的。
负数的补码是:将该数的绝对值的二进制形式,按位取反再加 1。
由此可知,二进制补码数值的最高位(最左位)是符号位:该位为 0,表示数值为正数;该位为 1,表示数值为负数。
10 = | 00000000 00000000 00000000 00001010 |
-10 = | 11111111 11111111 11111111 11110110 |
主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。
二进制和十进制之间的互换
二进制数转换成十进制数
按权相加:把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。
例:原码 1011.01 = 1×2^3+0×2^2+1×2^1+1×2^0+0×2^-1+1×2^-2
= 8+0+2+1+0+0.25
=11.25
十进制转换成二进制
整数部分:"除 2 取余,逆序排列"法
小数部分:"乘 2 取整,顺序排列"法
2 89 2 44 … 1 2 22 … 0 2 11 … 0 2 5 … 1 2 2 … 1 2 1 … 0 0 … 1 89 1011001 | 0.625 X 2 1.25 X 2 0.5 X 2 1.0 0.625 0.101 |
十六进制
二进制表示法太冗长,所以在程序中一般喜欢用十六进制。
十六进制:基数为十六,逢十六进一。它用 abcdef 表示从 0-9 之上的值。
Java 中十六进制数据要以 0x 或 0X 开头。如:0x23D
十六进制转换成二进制只需将每个十六进制数字替换为相对应的四个二进制位即可。
二进制 | 十六进制 |
0000 | 0 |
0001 | 4 |
0010 | 5 |
0011 | 6 |
0100 | 4 |
0101 | 5 |
0110 | 6 |
0111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
八进制
八进制:基数为八。
Java 中八进制数据要以 0 开头。如:0123
八进制转换成二进制:只需将每个八进制数字替换为相对应的三个二进制位即可。
现在的计算机系统很少用八进制的了。
二进制 | 八进制 |
000 | 0 |
001 | 1 |
010 | 2 |
011 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
七、方法
概述:
方法用于封装一段特定的逻辑功能。方法的主要要素有:权限修饰符 方法名、参数列表和返回值。
格式:
权限修饰符 返回值类型声明 方法名称(参数列表){
方法中封装的逻辑功能;
return 返回值;
}
权限修饰符详解
访问修饰符 | 同一个类 | 同包 | 不通包,子类 | 不同包,非子类 |
private | ✓ | |||
default | ✓ | ✓ | ||
protected | ✓ | ✓ | ✓ | |
pbulic | ✓ | ✓ | ✓ | ✓ |
返回值详解
方法调用结束后可以返回一个数据,称之为返回值。
方法在声明时必须指定返回值的类型。
通过 return 语句返回,return 语句的作用在于结束方法且将数据返回。
如果方法没有返回值(即方法不需要返回数据),需将返回值类型声明为 void。
参数列表详解
方法的参数列表:在调用时传递给方法,需要被方法处理的数据。
在方法定义时,需要声明该方法所需要的参数变量。
在方法调用时,会将实际参数值传递给方法的参数变量。必须保证传递参数的类型和个数符合方法的声明。
方法示例
public void say(int a,int b){
System.out.println(“方法 say 正在执行”);
}