第六章 数组

  1. 提纲:
  2. 一维数组概述:




  • 元素类型为引用类型的数组:




3. 数组的初始化




注:
理解main函数中的参数:String[] args
约瑟夫环(逢三减一):选择排序法、冒泡排序法以及数组模拟链表法
包装类Integer中parseInt()的使用
Integer类的简单介绍(大佬版)
练习:

代码:

public class TestDateBinarySearch {public static void main (String [] args) {Date[] date = new Date[5];date[0] = new Date(2006,5,4);date[1] = new Date(2006,7,4);date[2] = new Date(2008,5,4);date[3] = new Date(2004,5,9);date[4] = new Date(2004,5,4);bubbleSort(date);for(int i=0;i<date.length;i++) {System.out.println(date[i]);}Date d = new Date(2008,5,4);System.out.println(d + " " +"binary search is" + " " + binarySearch(date,d) + " " +"index");}public static void bubbleSort (Date[] date) {int len = date.length;for (int i=len-1;i>=0;i--) {for (int j=0;j<=i-1;j++) {if (date[j].compare(date[j+1]) > 0) {Date temp = date[j];date[j] = date[j+1];date[j+1] = temp;}}}}public static int binarySearch (Date[] date,Date d) {if(date.length == 0)  return -1;int startPro = 0;int endPro = date.length-1;int m = (startPro + endPro)/2;while(startPro <= endPro) {if(date[m].compare(d) == 0) return m;if(date[m].compare(d) < 0) {startPro = m+1;}if(date[m].compare(d) > 0) {endPro = m-1;}m = (startPro + endPro)/2;}return -1;}
}class Date {int year,month,day;Date (int year,int month,int day) {this.year = year;this.month = month;this.day = day;}public int compare (Date date) {return year > date.year ? 1:year < date.year? -1:month > date.month ? 1:month < date.month ? -1:day > date.day ? 1:day < date.day ? -1 : 0;}public String toString () {return "Year-Month-Day:" + year + "-" + month + "-" + day;}}

运行截图:

4. 二维数组概述
注:声明必须从高维到低维。


例:


5.数组的拷贝

例子代码:

public class TestArrayCopy {public static void main (String [] args) {String[] s = {"Mircosoft","IBM","Sun","Oracle","Apple"};//String[] s = ("Mircosoft");String[] sBak = new String[6];System.arraycopy(s,0,sBak,0,s.length);for(int i=0;i<sBak.length;i++) {System.out.print(sBak[i] + " ");}System.out.println();int[][] intArray = {{1,2},{1,2,3},{3,4}};int[][] intArrayBak = new int[3][];System.arraycopy(intArray,0,intArrayBak,0,intArray.length);intArrayBak[2][1] = 100;for(int i=0;i<intArrayBak.length;i++) {for(int j=0;j<intArrayBak[i].length;j++) {System.out.print(intArrayBak[i][j] + " ");}System.out.println();}}
}

效果图:

注意:这里输出的最后一个值为100,因为第二个数组复制的是第一个数组的引用,此时两者的低维数组仍为同一数组,故均发生变化。
内存分析图:

注:本博客由溺水狗原创但其学习资源资料来源于网络(马士兵老师的教学视频),特此感谢马士兵老师

《J2SE 回炉再造12》-------溺水狗相关推荐

  1. 《J2SE 回炉再造06》-------溺水狗

    第四章 面向对象编程基础篇(2) Java与面向对象的缘分 为什么要使用对象,意义是什么? Java中的类如何定义? 类的定义包括静态(成员变量/属性)和动态(方法)两部分 成员变量与局部变量的有关事 ...

  2. 《J2SE 回炉再造18》-------溺水狗

    第十二章 GUI编程 1. 提纲 2. AWT包 3. Component和Container 4. Frame类 代码1: import java.awt.*;public class TestFr ...

  3. 《J2SE 回炉再造17》-------溺水狗

