`

对java中数组的个人理解

 
阅读更多

明确概念:

既然说到了数组,首先,我们先明确一下数组的概念:相同数据类型的元素按一定顺序排列的集合。
                                                                                      Java中,数组元素可以为简单数据类型,也可以为对象。
那么,既然是相同数据类型的元素的排列,那么他们在内存中的存放也是按照这个先后顺序的。

 

定义方式:
java中数组一般是要先声明,后创建空间,然后再创建数组元素并赋值。
其定义的方式有四种:


 数据类型[ ] 数组名;             //声明一维数组
 数组名=new 数据类型[个数];//动态分配内存给数组
 
 数据类型[ ] 数组名= new 数据类型[个数];
 
 数据类型[ ] 数组名= new 数据类型[个数]{"赋初值"};
 
 数据类型[ ] 数组名;             //声明一维数组
 数组名=new 数据类型[个数]{"赋初值"};//动态分配内存给数组
 
数组的方法:
 数组里面只有一个唯一的方法,就是length

两个练习:

1.一维数组的各种排序方法

package 数组;

import java.util.Random;

public class Kindsort {

	/**
	 * 各种排序方法
	 */
	public static void main(String[] args) {
		
		Kindsort sort = new Kindsort();
		
		//在这里使用下面的方法即可
		sort.quick();
		System.out.println("===========================================");
		sort.shellsort();
		System.out.println("===========================================");
		sort.insort();
		System.out.println("===========================================");
		sort.selectsort();
		
	}
	
	//人工快速排序
	private void quick() {
		int[] array = new int[5];
		
		for(int i=0;i<5;i++){
			Random rand = new Random();
			array[i]=rand.nextInt(500);
		}
		
		for(int i=0;i<5;i++){
			for(int j=0;j<5;j++){
				int temp =array[i];
				if(temp <= array[j]){
					array[i] = array[j];
					array[j] = temp;
				}else{
					continue;
				}
			}
		}
		for(int i=0;i<5;i++){
			System.out.println(array[i]);
		}
	}

	//希尔排序
	private void shellsort() {

		int[] array = new int[5];
		
		for(int i=0;i<5;i++){
			Random rand = new Random();
			array[i]=rand.nextInt(500);
		}
		
		for (int in = array.length / 2; in > 0; in /= 2) {
			for (int i = in; i < array.length; i++) {
				int t = array[i];
				int j = 0;
				for (j = i; j >= in; j = j - in) {
					if (t < array[j - in]) {
						array[j] = array[j - in];
					} else {
						break;
					}
				}
				array[j] = t;
			}
		}
		for (int i = 0; i < array.length; i++)
			System.out.println(array[i] + "\t");
	}

	//插入排序
	private void insort() {
		int[] array = new int[5];
		
		for(int i=0;i<5;i++){
			Random rand = new Random();
			array[i]=rand.nextInt(500);
		}
		
		for (int i = 1; i < array.length; i++) {
			for (int j = i; j > 0; j--) {
				if (array[j] < array[j - 1]) {
					int t = array[j];
					array[j] = array[j - 1];
					array[j - 1] = t;
				}
			}
		}
		for (int i = 0; i < array.length; i++)
			System.out.println(array[i] + "\t");
	}

	//选择排序
	private void selectsort() {
		int[] array = new int[5];
		
		for(int i=0;i<5;i++){
			Random rand = new Random();
			array[i]=rand.nextInt(500);
		}
		
		for (int i = 0; i < array.length; i++) {
			int min = i;
			for (int j = i + 1; j < array.length; j++) {
				if (array[min] > array[j])
					min = j;
			}
			int t = array[i];
			array[i] = array[min];
			array[min] = t;
		}
		for (int i = 0; i < array.length; i++)
			System.out.println(array[i] + "\t");
	}
	
	
}

 

2.找出二维数组的最大值

package 数组;

import java.util.Random;

//算二维数组的最大值

	public class Findsort{
		public static void main(String args[]){
			int a[][]=new int[2][5];
			Random rand=new Random(); 
			for(int i=0;i<2;i++){
				for(int j=0;j<5;j++){
					a[i][j]=rand.nextInt(30);
					System.out.println("a["+i+"]["+j+"]="+a[i][j]);
				}
			}
			int max;
			Findsort p=new Findsort();
			max=p.maxv(a);
			System.out.println("max="+max);
		}
 
		public int maxv(int arr1[][]){
			int i,j,max;
			max=arr1[0][0];
			for(i=0;i<arr1.length;i++)
				for(j=0;j<arr1[i].length;j++)
					if(arr1[i][j]>max)
						max=arr1[i][j];
			return max;
		}
	}

 

 

1
1
分享到:
评论

相关推荐

    java源码包2

    Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理...

    java源码包---java 源码 大量 实例

    Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、...

    JAVA上百实例源码以及开源项目源代码

    Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、...

    JAVA上百实例源码以及开源项目

    Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、...

    java源码包4

    Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理...

    java源码包3

    Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印  util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印...

    中英代码理解数组的二叉查找法

    所以我用了中文版的代码和英文版的代码分别进行二叉的实现,还将我个人的理解放上,让理解、掌握二叉思想不再困难。 说明: 中文代码使用的编译语言:易语言 英文代码使用的编译语言:java 二、正文 为了方便对下面...

    Java语言基础的理解与笔记

    主要简述Java基础,包括概述,基础语法,流程控制语句,数组,方法和值传递 适合刚开始的新手参考 主要可以使用在计算机刚入门的小伙伴或者回来看一看复习一下简单的基础的 ① 凡本网站注明“来源:本网站、子网站或...

    javascript实现数组去重的方法

    数组去重是面试中经常被问到的热点问题,数组去重的方法有很多,下面谈谈个人理解。 概括 数组去重是一个比较常见的算法考察点,实现去重的方式无非就是唯一性或者非唯一性,简而言之,就是选出唯一的或者去掉不唯一...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印...

    Java面试宝典(传说中的葵花宝典).doc

    另外,我个人通常并不使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二维数组中查找到某个数字。 int arr[][] = {{1,2,3},{4,5,6,7},{9}}; boolean found = false; ...

    21天学通Java_6

    只需21天的时间,便可具备使用Java,-发运行在计算机中的应用程序、运行在Web服,务器中的se rvlet,以及通过浏览器启动的Java Web Start应用程序的知识和技能。 无需任何编程经验。按本书精心组织的21个课程进行学习...

    java错题集(有超详细答案解析)

    平时个人做题时收集的一些题目,对理解java基础很有帮助,这个版本不是很全,多态数组方面的知识比较齐全一点。

    Java+复习笔记+源自宋红康老师视频+个人的一些理解

    基本语法+面向对象+数组+异常+多线程等

    《Java程序设计》课程实验指导书程序代码(答案)(实验五)

    3. (第3题) 定义三角形类及相应的方法, 在定义的方法中对不符合条件则抛出异常(如上题) ,再定义main方法,对正确的数据输出正确信息,否则捕获异常; 五、自做实验 1.参考下面的程序,试修改程序,捕获相关异常,使得...

    达内 coreJava 习题答案

    其中a为1至9之中的一个数,项数也要可以指定。 import java.util.Scanner; class Multinomial{ public static void main(String[] args){ int a; //定义输入的 a int howMany; //定义最后的一项有多少个数字 ...

    张孝祥java就业面试宝典

    另外,我个人通常并不使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二维数组中查找到某个数字。 int arr[][] = {{1,2,3},{4,5,6,7},{9}}; boolean found = false;...

    Java集合浅层理解

    若要深刻了解,还是自己去剖析源码,看明白了,就真的懂了,个人也在努力中。 集合框架结构 |—–Collection:存储一个一个的数据  |—–List:存储有序的、可以重复的数据 : 替换数组,”动态数组”  |—–...

Global site tag (gtag.js) - Google Analytics