一.逻辑的执行过程
1.顺序执行
2.条件执行
3.循环执行
4.子路径
1.条件执行
if(条件){
}
if(条件){
}else{
}
if(条件1){
}else if(条件2){
}
switch(数字/枚举/字符/字符串){
case 分支1:
break;
case 分支2:
break;
default:
break;
}
2.循环执行 (已知循环次数使用for,不知道循环次数使用while)
while(条件){
}
do{
语句;
}while(条件);
for(初始化语句;条件;变化语句){
}
foreach形式
int []a={1,2,3,4,5};
第一种方式:
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
第二种方式:
for(int v:a){
System.out.println(v);
}
控制语句
break; 1)switch跳出某个分支 2)循环跳出最内层循环
break label;
continue; 结束本次循环,直接进行循环的条件判断
continue label;
3.子路径(调用方法)
方法
1)方法的定义语法
限定符(modifiers) 返回值类型 方法名称 (形参列表) 异常列表
public static void main (String[] args) {
}
形参:paramaters
实参:arguments
2)方法的调用
方法名称(实参列表);
max(6,1);
方法调用的过程(内存模型)
栈
调用过程是值拷贝的过程 形参的改变不会影响实参
方法调用栈
如果方法以void 声明,可用return;结束方法调用
public class Test{
publicstaticvoidmain(String[]args)
{myPrint(1);
myPrint(2);
myPrint(3);
myPrint(4);}
public static void myPrint(intx){
if(x==2){
return;
}else{
System.out.println(x);
}
}
}
a.什么是方法的签名?
方法名称+形参列表(与返回值类型无关)
b.重载(overload):方法名称相同,参数的类型、顺序或个数不同(简称参数列表不同)
不能有两个方法的方法名称、参数列表相同,但是返回值类型不同(叫方法重定义)
c.方法递归:
方法调用自己的过程
(汉诺塔问题)