数组与方法

数组:引用类型  一堆相同类型的数据集合

一维数组:

1、数组的声明:  数据类型名[  ]   变量名 ;

2、数组的初始化:

(1)静态初始化:  eg :  int[ ]  a ={1,2,3,4 };   静态变量不能再被赋值新的静态值

(2)动态初始化:

1)  eg:   int [ ] a=new  int  [length];   会有length 个默认值

整形:0   浮点型  0.0  字符型: '  \u0000 '   布尔类型:false   引用类型:null

2) eg :  int [ ] a =new  int [ ]{1,2,3,4}  动态的变量也只能赋值为新的动态

3、数组的元素:元素是指里面的数据

4、数组的下标:元素的位置是从0到length-1;   数组的长度(元素的个数)  int num=变量名.length;

5、数组元素的访问 (存取)   变量名[下标]

6、数组的遍历  for循环输出

7、数组异常:  ArrayIndexOutOfBoundException  数组下标越界异常     

二维数组:

1、声明格式:数据类型  数组名[][];

数据类型  数组名[][] =new  数据类型[行的个数][列的个数];

2、数组初始化:

静态初始化:数据类型  数组名[][]={  { 第一行初值  },{  第二行初值 },{   ...  }  };

动态初始化:先声明,再逐个赋值

多维数组   数据类型  数组名[][][];   依次类推


引用数据类型: 所声明的变量里面存的不是具体数据,是 其所在内存中经过计算所得的一个地址。

jvm内存管理结构:其中有两个部分  

栈:存的是方法内部的局部变量,先进后出的特点,八大基本数据类型的值,

如果直接给变量赋值,那么就直接存在变量中

堆:存的是引用类型的数据(对象)

数组之间的变量的赋值

址传递:引用变量之间的赋值

值传递:基本数据类型变量之间的赋值


Arrays:数组工具类

(1)Arrays.equals(array1,array2): 比较两个数组是否相等

(2)Arrays.sort(array):对数组array的元素进行升序排列

(3)Arrays.toString(array):

功能:把数组里的元素拼接成字符串    "[元素1,元素2,………………,元素n]"

system.out.println(Arrays.toString())

(4)Arrays.fill(array,val):把数组中所有的元素赋值为val

(5)数组的复制:指的是堆里的对象进行复制。数组对象一经确定,就不能被不改变长度

系统数组复制法:System.arraycopy(p1,p2,p3,p4,p5);
p1:源数组,表示你要复制的数组
         p2:从源数组开始复制元素的下标
         p3:目标数组,表示要复制到的那个数组
         p4:表示目标数组从哪个下标开始进行
 p5:表示要复制的长度

 数组的扩容,缩容:Arrays.copyOf(p1,p2);
  p1:源数组,要复制的那个数组
 p2:表示扩容或者是缩容到多少长度

 注:数组的扩容与缩容是会产生新数组的,底层是系统数组复制法


数组的排序

冒泡排序:

for(int i =0;i<array.length-1;i++){

       for(int j=0;j<array.length-1-i;j++){

              if(array[ j ]<array[ j+1]){

                    int  temp=array[j];//临时变量,备份数据

                    array[ j ]=array[ j+1];

                     array[j+1]=temp;

              }

       }

}

======================================================

方法:方法就是一段可重复调用的代码段,有些书会把方法称为函数,其实两者没有什么区别,是同样的概念,只是称呼方式不同。

方法的定义格式:修饰词  返回值类型 方法名(形式参数){

   方法逻辑

   [return   表达式]

}  //中括号主体为方法

定义位置:在类体中,方法之间并列存在

修饰词:public   protected  default  private

返回值类型:

1、void:   无返回值类型,空返回值类型

2、数据类型(包含基本数据类型,引用类型),方法逻辑结束以后,必须有return关键词,

return后面必须跟着返回值类型的一个数 

return:表示方法结束

方法名:与变量名的命名规则一样,定义类时全部单词的首字母必须大写,定义方法,第一个单词首字母小写,之后的每个单词的首字母大写。

形式参数:一种形式,必须强调类型。带上参数,会让方法更加的灵活 。

方法的调用(两种方法):

void类型的方法:方法名(有参传参)

有返回值数据类型的方法:返回值类型  变量= 方法名(有参传参)

方法的重载:在同一个类中,方法名相同,参数类型列表不同,与修饰词、返回值类型无关。

注:在调用期间,编译器会根据传入的参数个数、类型,进行匹配方法区的相应方法,找到就调用里面的逻辑,没找到,就会报编译错误,编译不了Class文件。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值