博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA 基础学习之 数组加强和二位数组
阅读量:3928 次
发布时间:2019-05-23

本文共 2899 字,大约阅读时间需要 9 分钟。

数组在实际工作及很多底层都有使用到,因此做一个加强练习。

  1. 统计一个字符在字符数组中出现的次数(直接输出)
  2. 已知这样的整型数组 int[] arr = {1,2,3,4,5,6,7,8,9,11,22}, 计算出其中的奇数和以及偶数
/** * 统计一个字符在字符数组中出现的次数(直接输出) -- 主要分析这一个 *  * 扩展 * 统计每个字符在字符数组中出现的次数(直接输出) -- 了解 * @author Administrator * */public class _02_ArrayPlus01 {	public static void main(String[] args) {				/*		char[] array = {'a','b','c','a','b','d','e'};		//统计在array中出现的次数		char character = 'a';		int count = 0;		for (char c : array) {			if(c == character) {				count++;			}		}		System.out.println(count);		*/				//统计不相同的字符		char[] array = {'a','b','c','a','b','d','e'};		char[] characters = new char[array.length];//{'','','','',''}				//遍历array每一个元素,查看这个元素是否存在于characters中		//如果存在,则继续判断array的下一个元素,如果不存在,则按照顺序放入到characters数组中		loop:for (char c : array) {						for(int i = 0; i <= characters.length; i++) {				//不存在				if(characters[i] == '\u0000') {					characters[i] = c;					break;				}				//存在				if(characters[i] == c) {					break;				}			}					}				//统计不相同的字符出现的次数 characters是不同的字符		for (char c : characters) {//a b c d e			if(c == '\u0000') {				continue;			}			int count = 0;			for (char ch : array) {				if(ch == c) {					count++;				}			}			System.out.println(c+":"+count);		}	}	}
public class _03_ArrayPlus02 {	public static void main(String[] args) {				int[] arr = {1,2,3,4,5,6,7,8,9,11,22};				//奇数		int oddSum = 0;		//偶数		int evenSum = 0;		for (int i : arr) {			if(i%2 == 0) {				evenSum += i;			}else {				oddSum += i;			}		}				System.out.println("奇数的和:"+oddSum);		System.out.println("偶数的和:"+evenSum);			}	}

关于数组的基本算法  冒泡排序,选择排序,插入排序的基本代码详解

public class _07_ArraySort {	public static void main(String[] args) {				int[] array = {3,1,2,5,8,7};		//从小到大排序		// int[] arr = {1,2,3,5,7,8};				//========================冒泡排序==============================		//相邻两个依次比较,较大的放到后面		/*		for(int i=1; i <= array.length; i++) {			for(int j = 0; j <= 5-i; j++) {				if(array[j] >= array[j+1]) {					int tmp = array[j];					array[j] = array[j+1];					array[j+1] = tmp;				}			}		}		*/				//======================选择排序============================		/*		for(int i = 0; i < array.length - 1; i++ ) {						for(int j = i+1; j <= 5; j++) {				if(array[i] >= array[j]) {					int temp = array[i];					array[i] = array[j];					array[j] = temp;				}			}		}		*/				//====================插入排序==========================		for(int i = 1; i <= array.length - 1; i++) {						for(int j = i-1; j >= 0; j--) {				if(array[j] >= array[j+1]) {					int temp = array[j];					array[j] = array[j+1];					array[j+1] = temp;				}			}		}				for (int i : array) {			System.out.println(i);		}			}	}
  1. 二维数组定义

二维数组可以看作是一维数组中的元素为一维数组,声明方式和一维数组类型,把一维数组看作一个整体的数据类型

声明及使用

**声明方式**:

数据类型[] []   数组名 =  new 数据类型 [长度][长度];

数据类型[] []  数组名= {

{元素1,元素2},{元素3,元素4};

**示例:**

//动态创建        int[][] arr = new int[2][3];        int len = arr.length;        System.out.println(len);//2 因此2代表的是外层数组的长度 3代表是元素数组的长度//静态创建        int[][] arr1 = {
{1,2,3},{4,5,6}};

 

转载地址:http://wmcgn.baihongyu.com/

你可能感兴趣的文章
网络穿透与音视频技术(2)——NAT的概念及工作模式(下)
查看>>
怎样在IDEA中查看GC日志
查看>>
从数组形式创建一棵树(用于leetcode测试)
查看>>
Spring/Boot/Cloud系列知识(2)——代理模式
查看>>
线程进阶:多任务处理(17)——Java中的锁(Unsafe基础)
查看>>
Spring/Boot/Cloud系列知识(1)——开篇
查看>>
线程基础:多任务处理(15)——Fork/Join框架(要点2)
查看>>
线程基础:多任务处理(16)——Fork/Join框架(排序算法性能补充)
查看>>
线程基础:多任务处理(14)——Fork/Join框架(要点1)
查看>>
线程基础:多任务处理(13)——Fork/Join框架(解决排序问题)
查看>>
架构设计:系统存储(15)——Redis基本概念和安装使用
查看>>
架构设计:系统存储(13)——MySQL横向拆分与业务透明化(1)
查看>>
架构设计:系统存储(12)——MySQL主从方案业务连接透明化(中)
查看>>
架构设计:系统存储(14)——MySQL横向拆分与业务透明化(2)
查看>>
架构设计:系统存储(5)——MySQL数据库性能优化(1)
查看>>
架构设计:系统存储(2)——块存储方案(2)
查看>>
架构设计:系统间通信(45)——阶段性问题记录
查看>>
架构设计:系统间通信(44)——自己动手设计ESB(5)
查看>>
架构设计:系统存储(1)——块存储方案(1)
查看>>
架构设计:系统间通信(42)——自己动手设计ESB(3)
查看>>