JAVA基础课程 数组

JAVA 基础课程 数组
2017-6-30
一、数组定义:
什么是数组?
程序 = 算法 + 数据结构;
所谓数据结构,简单说就是把数据按照特定的某种结构来保存。
相同数据类型元素组成的集合。

数组下标越界异常提示:
java.lang.ArrayIndexOutOfBoundsException

数组的定义:
//数组定义
//数据类型[] 数组名称;
//数据类型 数组名称[];

int[] arr;
arr = new int[5];
for(int i=0;i<arr.length;i++){
     arr[i]=i;
}
int[] arr1=new int[]{1,2,3,4}; []里面不用写数字,自动分配空间
int[] arr1={1,2,3,4};
char[] arr2={'v','x'};
string[] arr3={"aaa","bbb"};

int[] arr4;
arr4=new int[]{1,2,3};


二、冒泡排序:
相邻元素之间进行比较,比较大小,如果违反规则就互换位置。

package work7;
import java.util.Arrays;
public class work7 {
    public static void main(String[] args) {
         // TODO Auto-generated method stub
           int[] arr={2,1,4,6,3};
         for(int i=1;i<arr.length;i++){    //i 第几趟排序
            for(int j=0;j<arr.length-i;j++){
                  if(arr[j]>arr[j+1]){     //交换值
                      int temp=arr[j];
                      arr[j]=arr[j+1];
                      arr[j+1]=temp;
                      }
                 }
           }
          System.out.println(Arrays.toString(arr));
      }
}

三、复制数组:
System.arrayCopy

int[] a={10;20;30;40;50};
int[] a1=new int[6];
System.arrycopy(a,1,a1,0,4); 

-src 复制数组
-srcPos 复制数组起始下标
-dest 目标数组
-destpos 目标数组复制起始下标
-length 复制数组长度

代码示例


Arrays.copyOf()


-original 原数组 b
-newLength 目标数组的长度


四、二维数组:

数组类型[] []数组名称 = new 数组类型[行必须指定] [];

Arrays.sort()
五、定义方法:

//方法声明
修饰词 返回值类型 方法名(参数列表){方法体}

//方法调用
//方法名称(实参列表)

public class work4 {
     //方法定义
  public static void print(int[] arr){
  for(int i=0;i<arr.length;i++){
              System.out.println(arr[i]);
          }
     }
       //变量类型   变量名称   形参  public static int sum(int num1,int num2){
          return num1+num2;  //返回值也是方法结束的表示
     }

public static void main(String[] args) {
          // TODO Auto-generated method stub
          int result=sum(1,2);
     System.out.println(result);
          int num1=5,num2=10;
           // 需要定义一个结果收纳返回值           //实参与形参类型必须一致
    int result1=sum(num1,num2);
     }

}
 
参数列表 参数值内容传递 值地址传递

public static void print(int[] arr){
          System.out.println("形参初始值:"+Arrays.toString(arr));
          arr[0]=100;
     }

public static void main(String[] args) {
          // TODO Auto-generated method stub
          int[] arr={1,2,3,4};
          System.out.println("形参改变前的值:"+arr[0]);
          print(arr);
          System.out.println("形参改变后的值:"+arr[0]);
          print(arr);
     }



八种基本数据类型和String 值内容传递 形参值改变  实参值不变

其他类型 值地址传递 形参值改变 实参跟着变  数组属于其他类型  char[]属于数组引用类型
示例:

public class work5 {
     public static void test(StringBuffer s,StringBuffer s2){
          System.out.println(s);
          System.out.println(s2);
          s2=s;
          s=new StringBuffer("new");
          System.out.println(s);
          System.out.println(s2);
          s.append("haha");
          s2.append("haha");
     }

     public static void main(String[] args) {
          // TODO Auto-generated method stub
          StringBuffer s=new StringBuffer("good");
          StringBuffer s2=new StringBuffer("bad");
          test(s,s2);
          System.out.println(s);
          System.out.println(s2);
     }

}

画图进行演示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值