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) ...
随机推荐
- 2016 - 1- 14 UI阶段学习补充 transform属性详解
UIView的transform属性 transform是view的一个重要属性,它在矩阵层面上改变view的显⽰状态,能实现view的缩放.旋转.平移等功能.transform是CGAffineTr ...
- 刷固件Layer1到手机FLASH(硬刷)
开头: 注意:本文章并不是做GSM 嗅探必须的,平时我们刷机叫软刷是刷到内存里面的,断电就消失了,这个是硬刷,刷到flash里面的,断电不消失,开机就运行的. 本文章经过作者实测可行,这只是单个应用程 ...
- python数据分析入门——matplotlib的中文显示问题&最小二乘法
正在学习<用python做科学计算>,在练习最小二乘法时遇到matplotlib无法显示中文的问题.查资料,感觉动态的加上几条语句是最好,这里贴上全部的代码. # -*- coding: ...
- 解决MindManager缺少mfc100u.dll无法启动的难题-转载
很多应用软件的运行环境离不开组件,MindManager也不例外.很多用户在成功安装MindManager之后,却显示无法找到组件mfc100u.dll,mfc100u.dll是MindManager ...
- ios即时通讯客户端开发之-mac上搭建openfire服务器
一.下载并安装openfire 1.到http://www.igniterealtime.org/downloads/index.jsp下载最新openfire for mac版 比如:Openfir ...
- 自定义NavigationBar
[self.navigationController.navigationBarsetHidden:YES]; CGRect screenRect = [[UIScreen mainScreen] b ...
- 清除浮动2-父元素设置overflow:hidden
<!doctype html><html> <head> <meta charset="UTF-8"> <meta name= ...
- Magento后台表单字段添加备注
Magento的后台表单封装的非常好,各种字段都能够直接找到方法调用.在最近的一个项目中,为客户定制了一款定时变价功能,该功能需要导入一个csv作为变价的基础.为了方便客户,我们需要在上传表单位置添加 ...
- 用SSH指令批量修改文件夹 文件权限和拥有者
在linux系统下或登录ssh可以批量修改文件权限 wwwroot目录下的所有目录的权限递归设置为755 cd wwwrootfind -type d -exec chmod 755 {} \;或者是 ...
- oracle将多条数据合并成一条
select t.col1,t.col2 ,wmsys.wm_concat(t.col3||' ') AS col3 , wmsys.wm_concat(t.col4||'') as col4,w ...