Java类和数组(练习)

一道练习题,所牵扯出来非知识点本身的内容

  • 在学习过程最重要的不是某一个知识点,比如这道小练习(重要的不是:如何创建数组,如果new一个类,如何创建一个方法)
  • 重要的是:创建数组的时创建的20个固定类型的内存空间,实例化之后的20个内存对象存储到这20个内存中(每一个对象都是相互独立),到此把基础架构物料准备好(类、内存、实例化、相互独立),至于后续的具体的业务逻辑,这是最简单
  • 学习实践的重点在:开发过程中的思考过程,为什么怎么去思考?原因是什么?什么时候再什么情况下?这样设计开发是否合理?设计什么样的方法可以去改进它?(1、2、3…),在设计者方法的时候自己又是如何思考的,为什么怎么去思考设计这种改进方案,对于你前一个方案有什么优势与劣势?这样的思考过程,才是最核心的本质的东西,中间的具体知识都是死的,只是棋子而已。
// 一道入门级练习题:
//     1. 定义类Student, 包含三个属性:学号number(int), 年级state(int), 成绩score(int)
//     2. 创建20个学生对象, 学号为1到20, 年级和成绩都由随机数确定, 打印出3年级(state值为3)的学生信息
public class StudentTest {
	public static void main(String[] args) {
	    // 创建数组(java中的类, 本身就能当做一种对象类型)
		StudentPerson[] students = new StudentPerson[20];
		for (int i = 0; i < students.length; i++) {
		    // 給对于的堆空间赋值, 赋值为实例化StudentPerson之后, 新开辟的空间
			students[i] = new StudentPerson();
			// 创建20个固定的StudentPerson类型的内存空间, 然后依次給其存储20个StudentPerson类实例化的互相独立的又初始值相同的内容
			students[i].number = i + 1;
			students[i].state = (int) (Math.random() * 6 + 1);
			students[i].score = (int) Math.round((Math.random() * 100));
		}
		for (int i = 0; i < students.length; i++) {
			if (students[i].state == 3) {
				String result = students[i].info(students[i].number, students[i].state, students[i].score);
				System.out.println(result);
			}
		}
	}
}

class StudentPerson {
	int number;
	int state;
	int score;
	public String info(int number, int state, int score) {
		return "学号:" + number + ",年级:" + state + ",成绩" + score;
	}
}
// 对比JS的构造函数、类、类型,JS简直被全方位碾压

持续的1-2小时学习周期,设计目标(自己 or 长者),将漫长的旅程分解为一系列可控的目标,并且每次只关注其中一个,重点关注你的思考过程与方法。
没必要遮遮掩掩,需要吐出你的东西,让除你之外的人给予反馈(这是最强烈的外部动机),加上内在的动力,这将形成正向反馈机制,包裹着你一路向前,做到一些你可能一直以为自己"够不着"的那些可能性。

共勉
2018-12-13 23:41:50

整理知识点(word) 1、定义一个int[] a ={4,2,0,-1,-8,23,9}求数组元素的最大值、最小值、平均数、总和、数组的复制、反转 2、数组元素的排序从键盘输入5个人的年龄,全部输入完后打印。 3、从键盘输入10个整数存入在一个数组中,计算所有元素之和及平均值,并找出最大值和最小值。 4、说明下面语句的错误原因并改正之? int numbers[]; int[] numbers; numbers = { 42, 84, 168 }; x数组常量只能在初始化时才能使用。 int[3] numbers = { 42, 84, 168 }; x数组常量只能在初始化时才能使用。 int[] numbers = new int[]; x变量必须提供尺寸表达式或数组的初始化 int[] numbers = new int[3] {};x在提供数组初始化器时不能定义维度表达式 int[] numbers = new int[3]; int[] numbers = new int[3]; numbers[numbers.Length] = 42; x int[][] numbers = {{ 42, 84 }, { 84, 42 }}; 5、已知数组为小学课程:(语文、数学、自然、社会 ),使用foreach循环遍历输出。 6、将一个字符串数组输出为|分割的形式,比如“梅西|卡卡|C罗|罗纳尔多|贝克汉姆”。   7、2 定义Student,包含三个属性:学号number(int),年级state(int),成绩score(int)。 创建20学生对象,学号为1到20,年级和成绩都由随机数确定,打印出3年级(state值为3)的学生信息。 提示:生成随机数:Math.random(),返回值类型double; 四舍五入取整:Math.round(double d),返回值类型long
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值