JavaSe基础篇4
1. break与continue
-
break
作用:结束终止
应用场景:用于循环|switch语句
-
continue
作用:结束本次循环直接进入到下一次循环
应用场景:用于循环语句
小练习:
//1~10直接的数字,跳过3或者3的倍数
for(int i=1;i<=10;i++){
if(i%3==0){
continue;
}
System.out.println(i);
}
//死循环需要结合break关键字
int i=1;
for(;;){
System.out.println(i);
if(i==5){
break;
}
i++;
}
2. 循环嵌套
循环中嵌套循环,一般建议双重循环嵌套,具体语法:
for(条件初始化;条件判断;条件变化){
重复执行的代码;
for(条件初始化;条件判断;条件变化){
....
}
....
}
//外层循环执行一次,内层循环执行一轮
小练习:
//打印九九乘法表
// i做为行,公式的第二个数字
for(int i=1;i<=9;i++){
//j作为列,公式的第一个数字
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+" ");
}
//换行
System.out.println();
}
3. 方法
方法即解决事情的办法,在java中代表功能,是实现功能的代码段,能简化代码。方法不能嵌套,不调用不执行。
3.1 有返回值类型的方法
语法:
修饰符 返回值类型 方法名(参数列表){
实现功能的代码段;
return 返回值;
}
说明:
- 修饰符:访问权限修饰符(public static)
- 返回值类型:方法执行完毕之后,是否需要得到一个结果(值),结果的数据类型即返回值类型
- 方法名:方法的名字,调用方法的时候需要根据方法名,方法名是标识符
- 参数列表:可以定义参数,可以没有参数,需要分析定义方法的时候,是否存在未知的,不确定的数据,如果有定义在参数列表上
- { }:方法体,实现功能的代码段
- return:在一个有返回值类型的方法中,return关键字必须存在。return关键字可以提前结束方法,带出返回值
小练习:
//求和方法
public static int getSum(int x,int y){
System.out.println("求2个int类型整数的和");
return x+y;
}
3.2 无返回值类型的方法
语法:
修饰符 void 方法名(参数列表){
方法体;
return; ->可有可无
}
说明:
- void:标识没有返回值
- return:可以根据需求定义,不能带出返回值,只具有提前结束方法的作用
小练习:
//输出m行乘法表
public static void print(int m){
for(int i=1;i<=m;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+" ");
}
//换行
System.out.println();
}
}
3.3 参数
- 形式参数:定义方法时()中的参数列表
- 实际参数:调用方法时()中的参数
形式参数与实际参数之间要求一一对应。
3.4 方法的调用
有返回值的方法调用:
- 输出调用:System.out.println(方法名(实参));
- 赋值调用:int a = 方法名(实参);
- 直接调用:方法名(实参);//这种调用方式得不到返回值
无返回值的方法的调用使用直接调用。
小练习:(调用之前定义的有返回值的方法和无返回值的方法)
public static void main(String[] args) {
System.out.println(getSum(3,5));
print(5);
}
3.5 方法的重载
重载可以简化方法的使用,更加的灵活,便于后期维护。
同一个类中的多个方法,相同的方法名,不同的参数列表即可构成方法的重载,重载方法时看调用方法时的实参来区分。即需要满足三个条件:
- 同一个类中的多个方法
- 方法名相同
- 参数列表不同:
- 参数的个数不同
- 参数的类型不同
- 不同类型的参数顺序不同
注:方法的重载与修饰符,返回值类型,参数名无关。
public static void main(String[] args) {
getSum(3,4.4);
}
//两个int类型的参数
public static void getSum(int a,int b){
System.out.println("int a,int b="+(a+b));
}
//三个int类型的参数
public static void getSum(int a,int b,int c){
System.out.println("int a,int b,int c="+(a+b+c));
}
//一个int类型的参数,一个double类型的参数
public static void getSum(int a,double b){
System.out.println("int a,double b="+(a+b));
}
//两个double类型的参数
public static void getSum(double a,double b){
System.out.println("double a,double b="+(a+b));
}