一、一维数组

1.声明,分配内存

int[] a=new int[10];

数组元素的数据类型 【】 数组名=new 类型 【数组元素个数】;

2.初始化

int[] a=new int[] {1,2,3,4};
int b[]= {5,6,7,8};

3.使用

for(int x:a )
{
System.out.println(x);
}

for(int i=0;i<4;i++)
{
System.out.println((i+1)+":"+a[i]);
}

二、二维数组

1.声明,内存分配

int[][]a=new int[2][] ;
int b[][];
b=new int [2][4];
int c[][];
c=new int[2][];
c[0]=new int[2];
c[1]=new int[3];

2.初始化

int b[][]= {{1,2,3},{4,5,6}};

3.遍历

package com.test01;

public class ArrayTest01 {

public static void main(String[] args) {
// TODO Auto-generated method stub
int b[][]= {{1},{2,3},{4,5,6}};
for(int k=0;k<b.length;k++) //length取一维数组的长度
{
for(int c=0;c<b[k].length;c++) //length取一维数组中的元素个数
{
System.out.print(b[k][c]); //按元素输出
System.out.print(" ");
}
System.out.println();//输出换行
}
}

}

4.填充替换数组元素

fill()方法

5.排序

package com.test01;

import java.util.Arrays;

public class ArrayTest02 {

public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a=new int[] {33,66,11,22};
Arrays.sort(a);
for(int c:a)
{
System.out.println(c); //按元素输出

}
}

}

6.复制数组

int[] a=new int[] {33,66,11,22};
int b[]=Arrays.copyOf(a, 2);
for(int c=0;c<b.length;c++) //length取一维数组中的元素个数
{
System.out.println(b[c]); //按元素输出
}

int[] a=new int[] {33,66,11,22};
int b[]=Arrays.copyOfRange(a, 2, 5);
for(int c=0;c<b.length;c++) //length取一维数组中的元素个数
{
System.out.println(b[c]); //按元素输出
}
}

7.查询

int index= Arrays.binarySearch(a,0,1,8);

在数组下标为0到1(不包括1)的范围内,查找“8”,找到返回索引,找不到返回-1;

三、常见算法

1.冒泡排序法

package com.test01;

public class PaomoSort {

public static void main(String[] args) {
// TODO Auto-generated method stub
int a[]= {63,4,24,1,3,15};
PaomoSort s=new PaomoSort();
s.sort(a);
}
public void sort(int array[]) {
int t=0; //完成交换功能时的中间值
for(int i=0;i<array.length-1;i++) //i控制外层循环,只用来判断整个大循环要几次
{
for(int j=0;j<5-i;j++) //j控制内层循环,每次一次大循环里面的小循环怎样进行的
{
if(array[j]>array[j+1])
{
t=array[j];
array[j]=array[j+1];
array[j+1]=t;
}
}
}
showArray(array);
}
public void showArray(int[] array) {
// TODO Auto-generated method stub
for(int x:array)
{
System.out.print(x+" ");
}
}

}

2.直接选择排序法

public class XuanzeSort {

public static void main(String[] args) {
// TODO Auto-generated method stub
int a[]= {63,4,24,1,3,15};
XuanzeSort s=new XuanzeSort();
s.sort(a);
}

public void sort(int[] array) {
// TODO Auto-generated method stub
int max;
for(int i=1;i<array.length;i++)
{
max=0; //把第一个元素作为最大值
for(int j=1;j<=6-i;j++)
{
if(array[j]>array[max])
{
max=j;
}

}
int t=array[array.length-i];
array[array.length-i]=array[max];
array[max]=t;
}
showArray(array);
}

public void showArray(int[] array) {
// TODO Auto-generated method stub
for(int x:array)
{
System.out.print(x+" ");
}
}

}

