Java学习第四天

Java学习第四天

  • 增强for循环
    主要用于数组或集合的增强型for循环。
package com.lixiaochuan.structure;

public class ForDemo05 {
    public static void main(String[] args) {
        int[] numbers={10,20,30,40,50};//定义了一个数组
        //遍历数组元素,并输出
        for (int x:numbers){
            System.out.println(x);
        }
        System.out.println("===========等价于==========");
        for (int i=0;i<5;i++){
            System.out.println(numbers[i]);
        }
    }
}
  • break continue
  1. break控制任何循环语句的流程,用于强行退出循环,不执行循环中剩余的语句。
  2. continue用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
  • 流程控制练习
  1. 打印三角形▲
package com.lixiaochuan.structure;

public class TestDemo {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            for (int j = 5; j >=i; j--) {
                System.out.print(" ");
            }
            for (int j =1 ; j <= i; j++) {
                System.out.print("*");
            }
            for (int j = 1; j < i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

Java方法详解

  • 何为方法
    Java方法是语句的集合,它们一起执行一个功能。
    1. 方法是解决一类问题的步骤的有序组合;
    2. 方法包含于类或对象中;
    3. 方法在程序中被创建,在其他地方被引用;
    4. 命名规则,首字母小写,驼峰原则。

一个方法只完成一个功能,这样利于我们后期的拓展!

修饰符  返回值类型  方法名(参数类型  参数名){
	...
	方法体
	...
	return 返回值;
}
package com.lixiaochuan.method;

public class Demo01 {
    public static void main(String[] args) {
       // int sum = add(1, 2);
       // System.out.println(sum);
        test();
    }
    //加法
    public static int add(int a,int b){
        return a+b;
    }
    public static void test(){
        for (int i = 1; i <= 5; i++) {
            for (int j = 5; j >=i; j--) {
                System.out.print(" ");
            }
            for (int j = 1; j <=i; j++) {
                System.out.print("*");
            }
            for (int j = 1; j < i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}
package com.lixiaochuan.method;

public class Demo02 {
    public static void main(String[] args) {
        int max = max(20,20);
        System.out.println(max);
    }

    //比大小
    public static int max(int num1,int num2){
        int result=0;
        if (num1==num2) {
            System.out.println("num1=num2");
            return 0;//终止方法!!!
        }
        if(num1>num2)
            result=num1;
        else
            result=num2;
        return result;
    }
}

java都是值传递

  • 方法的重载
    重载就是在一个类中,有相同的函数名称,但形参不同的函数。
    规则
  1. 方法名称相同
  2. 参数列表不同
  3. 返回值类型可以相同可以不同
  4. 仅仅返回值类型不同不足以称之为方法的重载
package com.lixiaochuan.method;

public class Demo01 {
    public static void main(String[] args) {
       // int sum = add(1, 2);
       // System.out.println(sum);
        test();
    }
    //加法
    public static int add(int a,int b){
        return a+b;
    }
    public static void test(){
        for (int i = 1; i <= 5; i++) {
            for (int j = 5; j >=i; j--) {
                System.out.print(" ");
            }
            for (int j = 1; j <=i; j++) {
                System.out.print("*");
            }
            for (int j = 1; j < i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

命令行传参

package com.lixiaochuan.method;

public class Demo03 {
    public static void main(String[] args) {
        //args.length  数组长度
        for (int i = 0; i < args.length; i++) {
            System.out.println("args["+i+"]"+args[i]);
        }
    }
}
  • 可变参数(不定项参数)
    Java支持传递同类型的可变参数给一个方法。在方法声明中,在指定参数类型后加一个省略号(…)。
    一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。普通参数必须在它之前声明。
package com.lixiaochuan.method;

public class Demo04 {
    public static void main(String[] args) {
        printMax(1,2,3,4,5,0,10,99);
    }
    public static void printMax(double ...numbers){
        if (numbers.length==0){
            System.out.println("没有传参数!!");
        }
        double result=numbers[0];
        //排序算法
        for (int i = 0; i < numbers.length; i++) {
            if (numbers[i]>=result) {
                result = numbers[i];
            }
        }
        System.out.println(result);
    }
}
  • 递归
    递归就是自己调用自己!!
package com.lixiaochuan.method;

public class Demo05 {
    public static void main(String[] args) {
        double x=f(10);
        System.out.println(x);
    }
    public static int f(int i){
        if (i==1){
            return 1;
        }else{
            return i*f(i-1);
        }
    }
}

作业:写一个计算器
要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现。
思路:

  1. 写四个方法:加减乘除
  2. 利用循环+switch进行用户交互
  3. 传递需要操作的两个数
  4. 输出结果
package com.lixiaochuan.method;

import java.util.Scanner;

public class Calculator {
    public static void main(String[] args) {
        System.out.println("请输入需要计算的两个数:");

        Scanner scanner = new Scanner(System.in);

        System.out.println("第一位数:");
        int x = scanner.nextInt();
        System.out.println("运算符:");
        String s = scanner.next();
        System.out.println("第二位数:");
        int y = scanner.nextInt();

        switch(s){
            case "+":
                System.out.println(add(x,y));
                break;
            case "-":
                System.out.println(sub(x,y));
                break;
            case "*":
                System.out.println(mul(x,y));
                break;
            case "/":
                System.out.println(div(x,y));
                break;
        }
        scanner.close();
    }
    public static double add(double x,double y){
        return x+y;
    }
    public static double sub(double x,double y){
        return x-y;
    }
    public static double mul(double x,double y){
        return x*y;
    }
    public static double div(double x,double y){
        return x/y;
    }
}

写的比较垃圾回头再网上学习下别人怎么写的!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值