目录
基本数据类型
取值范围大小
情景一:
情景二:
情景三:
情景四:
标识符
情景一:
情景二:
情景三:
数组
一维数组
二维数组
多维数组
注释
单行注释
多行注释
文档注释
关键字
基本数据类型
访问控制
程序控制语句
包相关
变量引用
类、方法和变量修饰符
错误处理
基本数据类型
byte字节型 数据类型是8位、有符号的,以二进制补码表示的整数
最小值是 -128(-2^7)
最大值是 127(2^7-1)
默认值是0
short短整型 数据类型是 16 位、有符号的以二进制补码表示的整数
最小值是 -32768(-2^15)
最大值是 32767(2^15 - 1)
默认值是0
int整型 数据类型是32位、有符号的以二进制补码表示的整数
最小值是 -2,147,483,648(-2^31)
最大值是 2,147,483,647(2^31 - 1)
默认值是0
long长整型 数据类型是 64 位、有符号的以二进制补码表示的整数
最小值是 -9,223,372,036,854,775,808(-2^63)
最大值是 9,223,372,036,854,775,807(2^63 -1)
默认值是0L
通常在常数后面跟l或L,例如long a=9999999L;
float单精度浮点数 数据类型是单精度、32位
默认值是 0.0F
通常在常数后面跟f或F,例如float a=1.0F;
double双精度浮点数 数据类型是双精度、64 位
默认值是 0.0d
char字符型 数据类型可以储存任何字符
最小值是 \u0000(十进制等效值为 0)
最大值是 \uffff(即为 65535)
boolean布尔型 只有两个取值true 和 false
默认值是false
取值范围大小
double>float>long>int>short>byte
情景一:
数据小的类型的变量的值可以直接赋值给数据大的类型的变量
示例
int a=1; double b=a;
解释:
double的数据范围大于int的数据范围,所以将int型a变量直接赋值给b变量是合法的b变量中储存数为1.0
情景二:
char short byte三种类型运算时会先变成int类型再相加
示例
byte b1 = 10; byte b2 = 20; int result = b1 + b2;
解释:
示例中byte型的b1和b2相加得到的是int型,赋值给int型的result合法
情景三:
当多种类型运算时会优先变成数据类型最大的类型再运算
示例
int b1=10; long b2=20; float b3=50; float result1 = b1+b2+b3; double result2 = b1+b2+b3;
解释:
示例中b1,b2,b3分别为int型,long型,float型三种类型中,数据范围int
所以变量b1+b2+b3的结果为float型,赋值给同为float型的变量result1合法
此外赋值给比float型数据范围大的数据类型也合法,即b1+b2+b3的结果为float型,赋值给比float型数据范围大的double型的变量result2同样合法
情景四:
数据范围大的数据类型也可以强制转换赋值给数据范围小的数据类型,但可能会出现数据丢失的情况(如果数据范围大的数据类型的变量的值超出数据范围小的数据类型的数据范围,则会出现数据丢失的情况)
示例
double a=1; int b=(int)a;
解释:
示例中a为double型,b为int型,数据范围double型大于int型,是不允许a变量赋值给b变量的,但可以进行强制转换,将a转换为int型,即可赋值给同为int型的b,但可能会出现数据丢失的情况
标识符
由数字、字母、下划线(_)和美元符号($)组成
简单来说就是定义变量的方法,只能由以上出现的字符组成定义变量时尽量定义有意义的变量名
情景一:
不能以数字开头
示例
double 1a; double a1;
解释:
1a变量定义是不合法的,因为以数字开头
a1变量定义是合法的
情景二:
不能是关键字(下面我会举例一些关键字)
示例
double int; double int1;
解释:
int变量的定义是不合法的,因为int为关键字
int1变量的定义是合法的,因为int1不为关键字
在官网新版的IntelliJ IDEA中定义关键字作为变量会与合法定义的变量有明显差别
情景三:
区分大小写
示例
double a; double A;
解释:
a和A是两个不同的变量,可以同时使用a变量和A变量
数组
一维数组
数组定义有两种方法
数组的下标从0开始
可以赋初值,和定义数组长度
示例
int[] a={1,2,3}; int b[]=new int[5];
解释:数组有两种定义方法,第一种赋初值,1,2,3所以相当于定义了一个初始数组a[2],最多容纳三个数,第二种定义数组长度,可以容纳五个数
二维数组
二维数组跟一维数组的定义方法相同,可以看作行和列
示例
int[][] a={ {1,2}, {3,4} }; int b[][]=new int[5][5];
解释:二维数组a有2行2列,b有5行5列,同样行和列下标都从0开始
多维数组
多维数组不常用,但使用多维数组可以容易的解决一些问题
示例
int[][][][] a=new int[5][5][5][5];
解释:这是一个四维数组,可以继续加,同样可以用{}括号进行赋初值的定义,但是要括很多层,相对麻烦
对于四维数组的解释假如,对于停车场上,一排可以停n辆车,称为一维数组的长度为n
最多可以有m排,称为二维数组的长度为n和m
最多有k部分停车场,称为三维数组的长度n,m和k
一个城市最多有l个这样的停车场,称为四维数组的长度n,m、k和l
对于多维数组的解释,怎么容易理解怎么来
注释
单行注释
//
以//开头
示例
//这是一个单行注释
多行注释
/* */
以/*开头,*/结尾
示例
/* 这是一个多行注释 这是一个多行注释 */
文档注释
/**
*
*
*/
以/**开头,每行开头有一个*,*/结尾
示例
/** *这是一个文档注释 *这是一个文档注释 */
关键字
包括但不限于以下关键字,之后我会详细解释每个关键字的作用,这里简单概括一下
基本数据类型
byte 字节型
short 短整型
int 整型
long 长整型
float 单精度浮点数
double 双精度浮点数
char 字符型
boolean 布尔型
访问控制
public 公共的
private 私有的
protected 受保护的
default 默认
程序控制语句
判断语句
if 如果
else 否则
循环语句
do 运行
while 循环语句
for 循环语句
break 跳出循环continue 继续
选择语句
switch 根据值选择执行语句case 定义一个值供选择
return 返回
包相关
import 引入
package 包
变量引用
this 本类
void 无返回值
类、方法和变量修饰符
class 类
final 不可改变的
new 创建
static 静态
错误处理
try 捕获异常
catch 捕捉异常
throw 抛出一个异常对象
throws 声明一个异常可能被抛出