Java_数组
一、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_数组的更多相关文章
- Java_数组1_16.5.12
声明整型数组a: int[] a; 这时,只声明了变量a,还应该使用new运算符创建数组: int[] a=new int [100];(数组长度不要求是一个常量:new int[n]会创建一个长度为 ...
- java_数组的定义与操作
数组定义和访问 数组概念 数组概念: 数组就是存储多个数据的容器,数组的长度固定,多个数据的数据类型要一致. 数组的定义 方式一 数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度 ...
- Java_数组, 懒得整理了 ---------------------> 未完, 待续
待续 public class TestArray { public static void main(String[] args) { String[] s1 = {"双儿", ...
- day06 Java_数组_方法_参数
精华笔记: 数组: 复制: System.arraycopy(a,1,b,0,4); int[ ] b = Arrays.copyOf(a,6); 排序: Arrays.sort(arr); //升序 ...
- java_数组作缓存池的不可变类实例
package ming; public class CacheImmutale { private static int MAX_SIZE = 10; private static CacheImm ...
- Java_基础篇(数组的反转)
数组反转也是Java的基础. 数组反转要求掌握的是: 1).创建一个数组,在内存中申请一块空间. 2).实例化数组. 3).对数组的了解.如:数组的长度,数组的下标,数组的表示方法. 4).数组的交换 ...
- day05 Java_循环_基本类型数组
精华笔记: 循环结构: for结构:应用率高.与次数相关的循环 三种循环结构的选择规则: 先看循环是否与次数相关: 若相关----------------------------直接上for 若无关, ...
- ooday03 Java_引用类型数组_继承_super_向上造型
引用类型数组: 点击查看代码 1)Bomb[] bs = new Bomb[3]; bs[0] = new Bomb(100,200); bs[1] = new Bomb(200,300); bs[2 ...
- java_不知道数据类型情况下,数组遍历-反射
if(items.getClass().isArray){ this.collection = new ArrayList(); int length = Array.getLength(items) ...
随机推荐
- VS2013失去智能提示如何恢复
一般智能提示包括,输入智能提示,鼠标移到类,方法,接口,变量上面自动提示相关信息,VS2013常常会失去这种提示功能,遇到这种情况可以这样解决: 1.在开发环境中随便打开一个xxx.aspx页面,也就 ...
- linux常用命令:4文件压缩和解压命令
文件压缩和解压命令 压缩命令:gzip.tar[-czf].zip.bzip2 解压缩命令:gunzip.tar[-xzf].unzip.bunzip2 1. 命令名称:gzip 命令英文原意:GNU ...
- HDOJ-三部曲-1001-Flip Game
Flip Game Time Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) Total Su ...
- VBS_For Each...Next
For Each...Next 循环与 For...Next 循环类似.For Each...Next 不是将语句运行指定的次数,而是对于数组中的每个元素或对象集合中的每一项重复一组语句.这在不知道集 ...
- 步步入佳境---UI入门(4) --简单练习
一,创建SingleViewApplication 1,UILabel的简单使用 UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(0, ...
- jquery模拟淘宝购物车
今天要实现的一个功能页面就是利用jquery代码模拟一个淘宝网的购物车结算页面 总体页面效果如图: 首先我们要实现的内容的需求有如下几点: 1.在购物车页面中,当选中“全选”复选框时,所有商品前的复选 ...
- Android pix转换为sp
/** * 把pix值转换为sp * * @return */ public static float px2sp(Context context, float pixValue) { final f ...
- 第一个Sprint冲刺第三天
讨论成员:邵家文.李新.朱浩龙.陈俊金 讨论问题:如何将新学的技术应用于四则运算项目中 讨论地点:宿舍 进展:跟预期相差不远
- jq实现动态添加样式
<script> $(function(){ $("#list_zlm > a").hover(function(){ $(this).addClass(&quo ...
- 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 ...