逻辑执行过程
(1)顺序执行
(2)条件执行
(3)循环执行
(4)子路径
条件执行
- If else语句和c基本一样,唯一不同在于判断条件必须为布尔类型
swith(数字|枚举|字符串){
case 分支1;
break;
case 分支2;
break;
default:
break;
}
例如:
System.out.println("请输⼊字符:");
char x = (char) System.in.read();
switch (x){
case 'a':{
System.out.println("周内");
}
case 'b':
{
System.out.println("周末");
}
default:{
System.out.println("你在外星");
}
}
2.循环
While(条件){
}
do{
}while
for(初始化语句;条件;变化语句)
foreach形式
Int a={1,2,3,4,5};
- For(int i=1;i<=a.length;i++)
System.out.println(a[i]);
练习 :使用循环语句打出九九乘法表:
public class Day0717 {
public static void main (String[] args){
for(int i=1;i<=9;i++)
{
for(int j=1;j<=i;j++)
{
System.out.printf("%d*%d=%d ",i,j,i*j);
}
System.out.println();
}
}
2.for(int v;a)
System.out.println(v);
控制语句
break:
1.在switch语句中跳出某个分支
2在循环中跳出内层循环(跳出外层循环使用 break label);这里的label是由自己设置的 。
continue:
1.执⾏到此语句时会跳过当前循环的剩余部分,返回循环判断。
2.continue label。
3.方法
1.定义
2.调用
方法名称(实参列表)
3.方法调用的过程(内存模型)
栈 (先进后出)
调用的过程是**值拷贝(**形参的值不会改变实参)
什么是方法的签名?
区别方法的
方法名称+形参列表
方法重载(overload) 方法名称相同,形参列表不同,返回值不在方法签名中
使用递归实现1到100的累加
public class Test{
public static void main(String[] args) {
System.out.println(sum(100));
}
public static int sum(int num){
if (num == 1) {
return 1;
}else {
return num+sum(num-1);
}
}
}