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/