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~  阅读(12)  评论(0)    收藏  举报