Java基础知识(二)之控制语句

时间:2022-09-08 16:46:59

1、条件运算符

     ⑴if...else...

   ⑵三目表达式——X?Y:Z 当X为真时,结果为Y;反之,为Z。

   ⑶switch(表达式){

      case 1:    执行代码块 1;

             break;

      case 2:    执行代码块 2;

             break;

      case n:    执行代码块 n;

             break;

      default:      默认执行的代码;

     }

    ①case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容,

     直到遇到 break 语句或者 switch 语句块结束

    ②可以把功能相同的 case 语句合并起来,如

      case1:

      case2:

        System.out.println(“   ”);

    ③ default 块可以出现在任意位置,也可以省略

2.循环 

  1)for(循环初值;循环条件;步长){循环体}
    循环初值可以放在for循环的前面,循环条件可在循环体中break,步长可以放在循环体内,但括号里的分号(;;)不能省略。
    执行过程:先执行循环初值,执行循环条件判断是否符合条件:

    符合则执行循环体,再执行步长,在进行循环判断,直至不符合循环条件;若不符合循环条件,则退出循环。

    for 循环变量初始化和循环变量变化部分,可以是使用 “,” 同时初始化或改变多个循环变量的值,如:for(int i=1,j=5;i<5;i++,j--)

  2)while(循环条件){循环体 步长}初值放在while循环的前面。

    如果明确知道循环次数,用for循环;若不能确定循环次数,则用while循环。
  3)、do{循环体 步长}while(循环条件);
    do...while...循环的循环体至少执行一次;因为它是先执行循环体,在执行循环条件。

  循环的嵌套:外面的循环控制行,里面的循环控制列。

3.循环跳转语句

  break——结束整个循环
  continue——结束本次循环,进入下一次循环

 4.方法

  访问修饰符 返回值类型   方法名  (参数列表){

      方法体;    

  }

 

  访问修饰符:方法允许被访问的权限范围
  方法名:一般采用第一个单词首字母小写,其它单词首字母大写的形式
  调用方法:可以先创建类的对象,然后通过 对象名.方法名(); 来实现
  方法的返回值最多只能有一个,不能返回多个值,但可返回数组。
  必须保证实参的数量、类型、顺序与形参一一对应
  调用方法时,实参不需要指定数据类型
  !!!方法后面一定加“()”
  方法重载:同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载。

        与方法的修饰符和返回值无关

5.递归调用

  递归——方法调用其本身(树形结构的问题都用递归来解决)

  例:Fibonacci(递归方法)

 

public class Test{
public static void main(String[] args) {
System.out.println(f(
5));

}
public static int f(int n){
if(n==1||n==2)
return 1;
else
return f(n-1)+f(n-2);
}
}

    Fibonacci(非递归方法)

public class Fab {
public static void main(String[] args) {
System.out.println(f(
-9));
}
public static long f(int index) {
if(index < 1) {
System.out.println(
"invalid parameter!");
return -1;
}
if(index == 1 || index == 2) {
return 1;
}

long f1 = 1L;
long f2 = 1L;
long f = 0;

for(int i=0; i<index-2; i++) {
f
= f1 + f2;
f1
= f2;
f2
= f;

}

return f;
}
}