java 基础5

一、        什么是数组及其作用?

    定义:具有相同数据类型的一个集合

    作用:存储连续的具有相同类型的数据

二、        java中如何声明和定义数组

2.1 声明和定义的语法:

        数据类型[ ] 数组名;( int[ ] nums ; )   或 数据类型 数组名[];  ( int nums[ ] ;)

2.2  为数组分配空间

  数组名=new 数据类型[数组的长度]; ( nums=new int[5] ;)

2.3  声明数组,同时分配空间

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

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

      ( int[ ] nums=new int[5] ;)   ( int nums[ ]=new int[5] ;)

三、        如何读取数组中的元素— 通过下标(索引)来获取

  下标(索引)是从0开始,最大下标为  数组长度-1

  下标越界:ArrayIndexOutOfBoundsException

  int类型的数组,每个元素的默认值为0

  String类型的数组,每个元素的默认值为null

   3.1         获取单个元素的值

  数据类型 变量名=数组名[下标];

 

   3.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个元素的值,假想成最大(小)值【赋值】;然后数组中的每个元素和假想的这个最大(小)数进行比较,如果数组中的某个元素的值,比最大(小)数要大(小),将该元素的值,保存到假想的最大(小)值对应的变量中

复制代码
复制代码
public class shuzu {public void D(int []num){int ha []=new int[10];for(int j=0;j<ha.length;j++){int index=(int)(Math.random()*100);ha[j]=index;System.out.print(ha[j]+" ");}int max=ha[0];int min=ha[0];for(int i=1;i<ha.length;i++){if(max<ha[i]){max=ha[i];}if(min>ha[i]){min=ha[i];}}System.out.println("\n"+"最大值为:"+max);System.out.println("最小值为:"+min);}
}
复制代码
复制代码

八、求数组中最值的位置

1、            在循环的外面,定义变量k(赋值为0),用于保存最值的下标

2、            在循环中,比较找出最值的同时,给变量k赋值

