Java程序的逻辑控制和方法详解

网友投稿 299 2022-10-27


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 相加; 有的计算两个数字相加, 有的是计算三个数字相加.

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

六、方法的递归

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

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

递归:

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 调用函数自身

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:我的朗科运维第四课(1)
下一篇:【科普】人生不识Network,纵称网友也枉然
相关文章

 发表评论

暂时没有评论,来抢沙发吧~