Java基础

一、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、自动类型转化

public class ZiDongLeiZhuan{
public static void main(String[] args){
char c1='a';//定义一个char类型
int i1 = c1;//char自动类型转换为int 
System.out.println("char自动类型转换为int后的值等于"+i1);
char c2 = 'A';//定义一个char类型
int i2 = c2+1;//char 类型和 int 类型计算
System.out.println("char类型和int计算后的值等于"+i2);
}
}

运行结果为:

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] 找到第一元素所在堆区的地址(房间号),将其赋值

 

 第三种

原文地址:https://www.cnblogs.com/XWhui/p/8647483.html