一、java数组

  1、数组定义:数组就是形象于一个容器(容器即可理解为:装东西的容器)

  2、数组特征:数据是连续的,分配大小固定,数组中数据类型完全一致

  创建规则:int[] arr = new int[10] //创建字符类型为init,长度为10的数组

package com.jd.lcj.test;

/**
* Created by lcj on 2016/6/29.
*/
public class while01 {
public static void main(String[] args)
{
int[] arr = new int[10];////创建一个长度为10的整型数组
arr[0] = 123; //o:表示数组中的第一元素
arr[1] = 133;
arr[2] = 143;
arr[4] = 'A';//正确,因为char和int可以互相转化
System.out.println("数组4的数值为:"+ arr[4]); //数组4的数值为:65 [assiilc码中对应的值]
// arr[2] = 'dfdsf'; //设置的数组为整形不是字符串形式
System.out.println("数组长度为:"+ arr.length); //打印数组长度
//数组下标超界
arr[10] = 100;
System.out.println("数组长度为:"+ arr.length);
//java.lang.ArrayIndexOutOfBoundsException 表示数组超越规定的长度
}
}

  二、数组分类

  1)动态数组

  对数组中的元素进行动态传值,

        //动态数组,在数组长度为10 中可传任意数字
     //数组的动态初始化【数组的长度只能写于new对象的后面】
int[] arr = new int[10];////创建一个长度为10的整型数组
arr[0] = 123; //o:表示数组中的第一元素
arr[1] = 133;
arr[2] = 143;
arr[4] = 'A';//正确,因为char和int可以互相转化

  2)静态数组

  定义:数组中的元素是固定,不能超过规定的数组长度

  创建规则: int[] srry ={11,22,334,55,6,6,77};  //创建一个整形数组,长度为7

public class while01{
public static void main(String[] args)
{
//静态初始化
int[] srry ={11,22,334,55,6,6,77};
System.out.println("srry数组长度为:"+ srry.length);//arry数组长度为:7
System.out.println("srrry数组中第四个为:"+ srry[4]); //srrry数组中第四个为:6
System.out.println("srry第八个数组为:"+ srry[8]);//不能超过数组长度7
//Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
}
}

  三、数组简单操作

  1)遍历

  何为遍历?

  简而言之,就是将数组中的元素从头到尾一次访问一遍。

  方式:循环遍历或通过数组下标反问  

public class while01{
public static void main(String[] args)
{
//静态初始化
int[] srry ={11,22,334,55,6,6,77};
System.out.println("srry数组长度为:"+ srry.length);//arry数组长度为:7
System.out.println("srrry数组中第四个为:"+ srry[4]); //srrry数组中第四个为:6
//通过for循环对数组中的元素进行遍历
for (int i = 0 ;i<srry.length;i++)
{
System.out.print(srry[i] + " ");//输出:11 22 334 55 6 6 77
}
}
}

  2)CRUD

  3)排序

  使用java自带Arrays.sort()实现数组排序

package com.jd.lcj.test;

import java.util.Arrays;
public class while01{
public static void main(String[] args) {
//静态初始化
int[] srry ={11,22,334,55,6,6,77};
//通过for循环对数组中的元素进行遍历
for (int i = 0 ;i<srry.length;i++)
{
System.out.print(srry[i] + " ");//输出:11 22 334 55 6 6 77
}
System.out.println("\n----------升序排列--------------\n");
Arrays.sort(srry); //
//对数组进行升序排序
for (int i = 0 ;i<srry.length;i++)
{
System.out.print(srry[i] + " ");//6 6 11 22 55 77 334
}
System.out.println("\n--------降序排列------------\n");
for (int i = srry.length-1 ;i>=0;i--)
{
System.out.print(srry[i] + " ");//334 77 55 22 11 6 6
}
}
}

  练习2:

  打印出数组中最小或最大的元素,并进行升序排序

package com.jd.lcj.test;
import java.util.Arrays;
import java.util.Scanner;
public class while01 {
//对数组进行排序(升序、降序)
public static void main(String[] args) {
int[] arr = new int[10];//设置一个动态数组范围在10
int min;//最小值
int max;//最大值
Scanner in = new Scanner(System.in); //创建scanner对象,接收从控制台输入
for(int i=0;i<arr.length;i++){
System.out.println("请输入第"+(i+1)+"个整数:");
arr[i]=in.nextInt(); //什么类型next后面就跟什么类型,将用户随机输入动态元素放置在一个数组中arr[i]
// System.out.print(arr[i]+ "");
}
for(int i=0;i<arr.length;i++) { //循环打印数组中输出的数字并数值间隔为一个空格
System.out.print(arr[i]+" ");
}
System.out.println("\n------------------------\n");
Arrays.sort(arr);//对动态数组进行升序排序
min = arr[0];
max = arr[arr.length-1]; //按照下标对数组中的元素进行定位,从0开始升序
System.out.println("最小的元素是:"+min);
System.out.println("最大的元素是:"+max);
}

  

Java_数组的更多相关文章

