java数组基础知识
- 数组的定义:int[] array=new array[n];int array[]={, , , ,};定义了数组,JVM就会给其一个空间,数组是应用类型的数据类型,其存储方式是随机存储。
- 数组的遍历,一般是通过循环来遍历其元素的,二维数组可以是通过霜或双重循环来遍历。数组的下标是从0开始的。
- 数组的替换,数组提供了一个方法,两种重载的形式,此方法为fill(),可以通过此方法来填充数组或者替换数组指定位置的元素。
public class Array_Fill {
public static void main(String[] args) {
int[] array = new int[5];// 定义一个含有五个元素的一维数组
Arrays.fill(array, 8);// 使用Arrays类的静态方法fill来填充数组元素
// 输出数组中的元素
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
// 替换元素
Arrays.fill(array, 2, 5, 5);
// 输出数组
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
}
- 数组的排序:数组本身有Arrays类中的sort()方法,这里写几种常见的排序方法。(1)冒泡排序法
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int i,j;//i用来存储数组的最小元素的数值,j用来该元素的位置
int[] array=new int[10];//定义一个长度为10的整型数组
int iTemp=0;//变量表示数组元素最小值
int iPos=0;//表示最小元素的下标
System.out.println("请输入十个数:");
for(int n=0;n<array.length;n++){//遍历输入数组的十个元素
array[n]=in.nextInt();
}
/*
* 对数组进行排序
*/
for(i=0;i<9;i++){//外层循环
iTemp=array[i];//设置当前的元素为最小值
iPos=i;//记录最小元素的位置
for(j=i+1;j<10;j++){//内层循环表示要与最小元素进行比较的预测尿素以及次数
if(array[j]<iTemp){//如果后来的元素中有比临时最小值小的数,那么重新赋值最小值
iTemp=array[j];
iPos=j;
}
//交换最小值的位置
array[iPos]=array[i];
array[i]=iTemp;
}
}
//输出数组
System.out.println("选择排序后的从小到大的顺序是:");
for(int n=0;n<array.length;n++){
System.out.print(array[n]+"\t");
}(2)冒泡排序法
public class MaoPaoPaiXu { public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int i=0,j=0;//用来控制内外层循环
int[] array=new int[10];
int iTemp=0;//用来存储中间变量
//输入数组的十个元素
System.out.println("请输入10个数:");
for(int n=0;n<array.length;n++){
array[n]=in.nextInt();
}
//冒泡排序法
for(i=0;i<array.length-1;i++){
for(j=i;j<array.length-1;j++){
if(array[j]>array[j+1]){
iTemp=array[j];
array[j]=array[j+1];
array[j+1]=iTemp;
}
}
}
System.out.println("冒泡排序后:");
for(int n=0;n<array.length;n++){
System.out.print(array[n]+"\t");
}
}(3)交换排序算法
package ArraysSort;
import java.util.Scanner;
/**
* 交换排序算法:交换排序算法是将每一位数与其它所有数进行比较,如果发现符合条件的数据则交换位置
* @author Administrator
*
*/ public class JiaoHuanPaiXu { public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int i=0,j=0;
int[] array=new int[10];
int iTemp=0;
System.out.println("输入数组的十个数:");
for(int n=0;n<array.length;n++){
array[n]=in.nextInt();
}
//交换排序
for(i=0;i<array.length-1;i++){
for(j=i+1;j<array.length;j++){
if(array[i]<array[j]){
iTemp=array[i];
array[i]=array[j];
array[j]=iTemp;
}
}
}
System.out.println("交换排序后的顺数是:");
for(int n=0;n<array.length;n++){
System.out.print(array[n]+"\t");
} } }(4)插入排序法(c基础排序算法里面有)
java数组基础知识的更多相关文章
- 什么才是java的基础知识?
近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考. ...
- JAVA相关基础知识
JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...
- Java 多线程——基础知识
java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 ...
- Java 数组基础,java.util.Arrays
定义数组 方式1(推荐,更能表明数组类型) 方式2(同C语言) 方式3定义时直接初始化 数组运用基础 数组长度 equals() 数组元素不为基本数据类型时 二维数组 二维数组基础 变长的二维数组 j ...
- java必备基础知识(一)
学习的一点建议: 每一门语言的学习都要从基础知识开始,学习是一个过程,"万丈高楼平地起",没有一个好的地基,想必再豪华的高楼大厦终究有一天会倒塌.因此,我们学习知识也要打牢根基,厚 ...
- java部分基础知识整理----百度脑图版
近期发现,通过百度脑图可以很好的归纳总结和整理知识点,本着学习和复习的目的,梳理了一下java部分的知识点,不定期更新,若有不恰之处,请指正,谢谢! 脑图链接如下:java部分基础知识整理----百度 ...
- PHP 数组基础知识
php 数组基础知识function abc($a,$b,$c = 0){ echo $a,$b,$c;}abc(1,3); //调用方法 ////可变参数function def(){ $arr = ...
- java中的二维数组基础知识
二维数组基本知识,毕竟常见的有:概念,初始化,遍历 概念: 理解二维数组,首先要先理解一维数组是什么.一维数组是个容器,存储相同数据类型的容器(这里不再做一位数组的具体介绍).二维数组就是用来存储一维 ...
- JAVA学习基础知识总结(原创)
(未经博主允许,禁止转载!) 一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平 ...
随机推荐
- Java虚拟机之内存区域
原创文章,转载请标明出处! 目录 一.背景 二.运行时内存区域概述 1.官方描述 2.中文翻译 3.内存区域简述 4.运行时数据区简图 5.运行时数据区详图 三.JVM线程 JVM数据区域与线程关系 ...
- moviepy音视频剪辑:输出文件前预览剪辑和视频帧的preview和imdisplay方法
☞ ░ 前往老猿Python博文目录 ░ 一.引言 由于moviepy合成剪辑后,输出需要较多的时间,那么在输出前预览一下有助于提高处理效率.moviepy提供了预览的工具,这个工具是基于pygame ...
- PyQt(Python+Qt)学习随笔:QTableWidgetItem项whatsThis、toolTip、statusTip提示信息访问方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTableWidget表格部件的QTableWidgetItem项提示信息包括工具栏提示.状态栏提 ...
- 2016 piapiapia 数组绕过
0x00.感悟 写完这道题,我感觉到了扫源码的重要性.暑假复现的那些CVE,有的就是任意文件读取,有的是任意命令执行,这些应该都是通过代码审计,得到的漏洞.也就和我们的CTF差不多了. ...
- 第七篇 Scrum 冲刺博客
一.站立式会议 1. 会议照片 2. 工作汇报 团队成员名称 昨日完成的工作 今天计划完成的工作 工作中遇到的困难 陈锐基 - 封装消息组件- 我的关注和我的粉丝页面布局- 强化表白墙组件并和详情页对 ...
- Java集合源码分析(九)——HashSet
简介 HashSet就是一个集合,里面不能有重复的元素,元素也是无序的. HashSet其实就是调用了HashMap实现的,所以,它也不是线程安全的. HashSet通过iterator()返回的迭代 ...
- kylin的实现原理
摘自https://blog.bcmeng.com/post/kylin-cube.html#kylin%E7%9A%84%E9%A2%84%E8%AE%A1%E7%AE%97%E6%98%AF%E5 ...
- 使用Tomcat Native提升Tomcat IO效率
目录 简介 Tomcat的连接方式 APR和Tomcat Native 在tomcat中使用APR 简介 IO有很多种,从最开始的Block IO,到nonblocking IO,再到IO多路复用和异 ...
- 使用OpenSSL自建一个HTTPS服务
1. 理论知识 1.1 什么是https 传统的 HTTP 协议以明文方式进行通信,不提供任何方式的数据加密,很容易被中间攻击者破解通信内容或者伪装成服务器与客户端通信,在安全性上存在很大问题. HT ...
- Pycharm github登录 Invalid authentication data. Connection refused.
在github.com前加上 https:// 注意登录时使用的是用户名不是邮箱