复制代码
复制代码
    public static  void main(String [] args){Scanner input=new Scanner(System.in);char [] ha={'a','c','u','b','e','p','f','z'};System.out.print("原字符序列:");for (int i=0;i<ha.length;i++){System.out.print(ha[i]+" ");}Arrays.sort(ha);//对数组进行降序System.out.print("\n升序排列后:");for (int i=0;i<ha.length;i++){System.out.print(ha[i]+" ");}char he[]=new char[9];//创建一个新数组,进行储存数据for (int i=0;i<ha.length;i++){he[i]=ha[i];}System.out.println("\n插入的字符是:");//输入新数据char a=input.next().charAt(0);int index=he.length-1;//保存新数据插入的位置for (int i=0;i<he.length;i++){if(a<he[i]){//对数字进行判断index=i;//找到新元素的下标位置break;}}for (int s=he.length-2;s>=index;s--){he[s+1]=he[s];  //将元素从后移动}he[index]=a;//将输入的值赋到数组中System.out.println("\n插入的下标是:"+index);for (int k=0;k<he.length;k++){System.out.print(he[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]的值

转载于:https://www.cnblogs.com/qq7337531/p/6986584.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258456.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TFS(Team Foundation Server)介绍和入门

在本文的两个部分中&#xff0c;我将介绍Team Foundation Server的一些核心特征&#xff0c;重点介绍在本产品的日常应用中是怎样将这些特性结合在一起使用的。 作为一名软件开发者&#xff0c;在我的职业生涯中&#xff0c;我常常会用到支持软件开发过程的大量开发工具&#x…

逆函数求导公式_反函数求导法则

反函数的求导法则是&#xff1a;反函数的导数是原函数导数的倒数。例题&#xff1a;求yarcsinx的导函数。首先&#xff0c;函数yarcsinx的反函数为xsiny&#xff0c;所以&#xff1a;y‘1/sin’y1/cosy&#xff0c;因为xsiny&#xff0c;所以cosy√1-x2&#xff0c;所以y‘1/√…

SpringXML方式配置bean的懒加载lazy-init

lazy-init&#xff08;懒加载&#xff09;&#xff0c;表示该bean在容器初始化的时候不进行初始化。例如&#xff1a;<bean name"role1" class"com.fz.entity.Role" lazy-init"true">以上配置表示&#xff1a;spring容器在初始化的时候不会…

windows下system函数的使用

system函数 是可以调用一些DOS命令,比如system("cls");//清屏,等于在DOS上使用cls命令写可执行文件路径&#xff0c;可以运行它 下面列出常用的DOS命令,都可以用system函数调用: ASSOC 显示或修改文件扩展名关联。AT 计划在计算机上运行的命令和程序。ATTRIB 显示或更…

WWDC2017 笔记 - Cocoa Touch 中的新特性

这篇文章是 What’s New in Cocoa Touch / UIKit Session 201 的一些整理。【基于OC】 转自我的 Blog: Dannys Dream Drag Drop 新的交互方式 拖拽 Drag 需要 Drag 的对象要 add 一个 UIDragInteraction &#xff0c;用法类似于 UIGestureRecognizer 。UIDragInteraction 有一个…

[Hadoop] - 自定义Mapreduce InputFormatOutputFormat

在MR程序的开发过程中&#xff0c;经常会遇到输入数据不是HDFS或者数据输出目的地不是HDFS的&#xff0c;MapReduce的设计已经考虑到这种情况&#xff0c;它为我们提供了两个组建&#xff0c;只需要我们自定义适合的InputFormat和OutputFormat&#xff0c;就可以完成这个需求&a…

PS 色调——老照片效果

这就是通过调色使照片显得发黄。 R_new0.393*R0.769*G0.189*B; G_new0.349*R0.686*G0.168*B; B_new0.272*R0.534*G0.131*B; clc; clear all; Imageimread(9.jpg); Imagedouble(Image); Image_newImage; Image_new(:,:,1)0.393*Image(:,:,1)0.769*Image(:,:,2)0.189*Image(:,:,3…

jsp出现错误

昨天在调试页面时发生了如图显示的异常&#xff0c;它出现的原因是当<jsp:forward>或<jsp:include>标签没有参数时&#xff0c;开始标签和结束标签</jsp:forward>或</jsp:include>之间不能有空格&#xff0c;不能换行。解决办法&#xff1a;删除标签之…

门限回归模型的思想_Stata+R:门槛回归教程

来源 | 数量经济学综合整理转载请联系进行回归分析&#xff0c;一般需要研究系数的估计值是否稳定。很多经济变量都存在结构突变问题&#xff0c;使用普通回归的做法就是确定结构突变点&#xff0c;进行分段回归。这就像我们高中学习的分段函数。但是对于大样本、面板数据如何寻…

【数论】[CF258C]Little elephant and LCM

题目 分析&#xff1a;枚举最大数&#xff0c;然后找出它所有因数p1…….pk&#xff0c; 从中任意选取一些数&#xff0c;这些数的LCM|这个数且&#xff0c;这些数的最大LCM就是枚举的这个数&#xff0c;且若pi<aj<pi1则前i个数可以放在j这个位置&#xff0c;即j这个位置…

为普通Object添加类似AttachedProperty的属性

为普通Object添加类似AttachedProperty的属性 周银辉 我们知道&#xff0c;在WPF中对应一个DependencyObject&#xff0c;我们很容易通过AttachedProperty来为类型附加一个属性。但对于普通的Object而言&#xff0c;这就不可行了。 我现在遇到这样一个问题&#xff0c;下面有一…

python 操作RabbitMQ

pip install pika使用API操作RabbitMQ基于Queue实现生产者消费者模型View Code 对于RabbitMQ来说&#xff0c;生产和消费不再针对内存里的一个Queue对象&#xff0c;而是某台服务器上的RabbitMQ Server实现的消息队列。#!/usr/bin/env python import pika# ###################…

python和嵌入式哪个容易_嵌入式与python选哪个

从概念上来说&#xff0c;嵌入式和Python的区别还是比较明显的&#xff0c;嵌入式是一个开发领域&#xff0c;而Python则是一门编程语言。嵌入式开发是开发领域的一个重要分支&#xff0c;是物联网领域技术的重要组成部分&#xff0c;可以说有物联网的地方就离不开嵌入式开发。…

二阶传递函数的推导及几种求解方法的比较

二阶系统是指那些可用二阶微分方程描述的系统&#xff0c;其电路形式是由两个独立动态元器件组成的电路。 二阶系统电路包括二阶低通电路、二阶高通电路、二阶带通电路和二阶带阻电路。 下面分别给出以上二阶系统传递函数的推导过程&#xff0c;并以二阶低通电路的冲激响应为例…

前端技术-调试工具(上)

页面制作之调试工具 常用的调试工具有Chrome浏览器的调试工具&#xff0c;火狐浏览器的Firebug插件调试工具&#xff0c;IE的开发人员工具等。它们的功能与使用方法大致相似。Chrome浏览器简洁快速&#xff0c;功能强大这里主要介绍Chrome浏览器的调试工具。 打开 Google Chrom…

新版Microsoft Edge支持跨平台跨设备浏览

之前一直使用Google Chrome浏览器&#xff0c;可以随意安装插件扩展程序&#xff0c;无广告&#xff0c;这是我钟爱她的原因。但是之后不能登录Google账号&#xff0c;不能实现跨设备应用&#xff0c;就想找一款好用的替代品&#xff0c;近期发现了新版的Microsoft Edge&#x…

BZOJ1050 [HAOI2006]旅行

Description 给你一个无向图&#xff0c;N(N<500)个顶点, M(M<5000)条边&#xff0c;每条边有一个权值Vi(Vi<30000)。给你两个顶点S和T &#xff0c;求一条路径&#xff0c;使得路径上最大边和最小边的比值最小。如果S和T之间没有路径&#xff0c;输出”IMPOSSIBLE”&…

biosrecovery什么意思_BIOS中的每个中文是什么意思

BIOS中的每个中文是什么意思&#xff0c;请对照的翻译一下Time/System Time时间/系统时间Date/System Date日期/系统日期Level 2 Cache二级缓存System Memory系统内存Video Controller视频控制器Panel Type液晶屏型号Audio Controller音频控制器Modem Controller调制解调器(Mod…

百度网盘7.3.1.10版本增加工作空间功能,可实现百度网盘与电脑文件夹同步

百度网盘新增的工作空间是一款文件同步的产品&#xff0c;支持电脑本地与云端之间的文件同步&#xff0c;多设备间文件自动保持同步、支持查看文件每次都修改的历史版本。功能类似于onedrive。如果有同步需求的小伙伴可以尝试下载最新版的百度网盘试用该功能哦。下载网址&#…

ubuntu+idea intellij配置android开发环境

最近对移动开发产生兴趣&#xff0c;决定在未来几年内利用空余时间开发一些app或游戏什么的&#xff0c;鉴于ios开发成本较高&#xff0c;且自身对java相对熟悉&#xff0c;因此选择了学习android。都说android市场不很很好&#xff0c;收益较难&#xff0c;但是仍觉得只要功夫…