  1. Java_数组1_16.5.12

    声明整型数组a: int[] a; 这时,只声明了变量a,还应该使用new运算符创建数组: int[] a=new int [100];(数组长度不要求是一个常量:new int[n]会创建一个长度为 ...

  2. java_数组的定义与操作

    数组定义和访问 数组概念 数组概念: 数组就是存储多个数据的容器,数组的长度固定,多个数据的数据类型要一致. 数组的定义 方式一 数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度 ...

  3. Java_数组, 懒得整理了 ---------------------> 未完, 待续

    待续 public class TestArray { public static void main(String[] args) { String[] s1 = {"双儿", ...

  4. day06 Java_数组_方法_参数

    精华笔记: 数组: 复制: System.arraycopy(a,1,b,0,4); int[ ] b = Arrays.copyOf(a,6); 排序: Arrays.sort(arr); //升序 ...

  5. java_数组作缓存池的不可变类实例

    package ming; public class CacheImmutale { private static int MAX_SIZE = 10; private static CacheImm ...

  6. Java_基础篇(数组的反转)

    数组反转也是Java的基础. 数组反转要求掌握的是: 1).创建一个数组,在内存中申请一块空间. 2).实例化数组. 3).对数组的了解.如:数组的长度,数组的下标,数组的表示方法. 4).数组的交换 ...

  7. day05 Java_循环_基本类型数组

    精华笔记: 循环结构: for结构:应用率高.与次数相关的循环 三种循环结构的选择规则: 先看循环是否与次数相关: 若相关----------------------------直接上for 若无关, ...

  8. ooday03 Java_引用类型数组_继承_super_向上造型

    引用类型数组: 点击查看代码 1)Bomb[] bs = new Bomb[3]; bs[0] = new Bomb(100,200); bs[1] = new Bomb(200,300); bs[2 ...

  9. java_不知道数据类型情况下,数组遍历-反射

    if(items.getClass().isArray){ this.collection = new ArrayList(); int length = Array.getLength(items) ...

随机推荐

  1. VS2013失去智能提示如何恢复

    一般智能提示包括,输入智能提示,鼠标移到类,方法,接口,变量上面自动提示相关信息,VS2013常常会失去这种提示功能,遇到这种情况可以这样解决: 1.在开发环境中随便打开一个xxx.aspx页面,也就 ...

  2. linux常用命令:4文件压缩和解压命令

    文件压缩和解压命令 压缩命令:gzip.tar[-czf].zip.bzip2 解压缩命令:gunzip.tar[-xzf].unzip.bunzip2 1. 命令名称:gzip 命令英文原意:GNU ...

  3. HDOJ-三部曲-1001-Flip Game

    Flip Game Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 131072/65536K (Java/Other) Total Su ...

  4. VBS_For Each...Next

    For Each...Next 循环与 For...Next 循环类似.For Each...Next 不是将语句运行指定的次数,而是对于数组中的每个元素或对象集合中的每一项重复一组语句.这在不知道集 ...

  5. 步步入佳境---UI入门(4) --简单练习

    一,创建SingleViewApplication 1,UILabel的简单使用 UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(0, ...

  6. jquery模拟淘宝购物车

    今天要实现的一个功能页面就是利用jquery代码模拟一个淘宝网的购物车结算页面 总体页面效果如图: 首先我们要实现的内容的需求有如下几点: 1.在购物车页面中,当选中“全选”复选框时,所有商品前的复选 ...

  7. Android pix转换为sp

    /** * 把pix值转换为sp * * @return */ public static float px2sp(Context context, float pixValue) { final f ...

  8. 第一个Sprint冲刺第三天

    讨论成员:邵家文.李新.朱浩龙.陈俊金 讨论问题:如何将新学的技术应用于四则运算项目中 讨论地点:宿舍 进展:跟预期相差不远

  9. jq实现动态添加样式

    <script> $(function(){ $("#list_zlm > a").hover(function(){ $(this).addClass(&quo ...

  10. Core Java Volume I — 4.10. Class Design Hints

    4.10. Class Design HintsWithout trying to be comprehensive or tedious, we want to end this chapter w ...