日期:9.28
1.while循环和do...while循环
1.1while循环
while循环是真假循环,当条件为真时进行循环
public class _01_While {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
int i = 0;
while (i < 10) {
System.out.println(i);
i++;
}
}
}
1.2 do...while循环
do...while循环与for、while循环的区别是:do...while循环一定会执行一次,是先执行后判断,而其他两种循环是先判断后执行,可以执行0次。
public class _02_DoWhile {
public static void main(String[] args) {
// 条件不符合,不执行
for (int i = 0; i < -1; i++) {
System.out.println(i);
}
int a = 1;
int b = 2;
while (a > b) {
System.out.println(22);
}
// 先执行,再判断
do {
System.out.println(3);
} while (a > b);
System.out.println("=======");
}
}
1.3 break与break outFor
break用来跳出switch循环,break outFor可以指定跳出哪一个循环
public class _03_Break {
public static void main(String[] args) {
// 需求 : 查询7~10000内 第一个完全数
for (int i = 7; i <= 10000; i++) {
// 记录和
int sum = 0;
for (int j = 1; j < i; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
System.out.println(i);
// 找到之后 终止循环
break;
}
// 重新赋值
sum = 0;
}
}
}
public class _04_BreakOutfor {
public static void main(String[] args) {
outFor: for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (j == 3) {
// 对外层循环设置名字,就会直接终止外层循环
break outFor;
}
System.out.print(j + " ");
}
System.out.println();
}
}
}
1.4 continue
continue用来跳过本次循环,但下次仍会执行
public class _05_Continue {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (i == 3) {
// break;
// 跳过当前次,直接i++
continue;
}
// 0,1,2,4,5,6,7,8,9 没有3
System.out.println(i);
}
// 需求 : 查询1~10000内 除了6之外,第一个完全数
for (int i = 1; i <= 10000; i++) {
// 记录和
int sum = 0;
for (int j = 1; j < i; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
if (i == 6) {
continue;
}
System.out.println(i);
// 找到之后 终止循环
break;
}
// 重新赋值
sum = 0;
}
}
}
2.方法
2.1方法的定义
定义:很多语句的集合,可以是一个循环,一个判断,一个执行某种功能的模块,只要调用这个方法,就相当于使用这些代码
目的:1.代码复用 2.减少重复代码 3.有利于后期维护 4.提升开发效率
2.2 方法的声明
2.2.1方法声明
修饰符列表 返回值类型 方法名(参数列表){ 方法体 }
修饰符列表 : 可以有可以没有,可以有多个
权限控制 : public , private , protected, 不写 四选一
其他修饰符 : static 修饰是否静态(加上说明是静态方法,不加说明是成员方法) ,
synchronized 线程同步(加上说明同步,不加说明不同步)
abstract (表示抽象) final(最终) 二选一
2.2.2返回值类型
11种数据类型和 void 任意一种,作用是 把方法执行完功能之后,需要的反馈,返回给调用处
如果不需要反馈,就写void , void说明没有返回值类型,方法需要返回的数据 是什么类型,返回值就写什么类型即可
2.2.3 方法名
命名规则符合命名规则即可
2.2.4参数列表
多个参数 使用逗号隔开, (int a , int b , double c , ....)
完成某个功能的时候,需要用到的某个未知数据,谁要使用这个功能,谁就知道数据
形参 : 在方法声明的时候,规定应该传入什么类型的数据,叫形参
实参 : 调用这个方法的时候,实际传入的数据,叫实参
2.2.5 方法体
实现功能的地方
2.2.6 return
1 终止方法运行,碰到return 方法结束,所以return之后 不能写代码
2 返回数据 , 需要有返回值才行
有返回值的方法中,return必须写 , 语法 : return 值; 这个值 比较和返回值类型对应
如果方法没有返回值,return 可以写,也可以不写,语法 : return ;
return后不能写任何数据,此时只有终止方法运行的作用,不能返回数据
2.3方法分类
静态方法:使用static修饰的方法
成员方法:没有使用static修饰的方法
构造方法:暂时略
2.4 方法调用
静态方法:类名.方法名(参数); 在当前类中 调用当前类中的方法,类名可以省略
成员方法 : 对象.方法名(参数);
方法不调用不执行,调用才执行,并把结果返回到调用处
public class Method_01 {
public static void main(String[] args) {
Method_01.m1();
m1();
}
// 没有返回值
public static void m1(){
for (int j = 0; j < 10; j++) {
if (j == 5) {
return;
}
}
}
// 有返回值
public static int m2(){
return 10;
}
}