for循环的语法:
for(初始化语句;条件语句;步长语句){
循环体语句。
}
for循环的流程是:1)初始化语句,并且赋值。
2)执行条件表达式,如果条件为true则进入循环体。
3)循环语句执行完毕后在执行步长语句,然后再次执行条件表达式,如果条件为真,则进入循环。
4)一直到条件表达式为false,for循环结束。
while循环的语法:初始化语句;
while(条表){
循环体;
步长;
}
for循环和while循环的区别:
1)从内存角度考虑,for循环优于while循环,因为for循环结束后,变量立刻会被回收掉,释放空间。
而while循环不会被回收掉。
2)从应用场景上,当明确循环范围时,用for循环。当不明确时,用while循环。
do-while循环的语法:初始条件;
do{
循环语句;
步长语句;
} while(条件表达式) ;
do-while循环和for循环,while循环的最大的区别
1)从格式看:do-while循环至少循环1次。
2)从应用场景:如果要使用循环语句,优先使用for循环,然后while循环,其次才是do-while循环。
死循环:
break:中断,结束,(只能在循环语句和switch语句中使用)。
continue:停止当前循环,进入下一个循环。
return:一般情况:在Java中自定义一个方法中必须有return语句(前提有return语句,那么该方法必须有返回值) 携带结果性的数据。
方法:就是用来执行特定功能的代码
方法的格式:
权限修饰符 静态修饰符 返回值 方法名(数据类型1 参数1,...){
return 结果;
}
权限修饰符:public +静态 static。
返回值:具体返回的数据的数据类型。
方法名:给当前独立的代码起一个名字,见名思意。
(数据类型1 参数1,数据类型 参数2...):这里定义的参数就是形参。
return:该方法的结果。
定义方法的注意事项:1)方法和方法之间是平级关系,不能在一个方法中定义新的方法。
2)形参中,参数类型一定要有
3)调用方法时,不能带数据类型。
4)书写方法时要明确两个值:
a:明确返回值类型;
b:明确参数类型及参数个数。
5)当没有具体返回值时,用void。
在定义方式时,会出现方法重载(overload):定义多个方法时候,方法名相同,参数列表不同,并且与返回值无关!
参数列表不同: 1)参数个数不同
2)参数类型不同
数组:可以储存多个元素的容器。
数组的定义: 数据类型[] 数组名称;
数组的初始化:
1)动态初始化:指定数组长度,由系统给数组中的元素赋值 int[] array = new array[10];
2)静态初始化:指定数组中的元素的值,由系统给数组指定长度 int[] arr = new int[] {1,2,3} ;
注意:一个数组不能动静结合。
Java中的内存分配问题:
1)栈内存:存储局部变量或方法调用
2)堆内存:new出来的对象(面向对象:成员变量)
3)方法区:xxxx.class字节码文件区域/static区域/字符串常量池/字符串缓冲区.....
4)寄存器
5)本地方法区:和系统有关。
栈内存的特点:可以存储局部变量(局部变量:在方法中或方法声明上定义的变量。)
堆内存的特点:new出来的对象存储在这里。
当创建对象后,这些对象不会立刻被GC回收器回收掉,而是等待GC回收器空闲状态的时候,会被回收掉,或者当一个对象没有更多引用的时候会被回