Java 逻辑结构与方法函数详解刨析
⭐前言⭐
本文主要介绍javase的逻辑结构和方法。
对一门编程语言逻辑结构和方法的理解是站在c语言之上的,建议配套c语言版本的分析一起食用
链接直达:????c语言:函数????
????逻辑结构
分支结构
if
//格式1 if(a){ } //格式2 if(a){ }else{ } //格式3 if(a){ }else if(b){ }else if(c){ }else{ }
需要注意的是,条件必须是布尔表达式
在c语言中if(1)
表示进入执行,在java中必须是if(true)
c语言中0代表false,非0代表true,但是在java中必须是true或者false
需要注意的else的悬垂问题
int x = 10; int y = 20; if(x==10) if(y==10) system.out.println("true"); else system.out.println("false");
我们很容易看见else和第一个if在同一个缩进上,所以什么也不输出?
我们看到输出了false,看来是进入到else和第二个循环是一起的
else和它最近的if在一起
在idea编译器中,敲下回车,自动缩进在第二个if。
switch
switch(整数|枚举|字符|字符串){ case 内容1 : { 内容满足时执行语句; [break;] } case 内容2 : { 内容满足时执行语句; [break;] } default:{ 内容都不满足时执行语句; [break;] } }
整数和字符很常见,字符串类型好像没有见过,下面给出例子
循环结构
while循环
while(a){ }
for循环
for(a;b;c){ }
do while循环
do{ }while(a);
需要注意的是,do while循环先执行后判断,while先判断后执行
break和continue
两者都是让循环结束,但是不同的是
break会直接结束整个循环
continue结束当前循环,进入下一个循环。
输入输出
输出
system.out.println(data); // 输出一个字符串, 带换行 system.out.print(data); // 输出一个字符串, 不带换行 system.out.printf(format, data); // 格式化输出,类似c语言中的printf
输入
java中输入比较复杂
import java.util.scanner; // 需要导入 util 包 scanner scanner = new scanner(system.in); system.out.println("请输入你的姓名:"); string name = scanner.nextline(); system.out.println("请输入你的年龄:"); int age = scanner.nextint(); system.out.println("请输入你的工资:"); float salary = scanner.nextfloat(); system.out.println("你的信息如下:"); system.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary); sc.close(); // 注意, 要记得调用关闭方法
如果需要多组输入
scanner sc = new scanner(system.in); double sum = 0.0; int num = 0; while (sc.hasnextdouble()) { double tmp = sc.nextdouble(); sum += tmp; num++; } system.out.println("sum = " + sum); system.out.println("avg = " + sum / num); sc.close();
????方法
java中的方法实质上就是c语言中的函数。
来一个求和方法
public static int addsum(int n){ int sum = 0; for(int i=1;i<=n;i++){ sum+=i; } return sum; }
方法的重载
public class main { 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 相加; 有的计算两个数字相加, 有的是计算三个数字相加.
同一个方法名字, 提供不同版本的实现, 称为方法重载
需要注意的是
- 方法名相同
- 方法的参数不同(参数个数或者参数类型)方法的返回值类型不影响重载.
- 区分的重点是函数名字后面的参数(类型或者数量)
方法的递归
一个方法在执行的过程中自身调用自身的过程就称为递归。
为了避免死循环,递归必须要有中止条件。
到此这篇关于java 逻辑结构与方法函数详解刨析的文章就介绍到这了,更多相关java 逻辑结构内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: [C#]设计模式-单例模式-创建型模式
下一篇: 设计一个BankAccount类