方法入门
- 方法: 将一个功能抽取出来,把代码单独定义在一个大括号中,形成一个单独的功能
当我们需要这个功能的时候,就可以去调用,这样既实现了代码的复用性,也解决了代码的冗余问题 - 定义:
修饰符 返回值类型 方法名 (参数) {
代码...
return;
}
方法名称的命名规则和变量名一样,使用小驼峰
方法体:也就是大括号中的,可以包含多条语句
注意事项:
1. 方法定义的先后顺序无所谓
2. 方法的定义不能产生嵌套包含关系 (定义一个方法中不能再定义一个方法,python可以)
3. 方法定义好后不会执行,如果需要执行,一定要进行方法的调用
- 调用
- 格式:
方法名称();
JShell脚本工具
jdk9.0以上才有
进入 cmd中输入JShell
退出: /exit
类似于 python的命令行输入语句后可以直接获取结果,不用编译
流程
顺序结构: 从上往下执行
public class Demo01Sequence{
public static void main(String[] args){
System.out.println("1");
System.out.println("2");
System.out.println("3");
System.out.println("4");
}
}

判断结构
- if语句
-
单if 语句
java if (关系表达式){ 语句体; }
流程图

public class Demo02If { public static void main(String[] args){ System.out.println("看见网吧"); int age =16; if (age >= 18){ System.out.println("玩游戏"); } System.out.println("回家"); } } ``` -
if… else…
if(关系表达式){ 语句1; }else{ 语句2; }执行流程:如果关系表达式为true,则执行语句1,否则执行语句2
public class Demo03IfElse { public static void main(String[] args){ int num =13; if (num%2==0) { System.out.println("偶数"); }else{ System.out.println("奇数"); } } } -
if … else if … else
if (条件判断1) { 执行语句1; }else if (判断条件2) { 执行语句2; } ... } else if (判断条件n){ 执行语句n; } else { 执行语句n+1; }执行流程:
当判断条件1满足是,则执行语句1,如果不满足则向下顺序判断执行,只能执行一个执行语句;如果所有的判断条件都为false,那么执行else语句,执行语句n+1

/* x和y的关系如下: 如果x>=3,则 y=2x+1 如果 -1<x<3,则y=2x; 如果x<=-1,那么y=2x-1 */ public class Demo04IfElseExt { public static void main(String[] args){ int x=10; int y; if (x>=3){ y = 2*x+1; } else if (x>-1 && x<3) { y = 2*x; } else { y = 2*x-1; } System.out.println("结果是"+y); // 结果是21 } }
-
switch语句
switch(表达式) { case 常量值1: 语句体1; break; case 常量值2: 语句体2; break; ... default: 语句体n+1; break; }switch case 执行时,首先计算出表达式的值,然后进行case依次匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。如果没有case符合,那么使用default的中语句。
当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。public class Demo07Switch{ public static void main(String[] args){ int num=1; switch(num){ case 1: System.out.println("周一"); break; case 2: System.out.println("周二"); break; case 3: System.out.println("周三"); break; case 4: System.out.println("周四"); break; case 5: System.out.println("周五"); break; case 6: System.out.println("周六"); break; case 7: System.out.println("周天"); break; default: System.out.println("数据错误"); break; // 可以省略,但是不建议省略 } } }注意事项:
1. 多个case后面的数值不可以重复;
2. switch后面小括号当中的只能是下列数据类型:
基本数据类型:byte/short/char/int 只有这四种
引用数据类型:String字符串, enum枚举
3. switch语句格式可以很灵活,前后顺序可以颠倒,而且break语句可以省略
匹配哪一个case就从哪一个位置向下执行,直到遇到break或者整体结束为止
可以看示例代码
循环结构
在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码成为循环体语句
-
for循环
for(初始化表达式【A】; 布尔表达式【B】; 步进表达式【C】){ 循环体【D】; }初始化语句: 在循环开始最初执行,而且只做唯一一次
条件判断:如果成立,则循环继续,如果不成立,则循环退出
循环体:重复做的事情内容,若干行语句;
步进语句:每次循环之后都要进行的扫尾工作,每次循环结构都要执行一次
ABCD->BCD -> BCD ->… ->Bpublic class Demo09For { public static void main(String[] args){ for (int i =1;i<=100;i++){ System.out.println("重复"+i); } } } -
while循环
while (条件判断){ 循环体; }扩展格式:
初始化语句; while (条件判断){ 循环体; 步进语句; }将上面的for循环的例子转为 while的
public class Demo10While { public static void main(String[] args){ int i = 1; while (i<=100){ System.out.println("重复"+i); i++; } } } -
do…while 循环
do { 循环体 } while (条件判断);先无条件执行循环体一次,然后进行对while条件判断是否循环
初始化语句; do { 循环体; 步进语句; } while (条件判断); // 此处必须要有;public class Demo11DoWhile{ public static void main(String[] args){ int i = 1; do { System.out.println("重复"+i); i++; } while (i<=100); } }
三种循环的区别
- 如果条件从来没有满足过,那么for循环和while循环将会执行0次,但是dowhile循环会执行一次
- for循环的变量在小括号当中定义,只有循环内部才能使用,while循环和dowhile循环的初始化语句本来就在外面,所以可以继续使用
小建议:
凡是次数确定的场景多用for,否则多用while
break关键字
- 可以在switch语句中,一旦执行,整个switch语句立刻结束
- 还可以在循环语句当中,一旦执行,整个循环语句立刻结束,打断循环
public class Demo14Break {
public static void main(String[] args){
for (int i = 1; i<=10;i++){
if (i==4){ // 如果当前是第四层;
break; // 停止
}
System.out.println(i+"层到了");
}
}
}
continue
一旦执行,立刻跳过当前次循环剩余内容,马上开始下一次循环。
public class Demo15Continue {
public static void main(String[] args){
for (int i = 1; i<=10;i++){
if (i==4){ // 如果当前是第四层;
continue; // 则跳过当前次循环,马上开始下一次循环
}
System.out.println(i+"层到了");
}
}
}
死循环
停不下来的循环
while (true){
循环体;
}
循环的嵌套
public class Demo17LoopHourAndMinute {
public static void main(String[] args){
for (int i =1;i<=24; i++){
for (int j = 1; j<=60;j++){
System.out.println("time=="+i+":"+j);
}
}
}
}
2558

被折叠的 条评论
为什么被折叠?



