Java数组1(2015-8-26)

1、数组:相同数据类型的一组数据;

2、数组是在堆里面存储数组数据,在栈里面存储数组在堆里面的地址。数组是引用类型。(Java里面有两种数据类型:基本数据类型和引用数据类型)

3、对象数组保存的是引用,基本类型数组直接保存基本类型的值。

4、length不是实际保存的元素个数。

5、新生成的数组对象,其中所有的引用自动初始化为null;基本类型数组成员有各自默认值(数值型为0,字符型为(char)0,布尔型为false)。

6、数组的查找算法(查找最大数、最小数):线性查找法(顺序)、二分查找法(数组必须为有序的)。

7、数组的排序算法:冒泡排序法(比较相邻的两个数据)、选择排序法(从数组当中找出最大的或最小的数据进行一一比较)、插入排序法(用的比较少)。

8、

public class Test{
 public static void main(String[] args){
  //--3种定义数组的方法。
  int[] arr = new int[3];//一定要给数组一个数组的默认长度
  //int[] arr1 = new int[]{4,5,6};
  //int[] arr2 = {7,8,9,10};
  
  //--数组的赋值:通过下标,数组的下标从0开始。
                //对数组取值、赋值、遍历都可以通过数组的下标来进行。
  arr[0] = 1;
  arr[1] = 2;
  arr[2] = 3;
  //--数组下标越界
  //arr[3] = 4;--错误的
  
  //--变量数组的数据:数组是一个有序的线性的存储
  for(int i=0;i<arr.length;i++){
   System.out.print(arr[i]+"\t");
  }
  
 }
}

9、通过线性查找法,取数组里的最大数据
public class Test1{
 public static void main(String[] args){
  //--定义个数组
  int[] arr = new int[]{7,2,10,9,45,3};
  //--存储最大数据的容器
  int max = arr[0];
  //--存储最小数据的容器
  int min = arr[0];
  //--数组的遍历。arr[0]已经赋值了,就不用再和自己比较了,i=1开始比较。
  for(int i=1;i<arr.length;i++){
   //--取最大数据
   if(arr[i]>max){
    max = arr[i];
   }
   //--取最小数据
   if(arr[i]<min){
    min = arr[i];
   }
  }
  System.out.println("max:"+max);
  System.out.println("min:"+min);
 }
}

时间: 2024-08-06 22:18:00

Java数组1(2015-8-26)的相关文章

HeyWeGo小组《Java程序设计》 2015—2016年学期团队项目总结

HeyWeGo小组<Java程序设计> 2015—2016年学期团队项目总结 题目简介 一个简单的扫雷小游戏,在12*12的方格盘上,首先可以设定雷的个数,然后点击开始程序就会随机布雷,开始游戏后如果点到雷就会显示游戏结束,如果没有,会出现数字表示周围一圈雷的个数,以此推理当扫出所有雷将显示游戏胜利. 游戏项目规划: 确定游戏中方块格子的个数 确定游戏中地雷的个数(初始10个),完成布雷 计算每个方块周围的雷数,在方块周围本身没有地雷的情况下,统计周围地雷的个数 若周围没有地雷则翻开周围的空白

Java数组与内存控制

一.Java数组初始化 Java数组是静态的,即当数组被初始化之后,该数组的长度是不可变的.Java数组使用之前必须先对数组对象进行初始化,所谓初始化,就是为数组的所有元素分配内存空间,并为每个数组元素指定初始值.(文章来源于李刚老师的<突破java程序员的16课>) 1:基本类型数组的两种初始化方式 静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度. 动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初始值. 不要同时使用静态初始化和动态初始化,也就是

Java数组练习题小结

//2015/07/07 //Java数组小小练习题 /* 3. 写一个函数,计算一个整数数组的平均值 4. 自定义一个整数数组a,读入一个整数n,如果n 在数组中存在,则输出n 的下标:如果不存在,则输出-1. 5. 给定一个数组,输出数组中的最大值和最小值 6. *给定一个数组,把这个数组中所有元素顺序进行颠倒. 7. *完成数组的冒泡排序算法:给定一个数组:int[] a = {1,3,2,7,5},利用冒泡排序对其按照从小到大的顺序排序,然后输出结果. 8. *使用第二种算法对数组进行排

JAVA编程“性能说”(java编程需要做的26件事)

转载于 http://www.csdn.net/article/2012-06-01/2806249 最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了. 下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方. 1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 控

java 数组及数组得内存管理总结

一:一维数组的声明及初始化 数组变量属于引用类型,他的元素可以是引用类型,也可以是基本类型. int[] a=new int[3]; a[0]=1; a[1]=2; a[2]=3; int[] b={1,2,3}; int c[]={1,2,3}; // int d[5]; 错误表达方式 a的内存图: b与c引用的内存图与a一样.b与c引用只是a引用得简写. 1 public class Test1 { 2 3 public static void main(String[] args) { 4

java数组降序排序之冒泡排序

1 import java.util.Arrays;//必须加载 2 class Demo{ 3 public static void main(String []args){ 4 int[] arr={3,54,456,342,2798,15,78,56,95,5678,9,5}; 5 System.out.println(Arrays.toString(arr));//java打印数组,排序前[3, 54, 456, 342, 2798, 15, 78, 56, 95, 5678, 9, 5

java数组扩增的三种方式

java数组声明的时候必须声明其长度,但当我们想对数组进行扩增的时候该怎么办呢? 下面三种方式都可以进行扩增,最后一种也最为方便. 1 /** 2 * 手动循环扩增 3 */ 4 int[] arr = { 1, 2, 3 }; 5 int[] tempArray = new int[arr.length * 2]; 6 for (int i = 0; i < arr.length; i++) { 7 tempArray[i] = arr[i]; 8 } 9 //tempArray = { 1,

[转载]Java数组扩容算法及Java对它的应用

原文链接:http://www.cnblogs.com/gw811/archive/2012/10/07/2714252.html Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组对象是不可扩容的. 2)利用数组复制方法可以变通的实现数组扩容. 3)System.arraycopy()可以复制数组. 4)Arrays.copyOf()可以简便的创建数组副本. 5)创建数组副本的同时将数组长度增加就变通的实现了数组的扩容.  源码展示: 1 public class Array

周日学习内容(2015.7.26)

周日学习内容(2015.7.26) 一.流程控制初步 流程控制结构:顺序结构,选择结构,循环结构. 二.逻辑运算符 &&:逻辑与(表达式1&&表达式2 同真为真,其余为假). ||:逻辑或(表达式1&&表达式2 有真必真,其余为假). !:逻辑非(取反) 三.if-else选择结构 语法: if(){ }else{ } 四. java中产生随机数方法 范围:从0到1,能取到0,但是取不到1 五.多重if选择结构 if(表达式1){ 语句1 }else if(

java数组元素倒置

1 package dataStructure; 2 import java.util.Arrays; 3 import java.util.ArrayList; 4 public class Test1 { 5 static int [] a =new int[10]; 6 static{ 7 for (int i=0;i<10;i++) 8 a[i]=i; 9 } 10 11 public ArrayList<Integer> inverse(int [] a,ArrayList&l