【Java】逻辑控制和方法使用

 

逻辑控制和方法使用

首先说明:

表达式(Expression)

a=100;

100>50;

add(1,2);

语句(Statement)

以分号结束

语句块(Block)

{

任意语句

}

一.程序结构和逻辑控制

1.顺序结构

一步一步执行

2.分支结构:

中间有结构

(1) if(逻辑表达式,备注,和c不同,一定是逻辑结构){

条件为真时执行

} else{

条件为假时执行

}

if(true)条件

规范:if后最好用大括号

if(条件){

c++;

d++;

}

(2) switch ( int 类型 | String类型 | Enum类型 ){

case 条件1:{

内容时满足时执行[break];

}

case 条件2:{

内容满足时执行[break];

……

default:{

内容不满足时执行[break];}

}

注意:回车用%n直接不要用\n

switch支持string类型

3.循环结构

有是和否,和c一样

while(条件)

{

}

for(初始化;条件;后续条件){

}

do{

}while (条件)

在java中多了一种for的形式 foreach

for(元素类型 变量名:容量数组){ for (int i =0;i<数组长度:i++){

} 元素类型 变量名=数组[i];

}

 

continue 和break 都支持一种带标签的形式(认识即可)

二.方法

1.方法的定义

(1).限定符(Modifers) public/static

(2).**返回值类型,如果没有返回值,要明确些void

(3).**方法名称,命名习惯,首个单词全小写

(4).**参数列表(

(5).异常声明 throws 异常列表

(6).**方法体{}

(**表示都要出现)

public static int calsSum (int [] array) throws Exception {

1 2 3 4 5

……

6

}

重点:关于方法签名(Method signature)

方法名称+参数列表

如果⽅法以void声明,那么可以使⽤return来结束调⽤(常常与if语句配合使⽤)

int sum(int a,int b){} 重定义

void sum(int a,int b){} 不是重定义

itn sum(itn a,int b,int c){}

方法名称相同,但参数列表不同

2.重载(overlode)

要和重写(override)区别

方法重载定义:⽅法名称相同,参数的类型、顺序或个数不同(简称:参数列表不同)

⽅法的签名:指的是⽅法名与参数,返回类型不是签名的⼀部分

(重要) 不能有两个名字相同、参数类型也相同却返回不同类型值的⽅法

规范:通常情况下,用不到重载

例外:重载在方法中很常见

示例伪代码

void a(){}

void b(){a{};}

void c(){b{};}

void main() {c();}

 

三.递归方法

1.定义:指的是⼀个⽅法⾃⼰调⽤⾃⼰的⽅式。

2.递归⽅法的特点:⽅法必须有递归的结束条件;⽅法在每次递归处理的时候⼀定要作出⼀些变更

3.在java中,递归函数没有任何的特殊性

long sum(int n){

if (n==1){return 1;)

else {return sum(n-1)+n;}

}

思想:数学归纳法思想

核心:不要写递归时尝试展开整个过程,局部性原则

汉罗塔问题:

 

0号柱子 1号柱子 2号柱子

n ==1 把盘子从源柱子移到目标柱子

n>1 递归(n-1)移到另外的柱子,把最大的盘子移到目标,递归(n-1)移到目标

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值