java基础(八章)
一、 什么是数组及其作用?
定义:具有相同数据类型的一个集合
作用:存储连续的具有相同类型的数据
二、 java中如何声明和定义数组
l 声明和定义的语法:
数据类型[ ] 数组名;( int[ ] nums ; )
或 数据类型 数组名[]; ( int nums[ ] ;)
l 为数组分配空间
数组名=new 数据类型[数组的长度]; ( nums=new int[5] ;)
l 声明数组,同时分配空间
数据类型[]数组名= new 数据类型[数组的长度];
数据类型 数组名[]=new 数据类型[数组的长度];
( int[ ] nums=new int[5] ;) ( int nums[ ]=new int[5] ;)
三、 如何读取数组中的元素— 通过下标(索引)来获取
下标(索引)是从0开始,最大下标为 数组长度-1
下标越界:ArrayIndexOutOfBoundsException
int类型的数组,每个元素的默认值为0
String类型的数组,每个元素的默认值为null
1、 获取单个元素的值
数据类型 变量名=数组名[下标];
2、 循环读取数组中的每个元素
数组的长度:数组名.length 属性自动计算
for(int i=0;i<数组名.length ;i++){
数组名[i];
}
四、如何给数组中的元素赋值
方式1(赋予数组固定值):
声明数组,分配空间,并赋值
(数组的长度由值的个数决定)
数据类型 数组名[]=new 数据类型[]{值1,值2…值n};或
数据类型 []数组名={值1,值2…值n};
说明:[]中括号可以放在数组名前面或后面
方式2:动态的给数组赋值(从键盘中输入)
Scanner input = new Scanner(System.in);
for(int i=0;i<数组名.length ; i++){
String类型的数组名[i]= input.next ();
int类型的数组名[i]= input.nextInt ();
double类型的数组[i]=input.nextDouble();
}
五、数组排序问题
使用Arrays. sort(数组名);
实现对数组中的元素按升序或降序输出
六、求最大值或最小值
实现思路:将数组中的第1个元素的值,假想成最大(小)值【赋值】;然后数组中的每个元素和假想的这个最大(小)数进行比较,
如果数组中的某个元素的值,比最大(小)数要大(小),将该元素的值,保存到假想的最大(小)值对应的变量中【给假想最值变量赋值】
七、求数组中最值的位置
1、 在循环的外面,定义变量k(赋值为0),用于保存最值的下标
2、 在循环中,比较找出最值的同时,给变量k赋值
八、斐波那契数列
1,1,2,3,5,8,13,21,34……求第20个数字的值?(使用循环)
规律:第i个 + 第(i+1)个 = 第(i+2)个
步骤1:定义数组,数组长度为20
int []nums=new int[20];
步骤2:根据规律,获取第0个和第1个数的初值
nums[0]=1;
nums[1]=1;
步骤3:通过循环,给数组中的所有元素赋值
for ( int i=0;i<nums.length-2;i++){
nums [i+2]=nums[i]+nums[i+1];
}
或
for(int i=2;i<nums.length;i++){
nums[i]=nums[i-2]+nums[i-1];
}
步骤4:输出nums[19]的值
九、(一、)已知一个数组,如何将一个【新的元素】插入到数组中的指定位置?
实现思路:
1、 定义一个长度为 【已知数组长度+1】的新数组YY
2、 使用第1个循环,将已知数组中的每个元素的值,保存到新数组YY中
3、 使用第2个循环,将新数组YY中的元素,从倒数第2个(新数组YY的长度-2)元素开始,到指定的位置,依次向后移动1个位置
4、 直接将【新的元素】赋值给新数组YY中的指定元素(下标为指定位置)即可
5、 使用第3个循环,输出新数组YY的值
(二、)已知1个按升序或降序排列的数组,向该数组中,插入一个新的值,插入成功后,数组仍然按照升序或降序排列?
1、 设置插入位置变量index的初始值为:数组长度-1;
2、 使用第1个循环,让插入的数值和数组中的每个元素进行比较,如果插入的数值比数组中某个元素的值要大或小,把该元素的下标的值, 赋予插入位置变量index,同时终止循环
3、 使用第2个循环,移动位置,从【数组长度-2】到【插入位置变量index】
4、 将插入的值,保存到数组下标为index的位置
5、 使用第3个循环,输出数组所有元素的值,同时输出新值插入的位置
java基础(八章)的更多相关文章
- 微冷的雨Java基础学习手记(一)
		使用Java理解程序逻辑 之凌波微步 船舶停靠在港湾是很安全的,但这不是造船的目的 北大青鸟五道口原玉明老师出品 1.学习方法: 01.找一本好书 初始阶段不适合,可以放到第二个阶段,看到知识点时,要 ... 
