Java程序的逻辑控制和方法

  一、顺序结构

  从上往下执行,非常简单,不做过多赘述。

  二、分支结构

  1.if语句

  与c语言不同的是,java的if(布尔表达式)必须是布尔表达式

  eg:判断某一年是否是闰年

  public static void main(String[] args) {

  Scanner scan = new Scanner(System.in);

  int year = scan.nextInt();

  if((year%4==0 && year%100 !=10)||(year%400==0))

  System.out.println("闰年!");

  else{

  System.out.println("不是闰年!");

  }

  }

  

  2.switch语句

  基础语法:

  switch(整数|枚举|字符|字符串){

  case 内容1 : {

  内容满足时执行语句;

  [break;]

  }

  case 内容2 : {

  内容满足时执行语句;

  [break;]

  }

  ...

  default:{

  内容都不满足时执行语句;

  [break;]

  }

  }

  

  面试问题:

  不能做switch参数的类型有哪些?

  long float double boolean

  三、循环结构

  1.while循环

  注意事项:

  和 if 类似, while 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句.,建议还是加上 { }

  和 if 类似, while 后面的 { 建议和 while 写在同一行。

  和 if 类似, while 后面不要多写 分号, 否则可能导致循环不能正确执行。

  eg:

  public static void main(String[] args) {

  int i=1;

  int ret=1;

  while(i<=5) {

  ret *= i;

  i++;

  }

  System.out.println(ret);

  

  2.for循环

  和 if 类似, for 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句,建议还是加上 { }

  和 if 类似, for 后面的 { 建议和 while 写在同一行。

  和 if 类似, for 后面不要多写 分号, 否则可能导致循环不能正确执行。

  求阶乘的和

  public static void main(String[] args) {

  Scanner scan = new Scanner(System.in);

  int num = scan.nextInt();

  int sum=0;

  for(int j=1;j<=num;j++){

  int ret=1;

  for(int i=1;i <= j; i++){

  ret*=1;

  }

  sum+=ret;

  }

  }

  }

  

  3.do-while循环

  基本语法:

  do{

  循环语句;

  }while(循环条件)

  先执行语句再判断循环条件。

  注意事项:

  do while 循环最后的分号不要忘记

  一般 do while 很少用到, 更推荐使用 for 和 while.

  四、Java的方法

  方法就是一个代码片段. 类似于 C 语言中的 "函数“。

  方法:功能

  public static 返回值 方法名(形式参数列表){

  方法体;

  }

  方法名:要采用小驼峰的形式,maxNum

  public static:因为当前所有的方法写完之后会在Main方法中调用。

  方法体:就是具体方法的实现。

  public static void main(String[] args) {

  int a = 10;

  int b = 20;

  // 方法的调用

  int ret = add(a, b);

  System.out.println("ret = " + ret);

  }

  // 方法的定义

  public static int add(int x, int y) {

  return x + y;

  }

  五、方法的重载

  方法的重载:

  1.方法名相同

  2.返回值可以不同

  3.参数列表不同(参数的个数和参数的类型不同)

  4.必须要在同一个类当中。

  eg:

  public static void main(String[] args) {

  int a = 10;

  int b = 20;

  int ret = add(a, b);

  System.out.println("ret = " + ret);

  double a2 = 10.5;

  double b2 = 20.5;

  double ret2 = add(a2, b2);

  System.out.println("ret2 = " + ret2);

  double a3 = 10.5;

  double b3 = 10.5;

  double c3 = 20.5;

  double ret3 = add(a3, b3, c3);

  System.out.println("ret3 = " + ret3);

  }

  public static int add(int x, int y) {

  return x + y;

  }

  public static double add(double x, double y) {

  return x + y;

  }

  public static double add(double x, double y, double z) {

  return x + y + z;

  }

  }

  方法的名字都叫 add. 但是有的 add 是计算 int 相加, 有的是 double 相加; 有的计算两个数字相加, 有的是计算三个数字相加.

  同一个方法名字, 提供不同版本的实现, 称为方法重载

  六、方法的递归

  一个方法在执行过程中调用自身, 就称为 “递归”。

  递归相当于数学上的 “数学归纳法”, 有一个起始条件, 然后有一个递推公式。

  递归:

  1.要调用自己本身。

  2.要有一个趋近于终止的条件。

  3.推导出递归的公式。

  eg:求N的阶乘

  public static void main(String[] args) {

  int n = 5;

  int ret = factor(n);

  System.out.println("ret = " + ret);

  }

  public static int factor(int n) {

  if (n == 1) {

  return 1;

  }

  return n * factor(n - 1); // factor 调用函数自身

  ————————————————

  版权声明:本文为CSDN博主「flyyyya」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/weixin_53831496/article/details/115703899郑州人流医院去哪好

http://www.zztjxbyy.com/

posted @ 2021-04-28 11:12  顾延笙  阅读(166)  评论(0编辑  收藏  举报