一、Java基本数据类型
1、内置数据类型
2,引用数据类型
对象和数组都是引用数据类型。
3、Java常量、
1、用final修饰,如final double PI=3.14;一般常量名大写表示,一旦设置好常量的值,则不能再后面的程序中对其修改。
2、Java的字符串常量也是包含在两个引号之间的字符序列
4、类型转化
整形,浮点型,常量和字符型可以混合运算(需转化为统一类型),类型转换时从低类型向高类型转化。
byte,short,char—> int —> long—> float —> double
-
1. 不能对boolean类型进行类型转换。
-
2. 不能把对象类型转换成不相关类的对象。
-
3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
-
4. 转换过程中可能导致溢出或损失精度,例如:
int i =128; byte b = (byte)i;
因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
1、自动类型转化
运行结果为:
char自动类型转换为int后的值等于97
char类型和int计算后的值等于66
2、强制类型转化
-
1. 条件是转换的数据类型必须是兼容的。
-
2. 格式:(type)value type是要强制类型转换后的数据类型
二、循环
循环语句有三类: while循环, do-while循环和for循环.
循环中需要重复执行的语句所构成的整体称为循环体.
循环体执行一次称为循环的一次迭代.
无限循环是指循环语句被无限次执行.
在设计循环时,既考虑循环控制结构体,还需要考虑循环体.
while循环首先检查循环继续条件.如果条件为true,则执行循环体;如果条件为false,则循环体结束.
do-while循环与while循环类似,只是do-while循环先执行循环体,然后在检查循环继续条件,以确定是继续还是终止.
由于while循环和do-while循环都包含循环继续条件,这个条件是和循环体相关的,重复的次数就是由循环体决定的.因此,while循环和do-while循环常用语循环次数不确定的情况.
标志值是一个特殊的值,用来标志循环的结束.
for循环一般用在循环体执行次数预知的情况,这个次数不是有循环体确定的.
for循环由三部分组成.第一部分是初始操作,通常用于初始化控制变量.第二部分是循环继续条件,决定是否执行循环体.第三部分是每次迭代后执行的操作,经常用于调整控制变量.通常,在控制结构中初始化和修改循环控制变量.
while循环和for循环都称为前测试循环(pretest loop),因为在循环体执行之前,要检测一下循环继续条件.
do-while循环称为后测试循环(posttest loop),因为在循环体执行之后,要检测一下这个条件.
在循环中可以使用关键字break和continue.
关键字break立即终止包含break的最内层循环.
关键字continue只是终止当前迭代.
例如:
三、数组
数组:存放相同数据类型的集合
1、数组具有 数组名
2、数组中的每一个个体称为数组的一个 元素
3、数组通过 索引 来访问数组中对应索引的元素
4、数组的 类型 和 数组中存放的所有元素 类型一致
定义一个整型数组
第一种:
该数组;类型为int ,存放的均为int 类型数据
数组的下标(索引)从0开始编号,该数组长度为5所以下表最大为5
通过数组名+元素下标(数组名[下标])来访问对应下表的元素
数组越界错误:java.lang.ArrayIndexOutOfBoundsException
数组的长度一旦被确定,则无法在改变
数组名[下标] 出现在“=”左侧是赋值操作,出现在右侧,或直接使用,为取值操作
第二种:
定义数组时,之规定了数组长度
数组(new int[5])存在于堆区,数组名(arr3)存在于栈区
堆区:开发者可以操作的区域,手动开辟,系统“垃圾回收机制”回收;
栈区:只有系统自身能操作,自动开辟,自动释放
我们对数组的赋值是操作堆区,所以得向堆区的每个元素区域--赋值
arr3[0] 找到第一元素所在堆区的地址(房间号),将其赋值
第三种