目录
一、循环语句
1.循环语句_for
for循环语句格式:
for(初始化表达式①;布尔表达式②;步进表达式④) {
循环体③
}
执行顺序:①②③④>②③④>②③④…②不满足为止。
①负责完成循环变量初始化
②负责判断是否满足循环条件,不满足则跳出循环
③具体执行的语句
④循环后,循环条件所涉及变量的变化情况
public class Test_for {
public static void main(String[] args) {
for(int i=1;i<=5;i++){
System.out.println("Hello World");
}
}
}
2.循环语句_while
while循环语句格式:
初始化表达式①
while(布尔表达式②) {
循环体③
步进表达式④
}
执行顺序:①②③④>②③④>②③④…②不满足为止。
①负责完成循环变量初始化。
②负责判断是否满足循环条件,不满足则跳出循环。
③具体执行的语句。
④循环后,循环变量的变化情况。
public class Test_while {
public static void main(String[] args) {
int i = 1;//初始化数据
while(i<=5) {//表达式 用来判断是否需要执行语句的
System.out.println("你好啊!");
i++;//迭代因子
}
}
}
3.循环语句_do…while
do…while循环格式:
初始化表达式①
do {
循环体③
步进表达式④
}while(布尔表达式②);
执行顺序:①③④>②③④>②③④…②不满足为止。
①负责完成循环变量初始化。
②负责判断是否满足循环条件,不满足则跳出循环。
③具体执行的语句
④循环后,循环变量的变化情况
public class Test_do_while {
public static void main(String[] args) {
int j = 1;
do {
System.out.println("我好!");
j++;
}while(j<=5);
}
}
4.跳出循环
1)break
跳出循环。
public class Test_break {
public static void main(String[] args) {
for(int i=1; i<=10; i++ ) {
if(i>7) {
break;//当i>7的时候,跳出当前循环
}
System.out.println(i);//1,2,3,4,5,6,7
}
}
}
2)continue
结束本次循环,继续下一次的循环。
public class Test_break {
public static void main(String[] args) {
for(int i=1;i<=10;i++){
if(i==7){
continue;//当i==7的时候,不再执行循环体后面的内容,而是执行下一次循环
}
System.out.println(i);//1,2,3,4,5,6,8,9,10
}
}
}
二、扩展知识点
1.死循环
也就是循环中的条件永远为true,死循环的是永不结束的循环。
while(true){
循环体;
}
2.嵌套循环
嵌套循环格式:
for(初始化表达式①;循环条件②;步进表达式⑦) {
for(初始化表达式③;循环条件④;步进表达式⑥) {
执行语句⑤;
}
}
执行顺序:①②③④⑤⑥>④⑤⑥>⑦②③④⑤⑥>④⑤⑥
外循环一次,内循环多次。
比如跳绳:一共跳5组,每组跳10个。5组就是外循环,10个就是内循环。
public abstract class Test_doublefor {
public static void main(String[] args) {
for(int i=1;i<=5;i++){//代表行
for(int j=1;j<=5;j++){//代表的是列
System.out.print("*");//ln代表换行
}
System.out.println("");
}
}
}
三、方法入门
方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。
1.方法的定义
定义格式:
修饰符 返回值类型 方法名(参数列表){
代码…
return;
}
2.方法的调用
方法在定义完毕后,方法不会自己运行,必须被调用才能执行,我们可以在主方法main中来调用我们自己定义好的方法。在主方法中,直接写要调用的方法名字就可以调用了。
public class Test_method {
//重新来认识一下main,就是个方法
public static void main(String[] args) {
//使用方法,必须调用(调用形式:方法名(传入实参) )
add(1,2);
}
//加法的方法 方法定义|声明
public static void add(int a, int b) {
int sum = a + b;
System.out.println(sum);
}
}
3.方法的分类
public class Test_method {
public static void main(String[] args) {
print();
isTrue();
add(1,2);
System.out.println(cal(3,1));
}
//1.无参无返回值方法
public static void print() {
System.out.println("输出语句");
}
//2.无参有返回值方法
public static boolean isTrue() {
boolean a = 3>2;
System.out.println(a);
return true;
}
//3.有参无返回值方法
public static void add(int a, int b) {
int sum = a + b;
System.out.println(sum);
}
//4.有参有返回值方法
public static int cal(int a, int b) {
return a - b;
}
}
4.方法的重载
指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
参数列表:个数不同,数据类型不同,顺序不同。
public class Test_method {
public static void main(String[] args) {
}
//加法的方法定义
public static int add(int a,int b){
return a+b;
}
public static int add(int a,int b,int c){
return a+b+c;//个数不同
}
public static double add(double a,int b){
return a+b;
}
public static double add(int a,double b){
return a+b;
}
}
5.重载方法的面试题
以下程序中输出什么内容
原则:就近原则 最近最优
如果有完全匹配的,那么就直接调用。
public class Test {
public static void main(String[] args) {
info(1);//默认找long
//info(1,2);
//info(1,2,3);
}
public static void info(long l){
System.out.println("info long l");
}
//jdk1.5之后,支持可变参数
public static void info(int ... ins){
System.out.println("int ... ins");
}
}