-
2020-04-23 11:35:47
package com.xjc;
/任务二:创建士兵(Soldiers)类,该类有三个属性name(名字),x(横坐标),y(纵坐标)
在该类中定义有参构造方法,该方法有一个String类型参数name,代表士兵的姓名,
两个int类型变量x和y,分别表示士兵被实例化后所在的坐标位置,x代表横坐标,y代表纵坐标。
在主方法中使用for循环创建5个士兵对象,每个士兵对象的姓名以及x,y坐标是通过用户在控制台输入的。将5个士兵对象存入到数组中。/import java.util.Scanner;
//创建Soldiers类
public class Soldiers {// 定义几个属性 String name; int x; int y; /* * 创建一个无参构造方法(当没有手动添加构造方法,系统会默认添加一个无参的构造方法。 * 当手动添加了构造方法,默认的无参的构造方法会消失。所以我们通常都会创建一个无参构造方法,可能会用到) */ public Soldiers() { } // 创建一个有参构造方法 public Soldiers(String name, int x, int y) { this.name = name; this.x = x; this.y = y; } public static void main(String[] args) { Scanner input = new Scanner(System.in); // 定义一个Soldiers类型的数组,Soldiers是我们自己定义的一个类 Soldiers[] soldiersShuZu = new Soldiers[5]; // 使用for循环获取这五个士兵的信息 for (int i = 0; i < 5; i++) { System.out.println("请输入第" + (i + 1) + "个小兵的名字:"); String name = input.next(); System.out.println("请输入第" + (i + 1) + "个小兵的x坐标:"); int x = input.nextInt(); System.out.println("请输入第" + (i + 1) + "个小兵的y坐标:"); int y = input.nextInt(); // 新建一个ShiBing对象,把上面输入的参数传给这个对象,并且输出属性 Soldiers ShiBing = new Soldiers(name, x, y); System.out.println("士兵名字:" + name + " X坐标:" + x + " Y坐标:" + y); // 把ShiBing对象存入我们定义的数组 soldiersShuZu[i] = ShiBing; } // for循环遍历数组,输出小兵信息 for (int i = 0; i < soldiersShuZu.length; i++) { // 这里是定义一个soldiers类型的变量--ShiBing;可以理解为类似:int a 这种,只不过这里的数据类型是soldiers,是我们自己定义的类型 Soldiers ShiBing = soldiersShuZu[i]; System.out .println("第" + i + "个小兵的信息:\n姓名:" + ShiBing.name + "坐标:" + "(" + ShiBing.x + "," + ShiBing.y + ")"); } }
}
更多相关内容 -
循环数组、对象的方法(超实用)
2021-10-12 16:17:131. for in (唯一)既能循环数组,也能循环对象 2. for of 只能循环数组 不能循环对象 3.filter 筛选数组 返回一个满足条件的新数组 4. some 对数组每一项进行判断 只要有一项满足判断条件就会立刻终止循环...(前言:每一个方法我都会举例说明,为了避免混淆,所有方法例子中都使用同一个数组arr和对象obj;另外,由于 forEach太low,every太不常用,所以直接略过)
1. for in (唯一)既能循环数组,也能循环对象
2. for of 只能循环数组 不能循环对象
3. filter 筛选数组 返回一个满足条件的新数组
4. some 对数组每一项进行判断 只要有一项满足判断条件就会立刻终止循环 返回一个布尔值
5. reduce 数组求和或者数组去重
数组求和:reduce((总和,数组的每一项)=>{},总和的初始值)
数组去重:reduce((自定义的新数组,原数组的每一项)=>{},新数组的初始值)
注意:a.includes(b)表示的是a中是否包含b 返回一个布尔值
7. findIndex 查找数组中满足条件的第一项 返回其索引
8. find 查找数组中满足条件的第一项 返回这一项
9. Object.keys()和Object.values() 循环对象
-
微信小程序--数组和对象循环
2021-02-02 18:05:36wx:for="{{数组或者对象}}" wx:for-item="循环项的名称“ wx:for-index="循环项的索引“ js文件中: Page({ /** * 页面的初始数据 */ data: { list:[ { id:0, name:"a" }, { id:1, name:"b" }, { id...列表循环
wx:for="{{数组或者对象}}" wx:for-item="循环项的名称“ wx:for-index="循环项的索引“
js文件中:
Page({ /** * 页面的初始数据 */ data: { list:[ { id:0, name:"a" }, { id:1, name:"b" }, { id:2, name:"c" } ] },
<!--pages/demo0/demo0.wxml--> <text>pages/demo0/demo0.wxml</text> <view> <view wx:for="{{list}}" wx:for-item="item" wx:for-index="index"> 索引:{{index}} 值:{{item.name}} </view> </view>
wx:key=“唯一的值”用来提高列表渲染的性能 1.wx:key绑定一个普通的字符串的时候,呢么这个字符串名称肯定是循环数组中的对象的唯一属性 2.wx:key="*this“表示你的数组是一个普通的数组,”*this"表示是循环数组 3.当出现数组的嵌套循环的时候,尤其要注意以下绑定的名称不要重名 wx:for-item="item" wx:for-index="index" 4.默认情况下,我们不写 wx:for-item="item" wx:for-index="index" 小程序也会把循环项的名称和索引的名称叫做item和index 只有一层循环的话,上面两个语句可以省略
对象循环
wx:for="{{数组或者对象}}" wx:for-item="对象的值“ wx:for-index="对象的属性“ 1.循环对象时最好把item和index的名称都修改一下 wx:for-item="value“ wx:for-index="key“
<view> <view>对象循环</view> <view wx:for="{{person}}"> wx:for-item="value“ wx:for-index="key“ </view> </view>
-
JS遍历(循环)——JS对象遍历(循环)&JS数组遍历(循环)
2021-01-14 23:43:401、for循环 //不缓存 var arr = [5,2,0,1,3,1,4]; for ( var i = 0; i <arr.length; i++){ console.log(arr[i]);//遍历所得子项 } for循环优化版:在JS性能优化中,有一个常见的小优化,即缓存数组长度 //缓存...最近在处理一些偏逻辑的代码块经常遇到遍历问题,接下来跟大家一起温习一下有关于JS的遍历吧。
js数组遍历
1、for循环
//不缓存 var arr = [5,2,0,1,3,1,4]; for ( var i = 0; i <arr.length; i++){ console.log(arr[i]);//遍历所得子项 }
for循环优化版:在JS性能优化中,有一个常见的小优化,即缓存数组长度//缓存 var arr = [5,2,0,1,3,1,4]; var len = arr.length; for ( var i = 0; i <len; i++){ console.log(arr[i]);//遍历所得子项 }
第二种方式是大多数的程序猿推荐的一种写法,据说是有利于性能提升,个人没有检测过,但看过一篇文章可以参考:JavaScript 有必要缓存 for 循环中的 Array.length 吗?
虽然优化版写法不太优雅,但有时候还真用得上,举个栗子://不缓存 var divs = document.getElementsByTagName("div"), i, div; for( i=0; i<divs.length; i++ ){ div = document.createElement("div"); document.body.appendChild("div"); } 造成死循环,每次执行for循环都会动态获取divs的长度,而我们每次进入循环都增加了一个DOM(div),divs的长度也+1. //缓存 var divs = document.getElementsByTagName("div"), i, div,len; for( i=0;len=divs.length;i<len; i++ ){ div = document.createElement("div"); document.body.appendChild("div"); } //使用变量保存divs的长度。
。。。。。。才第一个,篇幅有点长,还是简化简说吧
2、map映射
map遍历支持使用return语句,和forEach都是es5新增的数组方法,所以ie9以下的浏览器还不支持。
var arr = [5,2,0,1,3,1,4]; //返回新数组,不改变旧数组 arr.map(function(v,i){ console.log(i+'--'+v); }); var temp=arr.map(function(v,i){ return v*v }) console.log(temp);
3、forEach
跟map一样是数组自带的方法,性能比for还弱,用的比较少,不能使用break语句中断循环,也不能使用return语句返回到外层函数。
var arr = [5,2,0,1,3,1,4]; arr.forEach(function(v,i){ console.log(i+'--'+v); })
4、for-of遍历
es6新增,很强大,支持数组、对象、字符串的遍历
var arr = [5,2,0,1,3,1,4]; for( let i of arr){ console.log(i); }
与forEach()不同的是,它可以正确响应break、continue和return语句。
对象的遍历
1,for-in遍历
for-in是为遍历对象而设计的,用于循环遍历数组或对象属性,遍历对象简洁方便。for in循环里面的index是string类型的,代码每执行一次,就会对数组的元素或者对象的属性进行一次操作,不建议用来遍历数组。
var obj= { j:5, a:2, v:0, a:1, s:3, c:1, r:4, p:5, t:2, }; for (var index in obj){ console.log(index+'------'+obj[index]); }
2、使用Object.keys()遍历
Object.keys(obj)
参数:要返回其枚举自身属性的对象
返回值:一个表示给定对象的所有可枚举属性的字符串数组
可用于数组、对象、字符串,这里只说对象的,其它的自己面向百度喔!let person = {name:"陈奕迅",age:3,address:"香港",getName:function(){}} Object.keys(person) // ["name", "age", "address","getName"]
遍历对象var obj= { j:5, a:2, v:0, a:1, s:3, c:1, r:4, p:5, t:2, }; Object.keys(obj).forEach(function(key){ console.log(key+'-----'+obj[key]); });
3、使用Object.getOwnPropertyNames(obj)遍历
定义:返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性)
var obj= { j:5, a:2, v:0, a:1, s:3, c:1, r:4, p:5, t:2, }; Object.getOwnPropertyNames(obj).forEach(function(key){ console.log(key+'-----'+obj[key]); });
-
Java循环一个对象的所有属性,并通过反射给这些属性赋值/取值
2018-05-14 13:11:07Java循环一个对象的所有属性,并通过反射给这些属性赋值/取值 说到循环遍历,最常见的遍历数组/列表、Map等。但是,在开发过程中,有时需要循环遍历一个对象的所有属性。遍历对象的属性该如何遍历呢?查了一下资料... -
避免在循环体中创建对象
2017-04-11 09:23:25尽量避免在经常调用的方法,循环中new对象,由于系统不仅要花费时间来创建对象,而且还要花时间对这些对象进行垃圾回收和处理,在我们可以控制的范围内,最大限度的重用对象,最好能用基本的数据类型或数组来替代... -
Python中为啥我的可循环对象只循环一次,循环第二次就没了没了没了,解决解决
2020-04-06 00:12:14为什么我会总结这篇文章,...拉着我的手问:“为什么为什么我的迭代循环只循环一次,第二次,第三次,第四次...就没有东西了,我的迭代啊.....” 我一看,就这,哼,我伸出那熟练的单手一把把她撸进怀里,错误错误... -
iOS之深入解析如何检测“循环引用”
2022-04-01 18:25:57引用计数固然有其优越性,但也正是因为缺乏对全局对象信息的把控,导致 Objective-C 无法自动销毁陷入循环引用的对象。虽然 Objective-C 通过引入弱引用技术,让开发者可以尽可能地规避这个问题,但在引用层级过深,... -
循环的几种表示
2016-02-01 11:26:53借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象。本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类,并解释和这一机制的一些常见问题。 在Java程序中,要“逐一... -
Spring中的循环依赖
2022-02-09 13:06:57目录一、什么是循环依赖?二、Bean的生命周期2.1 Spring Bean 的生命周期2.2 Bean 的生成步骤三、三级缓存3.1三个缓存分别有什么作用...例如,就是A对象依赖了B对象,B对象依赖了A对象。 // A依赖了B class A{ pub -
js循环数组判断数组(数组对象)中是否含有某字段,有的话去除,返回新数组
2021-07-01 15:34:121) 数组中是否存在指定值,存在就删除 ...0表示存在 array.splice(index, 1) //存在就删除 } console.log(array) //['a', 'b', 'd'] 2) 数组对象中是否存在指定值,存在就删除 var timeList =[ {caseStage:'退款' -
nodejs事件和事件循环详解
2021-01-14 16:40:41上篇文章我们简单的介绍了nodejs中的事件event和事件循环event loop。本文本文将会更进一步,继续讲解nodejs中的event,并探讨一下setTimeout,setImmediate和process.nextTick的区别。 -
Python循环对象 ,函数
2015-01-30 00:43:48谢谢! 这一讲的主要目的是为了大家在读...循环对象的并不是随着Python的诞生就存在的,但它的发展迅速,特别是Python 3x的时代,循环对象正在成为循环的标准形式。 什么是循环对象 循环对象是这 -
13 while循环和for循环
2022-01-29 17:07:461 while循环 1.1 一般形式 while语句最完整的形式是:首行以及测试表达式有一行或多行正常缩进语句构成的主体以及一个可选的else部分(else 部分会在控制权离开循环而...这样直接测试对象,而不是使用更冗长的等效写法 -
python的循环语句
2020-11-27 21:19:57python的循环语句有两种:for 和 while,for循环是对可迭代对象进行迭代并处理,因此for的对象是一个可以迭代的对象,而while循环的条件则是一个布尔值可以是一个返回布尔值的表达式。for循环for循环是一个有限次的... -
Java语言-for循环详解
2021-09-27 16:52:01虽然所有循环结构都可以用 while 或者 do...while表示,但 Java 提供了另一种语句 —— for 循环,使一些循环结构变得更加简单。 for循环执行的次数是在执行前就确定的。 语法格式如下: -
for循环,for循环嵌套
2019-11-30 11:28:35for循环用于遍历对象,并将对象中的数拿出来 for循环的括号里用两个分号把它分成了三个部分,第一部分是循环变量,第二部分是循环的判断条件,第三部分是变量的变化规律(即每循环一次变量i的变化情况)。 for(var i... -
关于jpa对象一对多或多对多映射进入死循环的问题
2019-01-08 12:13:37当我查询一个一对多的实体的时候,postman直接爆了,差不多我就猜到是哪里死循环了,debug时还会有堆溢出的问题,再然后是jsckson的错误。那么必然是序列化的问题了。 解决方式 1.采用单向多对一的形式,这样... -
js ES6遍历对象的6种方法
2021-02-06 18:29:521.for … in 循环遍历对象自身的和继承的可枚举属性(循环遍历对象自身的和继承的可枚举属性(不含Symbol属性))let obj = {'0': a,'1': b,'2': c}for (let i in obj) {console.log(i, obj[i])}// 0 a// 1 b// 2 c2.... -
Python for 循环
2020-11-24 00:11:42Python中的for循环用于迭代序列(list,tuple,string)或其他可迭代对象。在序列上进行迭代称为遍历。for循环的语法for val in sequence:Body of for在此,val是在每次迭代中获取序列内项目值的变量。循环继续直到... -
理解 Python 的 for 循环
2020-12-08 17:12:02在本篇博客中,我们将讨论 Python 中 for 循环的原理。我们将从一组基本例子和它的语法开始,还将讨论与 for 循环关联的 else 代码块的用处。...之后,我们将讨论如何使用迭代对象和迭代器实现 for 循环,以及利用... -
python循环换行
2020-11-30 12:40:59在写list或者较长的字符串时候,或者多个循环造成ide不够用时,就需要代码换行了。 主要的代码换行有通用的反斜杠和针对字符串起作用的三引号结构。 1.反斜杠对于一般表达式来说,反斜杠后直接回车即可实现续行, ... -
Java for循环的几种用法详解
2021-02-12 12:29:32借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象。本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类,并解释和这一机制的一些常见问题。在Java程序中,要“逐一... -
lambda表达式对两个List进行循环,根据符合条件,进行相关的赋值操作并返回这个对象集合
2019-02-13 11:26:29首先创建两个对象男生和女生: // 男生 get set和toString这里省略 public class SchoolBoy { private String girlId; private String id; private String name; private String grilName; } // 女生 ... -
Python for死循环
2020-11-24 00:17:02循环循环是指重复执行一段代码若干次,为什么要有循环?因为循环可以避免大量的代码重复。死循环当一个循环可以执行无限次,也就是没有终止条件,我们称这个循环是死循环。编写死循环程序实际上是不对的,一旦写出来... -
JavaScript 中的循环遍历方法
2020-12-22 14:48:471、forlet arr = [1,2,3];for (let i=0;... //循环被跳过 }console.log(i,arr[i])}// 0 1// 2 3最常见的循环,不过注意 这里我用的是let , 如果你使用var的话 那么会有一种名为变量提升的默认操作... -
python:循环列表列表并在循环内赋值
2021-01-29 12:21:52这是一个有点不直观的变量行为。这是因为在Python中,变量总是引用值。在盒子和标签在某些语言中,我们倾向于将变量视为放置值的“框”...下图表示alist = [[1,2], [3,4], [5,6]]创建的列表鉴于此,让我们看看在执行... -
Java中for循环的几种用法
2021-08-03 21:17:594 循环变量的类型 可以是要被遍历的对象中的元素的 上级类型 4.1 使用要被遍历的对象中的元素的 上级类型的 循环变量 4.2 使用能和 要被遍历的对象中的元素的类型 自动转换的类型的 循环变量 1 常用的几种方法 1.1 ... -
安卓中的消息循环机制Handler及Looper详解
2016-05-09 19:37:15安卓中的消息循环是使用Looper这个类来实现的,而Looper是基于线程的,即一个Looper对象与创建它的线程相关联,当使用 Looper.prepare()语句时它会创建一个Looper对象和一个MessageQueue对象,然后 在创建Handler时...