Java基础语法学习 ———— Day2

Java基础语法学习 ———— Day2

一、方法

  1. 定义

    类似于其他语言的函数,是一段用来完成特定功能的代码片段。

    //定义方法
    修饰符 返回值类型 方法名(参数类型 参数名){
        ...
        方法体
        ...
        return 返回值;    
    }
    
  2. 方法调用

    • 调用方法:对象名.方法名

    • 当方法返回一个值时:

      int large = max(30,40);
      
    • 当返回值时void时,方法调用一定是一条语句:

      System.out.println("");
      
  3. 方法重载

    重载是在一个类中,有相同的函数名称,但形参不同的函数。

  4. 可变参数

    • 在方法声明中,在指定参数类型后加一个省略号(…)
    • 一个方法只能指定一个可变参数,它必须是方法的最后一个参数
    public class Demo05 {
        public static void main(String[] args) {
            Demo05 demo05 = new Demo05();
            //传递多个int类型参数
            demo05.max(1,4,65,75,34,24);
        }    
    public  void max(int...numbers){
        	//numbers相当于数组
            if(numbers.length == 0){
                System.out.println("NO argument passed!");
                return;
            }
            double result = numbers[0];
            for (int i = 0; i < numbers.length; i++) {
                if(numbers[i] > result){
                    result = numbers[i];
                }
            }
            System.out.println("The max value is "+ result);
        }
    }
    

二、数组

  1. 数组的声明与创建

    • 必须先声明数组变量才能在程序中使用数组:

      //声明数组
      dataType[] array; //常用方法
      dataType array[]; //效果相同
      
    • 使用new操作符来创建数组:

      //创建数组
      dataType[] array = new dataType[arraySize];
      //声明与创建数组
      dataType[] array = new dataType[arraySize];
      
  2. 三种初始化

    • 静态初始化

      int[] a = {1,2,3};
      Man[] mans = {new Man(1,1), new Man(2,2)};
      
    • 动态初始化

      int[] a = new int[2];
      a[0] = 1;
      a[1] = 2;
      
    • 默认初始化

  3. Arrays类

    • 数组的工具类java.util.Arrays
    • 具有以下常用功能:
      • 给数组赋值:通过fill方法
      • 对数组排序:通过sort方法
      • 比较数组:通过equals方法
      • 查找数组元素:通过binarySearch方法对已排序的数组进行二分查找
  4. 冒泡排序

    public static int[] sort(int[] arr){
            boolean flag = false;
            int temp = 0;
            //外部循环,表示循环次数
            for (int i = 0; i < arr.length - 1; i++) {
            //内部循环,比较大小转换排序
                for (int j = 0; j < arr.length - 1 - i; j++) {
                    if(arr[j+1] < arr[j]){
                        temp = arr[j+1];
                        arr[j+1] = arr[j];
                        arr[j] = temp;
                        flag = true;
                    }
                }
                if(!flag){
                    break;
                }
            }
            return arr;
    }
    

三、Java内存分析

    • 存放new的对象和数组
    • 可以被所有的线程共享,不会存放别的对象引用
    • 存放基本变量类型
    • 引用对象的变量
  1. 方法区
    • 可以被所有的线程共享
    • 包含了所有的classstatic变量
posted @ 2025-07-30 19:25  ~sang~  阅读(11)  评论(0)    收藏  举报