首页 > 编程语言 > 详细

Java基础小结

时间:2021-04-07 21:08:04      阅读:20      评论:0      收藏:0      [点我收藏+]

Java中的方法概述

方法重载规则

  • 方法名称必须相同

  • 方法的形参必须不相同(个数、类型、参数排列顺序等)

  • 方法的返回值类型可以相同也可以不同

  • 仅仅返回值类型不同不足以构成方法的重载

 

实现理论

方法名称相同时,编译器会根据调用方法的参数个数、参数类型等逐个去匹配,以选择对应的方法,如果匹配失败,则编译器报错。

 

命令行传参

public class Demo3 {
   public static void main(String[] args) {
       for (int i = 0; i < args.length; i++) {
           System.out.println("args[" + i + "]:" + args[i]);
      }
  }
}

 

 

可变参数(不定项参数)

  • JDK1.5开始支持传递同类型的可变参数给一个方法

  • 方法声明中,在指定参数类型后加一个省略号(...)

  • 一个方法只能指定一个可变参数,它必须时方法的最后一个参数

 

递归

  • 递归头(边界):什么时候不调用自身方法。如果没有头,将陷入死循环;

  • 递归体:什么时候需要调用自身方法

Java都是使用栈机制的,递归算法会向栈中压入大量的方法,随着算法的深度大幅提升,会产生额外的时间开销,甚至会导致物理空间上的不足,从而造成栈内存溢出。

递归的深度越大,时空性越差。

因此,在实际开发中,能不使用递归就尽量不使用递归。

public class Demo7 {
   public static void main(String[] args) {
       System.out.println(System.currentTimeMillis());
       System.out.println(f(30));
       System.out.println(System.currentTimeMillis());
  }
?
   static int f(int n) {
       if (n == 1) {
           return 1;
      } else {
           return n * f(n-1);
      }
  }
}

 

数组

  • 数组声明--在栈内存空间声明一个变量,里面保存的是数组的名称

  • 创建数组--在堆内存中开辟空间,用来存储实际的数组每个元素并默认初始化每个元素的值(基本类型默认是0,其他引用类型默认是null)

  • 数组赋值--给数组元素赋值(数组中定位每个元素使用的是索引/下标,从0开始,最大为数组长度减1,超出之后会报数组下标越界的异常)

数组的特点

  • 长度是确定的。数组一但创建,它的大小就不可以改变

  • 其元素必须是相同类型

  • 数组中的元素可以是任何数据类型

  • 数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量

数组本身就是对象,Java中对象是在堆中的,因此数组无论保存基本数据类型还是其他对象类型,数组对象本身是在堆中的。

 

数组小结

  • 数组是相同数据类型的有序集合

  • 数组也是对象。数组元素相当于对象的成员变量

  • 数组长度是确定的、不可变的。如果越界,报错:ArrayIndexOutofBounds

Java基础小结

原文:https://www.cnblogs.com/dbin1126/p/14628682.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!