- Java基础常见英语词汇
		Java基础常见英语词汇(共70个) ['ɔbdʒekt] ['ɔ:rientid]导向的 ['prəʊɡræmɪŋ]编程 OO: object ... 
- Java英文单词Java基础常见英语词汇
		Java英文单词Java基础常见英语词汇(共70个) ... 
- “全栈2019”113篇Java基础学习资料及总结
		难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ... 
- “全栈2019”Java第八章:IntelliJ IDEA设置注释不显示在行首
		难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ... 
- Java基础知识(壹)
		写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ... 
- [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)
		如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html 谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ... 
- 【JAVA面试题系列一】面试题总汇--JAVA基础部分
		JAVA基础 基础部分的顺序: 基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 每天几道,持续更新!! 1.一个". ... 
- 最适合作为Java基础面试题之Singleton模式
		看似只是最简单的一种设计模式,可细细挖掘,static.synchronized.volatile关键字.内部类.对象克隆.序列化.枚举类型.反射和类加载机制等基础却又不易理解透彻的Java知识纷纷呼 ... 
- java基础练习 字符串,控制流,日历,日期等
		1,对基本控制流程的一些练习 package org.base.practice3; import org.junit.Test; /** * Created with IntelliJ IDEA. ... 
随机推荐
- Spark SQL数据加载和保存实战
			一:前置知识详解: Spark SQL重要是操作DataFrame,DataFrame本身提供了save和load的操作, Load:可以创建DataFrame, Save:把DataFrame中的数 ... 
- 04(1) 基于上下文相关的GMM-HMM声学模型1
			1.上下文对音素发音的语谱轨迹的影响 受到上下文的影响,同一个音素的发音语谱轨迹不同 为提高识别准确率,对音素建模时应将这种上下文影响考虑在内 2.基于上下文相关的音素建模 注意,非单音素建模中,每个 ... 
- CodeVS1344 线型网络
			题目描述 Description 有 N ( <=20 ) 台 PC 放在机房内,现在要求由你选定一台 PC,用共 N-1 条网线从这台机器开始一台接一台地依次连接他们,最后接到哪个以及连接的顺 ... 
- 通过bootloader向内核传输启动参数
			作者:Younger Liu,本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可. Linux提供了一种通过bootloader向其传输启动参数的功能,内核开发者 ... 
- LESS的一点自己的理解(1)
			写前端的时间也不短了,Less也用过几次,都是现学现用,没有仔细的梳理过,今天就有条理的梳理下.参考文章是一篇不错的哦.下面会附上链接的,废话不多说,开始正题. 首先应该说下什么是Less,Less是 ... 
- jquery获取文件名称
			$("#fileupload").on("change",function(){ var filePath=$(this).val(); if(filePath ... 
- 获取安卓的SH1安全码
			用于获取手机联系人 信息 public static String sHA1(Context context) { try { PackageInfo info = context.getPac ... 
- 下拉菜单制作——利用CSS实现的一个实例
			本文实现了一个经典的下拉菜单的制作. 首先,写出Html部分: <!DOCTYPE html> <html> <head> <meta charset=&qu ... 
- hdu 4552 怪盗基德的挑战书
			题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4552 思路: 其实可以用KMP+DP解决 我这里给出后缀数组的解题方法 思路: 初始化ans=n(n为 ... 
- Java IO详解(二)------流的分类
			一.根据流向分为输入流和输出流: 注意输入流和输出流是相对于程序而言的. 输出:把程序(内存)中的内容输出到磁盘.光盘等存储设备中 输入:读取外部数据(磁盘.光盘等存储设备的数据)到程序(内 ... 