    第十一章 网络编程 1. 提纲 值得注意的是网络编程不等同于网站编程 2. 网络基础概念 3. 网络通信协议及接口 4. 数据分层的思想 5. 数据封装和数据拆封 6. IP协议 IPV4协议中用4个 ...

  4. 《J2SE 回炉再造16》-------溺水狗

    第十章 线程 1. 提纲 2. 线程的基本概念 进程是一个静态的概念,严格意义上讲并不能执行,我们所说的进程执行指的是进程里的主线程(main()方法)开始执行了 3. 线程的创建和启动 只要可以使用 ...

  5. 《J2SE 回炉再造15》-------溺水狗

    第九章 输入/输出流.字节/字符流.节点/处理流 1. 提纲 2. 概述 注1:输入/输出流:都是站在程序的角度来说的,而不是文件的角度.参考理解 注2:输入流:将其他资源传送到内存(程序):输出流: ...

  6. 《J2SE 回炉再造13》-------溺水狗

    第七章 String.StringBuffer.包装类.Math类.File类.枚举类 提纲: String类(不可变字符序列) 练习一参考答案 练习二参考答案 StringBuffer类(可变的字符 ...

  7. 《J2SE 回炉再造14》-------溺水狗

    第八章 容器类 Collection接口(Set.List.Map).Iterator接口.Comparable接口 提纲 容器的概念 Set无序不可重复,List有序可重复,两者是否equals C ...

  8. 《J2SE 回炉再造11》-------溺水狗

    第五章 异常 1. 提纲 2. Java异常概念 注:catch到的所有异常都必须进行操作,不然容易被忽略吞噬,造成安全隐患. 实例 3. 异常的分类 注:异常分类图十分重要,要分清哪种Excepti ...

  9. 《J2SE 回炉再造10》-------溺水狗

    第四章 面向对象编程基础篇(6) Java相关API介绍 当大家从"HelloWorld"接触到Java时,证明我们正式诞生Java世界的新手村中,当我们在新手村练到一定等级时,渴 ...

最新文章

  1. 微信小程序开发中如何实现侧边栏的滑动效果?
  2. python条件语句-Python 条件语句
  3. python实例 77,78
  4. WPF Path.Data 后台代码赋值
  5. 深入研究RocketMQ生产者发送消息的底层原理
  6. 韩顺平老师-java集合介绍
  7. Android网络小说阅读器的实现
  8. 迅捷pdf虚拟打印机怎么安装使用
  9. 怀念张孝祥,张老师一路走好
  10. 微信扫描打开app下载提示用户打开浏览器进行下载
  11. 腾讯云创建二级域名并解析
  12. ⽬标⾏动及稠密环境未知情况下,⽆⼈机跟踪的系统解决⽅案
  13. oracle 11g latch之v$latch系列三
  14. printf()和sprintf()
  15. mysql设计收藏与标签
  16. Vue 使用图表插件 -- Echarts
  17. (三)mmclassification图像分类——模型训练
  18. 芮瑶学编程05-画七彩虹
  19. html 简繁替换,js简繁转换,两种实现方式,妥妥的~
  20. 四步教你破解隔壁老王的Wi-Fi密码,蹭网没商量!

热门文章

  1. HDU 4259 Double Dealing【简单群置换】
  2. php gsi github,GitHub - zhl6522/gsigo: based gin and socket.io framwork
  3. VLAN-3-VLAN Trunk:ISL和802.1Q
  4. 【读splishsplash源代码】一步步调试1--GUI外壳
  5. 全球与中国亚麻籽行业消费量调研及未来产销需求分析报告2022-2028年
  6. Abaqus二次开发——UEL资源大放送!!!
  7. Android TextSize文字字体大小设置
  8. 深度学习(3)——离散回归,最小二乘法
  9. 基于Halcon学习的缺陷检测【五】光伏电池片的指纹以及划痕检测【第二种方法】
  10. 优秀C/C++源代码网站