java学习(第四篇)数组的更多相关文章

  1. Java学习第四篇:数组,排序,查找

    一.数组 1.一维数组 (1).数组的定义 数据类型 数组名[]=new 数据类型[大小] public class Demo1 { public static void main(String[] ...

  2. 从.Net到Java学习第四篇——spring boot+redis

    从.Net到Java学习系列目录 “学习java已经十天,有时也怀念当初.net的经典,让这语言将你我相连,怀念你......”接上一篇,本篇使用到的框架redis.FastJSON. 环境准备 安装 ...

  3. java学习笔记(基础篇)—数组模拟实现栈

    栈的概念 先进后出策略(LIFO) 是一种基本数据结构 栈的分类有两种:1.静态栈(数组实现) 2.动态栈(链表实现) 栈的模型图如下: 需求分析 在编写代码之前,我习惯先对要实现的程序进行需求分析, ...

  4. Java 学习 第四篇;面向对象(1)

    1:关于继承为了保证父类的良好封装性,不会被子类随意改变,设计父类时通常隐藏父类的内部数据,把父类属性改为private如果父类中可以被重写,但不希望被其他类自由访问可用protected修饰;2:什 ...

  5. 从.Net到Java学习第十一篇——SpringBoot登录实现

    从.Net到Java学习系列目录 通过前面10篇文章的学习,相信我们对SpringBoot已经有了一些了解,那么如何来验证我们的学习成果呢?当然是通过做项目来证明啦!所以从这一篇开始我将会对之前自己做 ...

  6. Java学习之注解篇

    Java学习之注解篇 0x00 前言 续上篇文章,这篇文章就来写一下注解的相关内容. 0x01 注解概述 Java注解(Annotation)又称Java标注,是JDK5.0约会的一种注释机制. 和J ...

  7. Java学习之反射篇

    Java学习之反射篇 0x00 前言 今天简单来记录一下,反射与注解的一些东西,反射这个机制对于后面的java反序列化漏洞研究和代码审计也是比较重要. 0x01 反射机制概述 Java反射是Java非 ...

  8. Java学习之jackson篇

    Java学习之jackson篇 0x00 前言 本篇内容比较简单,简单记录. 0x01 Json 概述 概述:JSON(JavaScript Object Notation, JS 对象简谱) 是一种 ...

  9. Java学习日记基础篇(七) —— 数组、排序

    数组 为什么要有数组? 案例:一个养鸡场有六只鸡,他们的体重分别为3kg,5kg,1kg,3.4kg,2kg,50kg.请问这六只鸡的总体重和平均体重是多少? public class test5 { ...

  10. java学习(四)

    学号 20189214 <Java程序设计>第四周学习总结 教材学习内容总结 枚举 枚举是JDK1.5版本新增的特性(泛型.For-each等如今被广泛应用的特性也是由JDK1.5时所新增 ...

随机推荐

  1. H - Bone Collector

    H - Bone Collector Many years ago , in Teddy's hometown there was a man who was called "Bone Co ...

  2. Fiddler插件---将Mapi请求自动转为HTTPRunner测试用例(YAML格式)

    背景 继之前鼓捣出了Mapi解密插件之后,在团队内已经使用了三年之久,一跃成为团队最爱欢迎的测试工具之一(加个之一,低调谦虚一点). 随着团队推行HttpRunner搞接口自动化:编写和维护Case带 ...

  3. Hadoop(一) centos7 jdk安装,hadoop安装|3

    安装JDK 下载jdk https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 选择最 ...

  4. Exchange 2016 OWA登陆异常

    今天,收到脚本的告警信息,有一台Exchange服务器OWA无法登陆! 手动进行了一下测试,发现确实存在问题,报错信息如下: 检查了一下该台服务器的日志,找到了如下信息 1.访问OWA的请求在HTTP ...

  5. Linux下删除大量文件效率对比

    来自公众号:马哥Linux运维 今天我们来测试一下Linux下面删除大量文件的效率. 首先建立50万个文件 $ test   for i in $(seq 1 500000);do echo text ...

  6. 数据结构和算法(Golang实现)(14)常见数据结构-栈和队列

    栈和队列 一.栈 Stack 和队列 Queue 我们日常生活中,都需要将物品排列,或者安排事情的先后顺序.更通俗地讲,我们买东西时,人太多的情况下,我们要排队,排队也有先后顺序,有些人早了点来,排完 ...

  7. AJ学IOS(19)UI之QQ好友列表

    AJ分享,必须精品 先看效果图 哈哈,这次猫猫给来个动态的图片,这个看起来带劲 实现思路 首先建立模型 这里用到的是一个双层的模型. cell的实现 这里一看其实就知道是一个tableView,我们自 ...

  8. 如何用 Python 绘制玫瑰图等常见疫情图

    新冠疫情已经持续好几个月了,目前,我国疫情已经基本控制住了,而欧美国家正处于爆发期,我们会看到很多网站都提供了多种疫情统计图,今天我们使用 Python 的 pyecharts 框架来绘制一些比较常见 ...

  9. 深入理解new运算符

    在 JavaScript 中,new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例.创建一个对象很简单,为什么我们还要多此一举使用 new 运算符呢?它到底有什么样的魔力? 认 ...

  10. FormCloseQuery

    FormCloseQuery是一个事件回调函数,Close是一个功能函数.而FormCloseQuery与窗口的close有什么不同,通过跟踪Call stack发生在调用Close()函数关闭窗口时 ...