4-java学习-循环语句、控制跳转语句、方法-案例代码

4-java学习-循环语句、控制跳转语句、方法-案例代码

一、for循环语句

1.用for循环语句在控制台输出10次"北冥有鱼"
public class MyTest { public static void main(String[] args) { // 1. int i=0; 循环的起始值 只执行一次 // 2. i<10 循环是否继续执行的条件 i<10 是true 循环执行 是 false 循环结束 // 3. {System.out.println("我爱你们");} {} 大括号里面的代码就是循环体,需要重复执行的代码,就放到循环体里面 //4. i++ 控制循环的语句 每循环一次 i自增1 for(int i=0;i<10;i++){ System.out.println("北冥有鱼"); } } } 
2.用for循环语句在控制台输出数据1 - 10、10 - 1
public class MyTest2 { public static void main(String[] args) { //请在控制台输出数据1 - 10 for(int i=1;i<=10;i++){ System.out.println(i); } System.out.println("-----------------------------"); //请在控制台输出数据10 - 1 for(int i=10;i>=1;i--){ System.out.println(i); } } } 
3.用for循环语句求出1 - 10 之间数据之和
public class MyTest3 { public static void main(String[] args) { int sum = 0; //定义一个变量,用来接收结果 for (int i = 1; i <= 10; i++) { sum = sum + i; } System.out.println("和是" + sum); } } 
4.用for循环语句求1—100之间的奇数和 和 偶数和
public class MyTest4 { public static void main(String[] args) { int sum=0; //定义一个变量来接收最后的结果 int ou=0; int ji=0; for (int i=1;i<=100;i++){ sum=sum+i; if(i%2==0){//是偶数 ou=ou+i; }else{ ji=ji+i; } } System.out.println("和是"+sum); System.out.println("奇数和是" + ji); System.out.println("偶数和是" + ou); } } 
5.用for循环语句在控制台输出所有的”水仙花数”(水仙花数是指一个三位数,其各位数字的立方和等于该数本身。)
public class MyTest { public static void main(String[] args) { //定义一个统计变量 int count=0; for(int i=100;i<=999;i++){ int ge=i/1%10; int shi=i/10%10; int bai=i/100%10; int flowerNum=ge*ge*ge+shi*shi*shi+bai*bai*bai; if(i==flowerNum){ System.out.println("水仙花数是"+i); count++; } } System.out.println("水仙花数有"+count+"个"); } } 
6.用for循环语句输出一个4行5列的星星( *)图案
public class MyTest { public static void main(String[] args) { /* 如图: ***** ***** ***** ***** */ for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { System.out.print("*"); //打印不换行 } System.out.println();//只是为了换行 } //两层循环的嵌套特点:1.外层循环控制的是行数 2.内层循环控制列数 } } 
7.用for循环语句输出三角形状
public class MyTest2 { public static void main(String[] args) { /* 需求:请输出下列的形状 * ** *** **** ******/ for (int i = 1; i <= 5; i++) { for (int j = 1; j <= i; j++) { System.out.print("*"); } System.out.println(); } } } 
8.用for循环语句打印九九乘法表
public class MyTest3 { public static void main(String[] args) { for (int i = 1; i <= 9; i++) { for (int j = 1; j <=i; j++) { System.out.print(j+"*"+i+"="+(j * i)+"\t"); // \t 转义字符 空一格 table位 } System.out.print("\n"); // \n 转义字符 \n 也可换行 } } } 

二、while循环语句

1.用while循环语句在控制台输出数据1 - 10、10 - 1
public class MyTest3 { public static void main(String[] args) { //while //输出1---10 int i = 1; while (i <= 10) { System.out.println(i); i++; } System.out.println("-------------------"); int j = 10; while (j >= 1) { System.out.println(j); j--; } } } 
2.用while循环语句求1—100之间的奇数和 和 偶数和
public class MyTest4 { public static void main(String[] args) { int ou = 0; int ji = 0; int i = 1; while (i <= 100) { if (i % 2 == 1) { ji += i; } else { ou += i; } i++; } System.out.println("奇数和"+ji); System.out.println("偶数和" + ji); } } 
3.用while循环语句在控制台输出所有的”水仙花数”(水仙花数是指一个三位数,其各位数字的立方和等于该数本身。)
public class MyTest5 {
    public static void main(String[] args) {
        int i=100;
        int count=0;
        while (i<1000){
            int ge = i / 1 % 10;
            int shi = i / 10 % 10;
            int bai = i / 100 % 10;
            int flowerNum = ge * ge * ge + shi * shi * shi + bai * bai * bai;
            if (i == flowerNum) {
                System.out.println("水仙花数是" + i);
                count++;
            }
            i++;
        }
        System.out.println("水仙花数有" + count + "个");
    }
}

三、do…while循环语句

1.用do…while循环语句在控制台输出10次"北冥有鱼"
public class MyTest { public static void main(String[] args) { //do{循环体} while(条件) //先执行do里面的代码一次,然后去判断条件是否成立,如果成立就继续循环,如果不成立,循环结束 int i = 1; do { System.out.println("北冥有鱼"); i++; } while (i < 10); // 你知道循环次数一般选for // 你不知道循环次数选while循环,但是你要知道循环的结束条件 } } 

四、控制跳转语句

1. break:用在switch语句或循环语句中,离开这个场景没有意义

​ 用在用在switch语句,用来结束switch语句,用在循环语句是结束循环的

public class MyTest { public static void main(String[] args) { for (int i = 0; i <10; i++) { System.out.println("北冥有鱼"); if(i==4){ break; //结束这个循环语句 } } System.out.println("-------------------------------"); int j=1; while (true){ if(j>10){ break; } System.out.println("11"); j++; } System.out.println("22"); } } 运行结果: 
2. continue:用在循环语句中,用来跳出一次循环,继续下次循环 用在循环场景中,离开循环场景没有意义
public class MyTest2 { public static void main(String[] args) { for (int i = 1; i <= 10; i++) { if(i==5){ continue; } System.out.println(i); } System.out.println("------------------------"); for (int i = 1; i <= 10; i++) { if (i%2==1) { continue; } System.out.println(i); } } } 运行结果: 1 2 3 4 6 7 8 9 10 ------------------------ 2 4 6 8 10 
3. break 加在哪层循环,那么结束的就是哪层循环,如果有多层循环嵌套,我们可以给循环加个标记,然后可以根据标去结束某个循环
public class MyTest3 { public static void main(String[] args) { wc:for (int i = 0; i < 5; i++) { nc:for (int j = 0; j < 5; j++) { if(j==2){ break wc; //根据标记去结束哪层循环 } System.out.print("*"); } System.out.println(); } } } 
4.在控制台输出2次:“北冥有鱼“
public class MyTest4 { public static void main(String[] args) { for (int x = 1; x <= 10; x++) { if (x % 3 == 0) { break; } System.out.println("北冥有鱼"); } } } 
5.在控制台输出7次:“北冥有鱼“
public class MyTest4 { public static void main(String[] args) { for (int x = 1; x <= 10; x++) { if (x % 3 == 0) { continue; } System.out.println("北冥有鱼"); } } } 
6.在控制台输出13次:“北冥有鱼“
public class MyTest4 { public static void main(String[] args) { for (int x = 1; x <= 10; x++) { if (x % 3 == 0) { } System.out.println("北冥有鱼"); continue; } } } 

五、方法

1.方法:对一段功能代码的封装,以实现多次调用,提高代码的复用性

方法定义的语法:
1.方法定义在类中
2.方法跟方法是平级关系,不能嵌套定义
3.方法的语法:权限修饰符 状态修饰符 返回值类型 方法名(参数类型 参数名){ 方法体 }
4.方法不调用不执行

public class MyTest { //主方法 是程序的入口。JVM来调用的 public static void main(String[] args) { System.out.println("主方法调用了"); //main方法由JVM 调用,我们可以在main方法中,调用我们自己定义的方法 //通过方法名 调用方法执行 sendBullet(); sendBullet(); sendBullet(); sendBullet(); sendBullet(); sendBullet(); sendBullet(); } public static void sendBullet(){ //发射子弹的功能 System.out.println("发射子弹"); } } 
2.调用有参数的方法时,必须对应形参的类型和个数一一传入与形参类型对应的参数,那么传入的参数,我们叫做实际参数,简称实参,这个方法如果有返回值,我们可以接收这个返回值,方法返回什么类型,你就用什么类型收
public class MyTest2 { public static void main(String[] args) { //调用我们自己的方法 add(); int result= add2(); System.out.println(result); System.out.println("==================="); //调用有参数的方法 int sum2=add3(5,9); System.out.println(sum2); int sum3=add3(50,50); System.out.println(sum3); System.out.println("===================="); double sum4= add3(2,3.4,20); System.out.println(sum4); return; } //无参数,无返回值 //void 表示无明确类型的返回值 public static void add(){ int num1=10; int num2=20; int sum=num1+num2; System.out.println(sum); return; //结束方法,方法上是void 那么return可以省略不写 } //无参有返回值 一旦一个方法明确返回值类型。就必须由return 关键字 带回一个与返回值类型一致的结果 public static int add2(){ int num1 = 10; int num2 = 20; int sum = num1 + num2; return sum; //return 结束方法,并返回结果 } //有参有返回值的方法 public static int add3(int a,int b){ int sum=a+b; return sum; } //方法括号中定义的参数,叫做形式参数,简称形参 多个形参你用逗号隔开 public static double add3(double a, double b,int c) { double sum=a+b+c; return sum; } public static void add4(double a, double b, int c) { double sum = a + b + c; return; } } 
3.调用 一个方法,求两个数的最大值

​ 定义方法时得明确两个东西:

​ 1.方法要不要参数以及参数的类型和个数,

​ 2.方法要不要返回值。

public class MyTest3 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入第一个整数"); //alt+Enter 万能神键 int a = scanner.nextInt(); System.out.println("请输入第二个整数"); int b = scanner.nextInt(); int max= getMax(a,b); System.out.println("最大值是"+max); } public static int getMax(int num1,int num2){ int max=0; if(num1>=num2){ max=num1; }else{ max=num2; } return max; } } 
4.调用 一个方法,判断两个数是否相等
public class MyTest4 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入第一个整数"); int a = scanner.nextInt(); System.out.println("请输入第二个整数"); int b = scanner.nextInt(); //返回值 boolean boolean equals = isEquals(a, b); if(equals){ System.out.println("相等"); }else{ System.out.println("不相等"); } } public static boolean isEquals(int a,int b){ // boolean flag=a==b?true:false; return a==b; } } 
5.调用 一个方法,求两个数之和
public class MyTest5 { public static void main(String[] args) { //这个方法由返回值,就可以输出调用 System.out.println(add(30,60)); } public static int add(int a,int b){ return a+b; } } 
6.调用 一个方法,打印星型,行数和列数让用户输入
public class MyTest6 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入行数"); int hs = scanner.nextInt(); System.out.println("请输入列数"); int ls = scanner.nextInt(); //定义方法:参数 参数类型 几个参数 返回值 返回类型 //调用方法 showStar(hs,ls); } public static void showStar(int a,int b){ for (int i = 1; i <= a; i++) { for (int j = 1; j <= b; j++) { System.out.print("*"); } System.out.println(); } } } 
7.方法重载:允许一个类中,存在多个同名方法,只要他们的形参个数或形参类型不同即可,注意不拿返回值类型来区分
public class MyTest { public static void main(String[] args) { double sum1 = add(1, 2.0); int sum2 = add(1,2, 3); int sum3 = add(1, 2, 3, 4); System.out.println(sum1); System.out.println(sum2); System.out.println(sum3); } public static int add(int a, int b) { System.out.println("两个int调用了"); return a + b; } public static double add(int a, double b) { System.out.println("一个int调用了,一个double调用了"); return a + b; } public static int add(int a, int b,int c) { return a + b+c; } public static int add(int a, int b, int c,int d) { return a + b + c+d; } } 
发布了9 篇原创文章 · 获赞 0 · 访问量 162

猜你喜欢

转载自blog.csdn.net/weixin_42401546/article/details/104260425
今日推荐