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) ...
随机推荐
- Hadoop MRUnit使用(一)
之前在写MR job的时候,由于要在云梯,或者一淘的开发集群上运行:所以处理方法是,在本地打成jar包,然后scp到客户端网关机上,然后在提交job运行.这样的问题时,有时候如果遇到一些逻辑上的问题, ...
- http请求利器: 今天配置出了RESTClient,用MAVEN构建了UI运行包
- UIWebView stringByEvaluatingJavaScriptFromString的使用方法
stringByEvaluatingJavaScriptFromString 使用stringByEvaluatingJavaScriptFromString方法,需要等UIWebView中的页面加载 ...
- ios--NSCalendar NSDateComponents
原文: ios时间那点事--NSCalendar NSDateComponents http://my.oschina.net/yongbin45/blog/156181 目录[-] iOS时间那点事 ...
- Date and Time
The PHP date() function is used to format date and/or a time and formats as timestamp to a more read ...
- Redis - string类型操作
以个人信息为例操作string类型 设置操作: set: set key value 创建key-value名值对 setnx: setnx key value ...
- 14、SQL基础整理(存储过程)
存储过程procedure(proc) 数据库—可编程性—存储过程 新建存储过程: create proc firstproc as select *from fenshu go 执行存储过程: 存储 ...
- 重学STM32---(五)ADC
这两天把外部中断和ADC看了下,个人感觉外部中断不是很难,也就没有把记下来了,毕竟写这个挺浪费时间.ADC是比较复杂的,如果想让完全自由的运用ADC必须经过多次实践可能才可以.由于已经学过库函数,也就 ...
- ios开发环境 分支语句 、 循环结构(for) 、 循环结构
1 完成命令解析程序 1.1 问题 有命令解析程序,该程序提供三个功能选项供用户选择,用户选择某功能后,程序在界面上输出用户所选择的功能名称.程序的交互效果如图-1所示: 图-1 由上图可以看出,程序 ...
- 转载blog_Linux下Tomcat日志定期清理 及 logrotate 配置
服务器上的tomcat的catalina.out文件越来越大,查看起来很不方便,以前每次都是想起来的时候手工清理一下(cat /dev/null > catalina.out),后来发现了log ...