java(数组+方法)

1.java 中一个数组只能存储一种数据类型。
一个数组内,数据类型都是相同的

2.数组也是一种数据类型,它本身是一种引用类型。
例:int[]
int[]是一种数据类型

3.java中定义数组的方式有以下两种

type[] arrayName;
type arrayName[];

推荐使用第一种,由第二点可知,type[]本身是一种独立的数据类型。用第一种方法定义更加的准确。
如果使用第二种方法,仿佛给人一种错误的感觉定义了一个type型的变量,这是不准确的

4.定义数组时不能指定数组的长度

5.数组初始化
数组初始化是为数值的数组元素分配内存空间,并为每个数组元素赋初值

注意分配了内存空间后必须赋初值

在这里插入图片描述

//静态初始化,常用的形式
int[] a = {1,2,3,4};
//
a = {1,2,3,4};
//动态初始化代码 标准格式
type[] arrayName = new type[length];


int[] a = new int[5];	

6.所有的数组都会提供length(长度属性)

arrayname.length //数组名.length 得到数组的长度

7.foreach 循环 一种java中新加入的循环
在遍历数组和集合时非常的方便
无须获得数组和集合的长度
无须根据索引来访问数组元素和集合元素
foreach循环自动遍历数组和集合中的每个元素

//循环格式如下
for(type varibaleName:array | collection)
{	//variableName 自动迭代访问每个元素..
}

8.数组的详细内存讲解暂时跳过

9.类
类里面包换三大内容
Filed
构造器
方法

构造器:类里面如果没有定义构造器,系统会默认提供一个构造器

方法:方法不能独立定义,必须附属于类或者对象
方法类似于传统的函数,但是与函数最大的区别在于不能独立存在
方法内不能定义方法

由于以上的两点,所以方法的引用

1.在不同类中调用定义
类名.方法 或 对象名.方法
2.在本类中的调用定义
普通方法 之间的调用 :  this.方法名
如果被调方法是静态的,则默认使用类作为调用者

  1. this的引用为同一个类中不同方法之间的访问提供解决

.。。。。。。。。。。。。。。。。。。。。

11.方法只定义,不调用,是不会执行,并且在JVM中也不会给方法分配“运行所属”的内存空间
JVM内存划分上有这样三块主要的内存空间

   *方法区内存
   * 堆内存
   * 栈内存

方法区内存:存放字节码代码片段即.class文件。间中方法区内存最先有数据,存放了代码片段。
栈内存:当调用方法代码片段时,分配方法所属的运行空间

12.方法重载
功能相似的方法,可以写成一个方法

//以下三个功能相似的方法
//第一个为整数型求和
public static int sunInt(int a, int b )
{
	return a+b;
}
//第二个为长整形求和
public static long sumLong(long a,long b)
{
	return a+b;
}
//第三个为双精度浮点型求和
public static double sumDouble(double a,double b)
{
	return a+b;
}

方法重载机制:overload
使得相似的方法能够使用一个方法名即可都调用
必定要功能相似的方法

//以下是重载的示例代码
//一个方法名可以调用不同的方法,这仅限于相似的方法
public class OverLoad
{
 public static void main(String[] args)
 {
  System.out.println(sum(1,2));
  System.out.println(sum(1.0,2.0));
  System.out.println(sum(1l,2l));
 }
 public static int sum(int a ,int b)
 {
  return a+b;
 }
 public static double sum(double a,double b)
 {
  return a+b;
 }
 public static long sum(long a,long b)
 {
  return a+b;
 }
}

方法重载的构成条件
(1)在同一个类中
(2)方法名相同
(3)参数列表不同:
数量不同

public static void m1();
public static void m1(int a);

顺序不同

public static void m2(int a,double b);
public static void m2(double a,int b);

类型不同(形参数据类型不同)
注:不同的数据类型不能够区分

public static int m3(int a);
public static double m3(double b);

13.方法递归(在解题算法中会有用到)
什么是递归:
1.自身调用自身。
a(){
a();
}
2.必须要有结束条件,不然会有栈内存溢出的错误

3.即使有有递归结束条件,但是 也可能栈内存溢出错误

//求解n的阶乘
public class Recursion
{
	public static void main(String[] args)
	{
		int n = 4;
		int revaule = method(4);
		System.out.println(revaule);
	}
	public static int method(int n)
	{
		if(n==1)
		{
		return 1;
		}
		return n * method(n-1);
		
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值