Java学习日记基础篇(七) —— 数组、排序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java学习日记基础篇(七) —— 数组、排序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3737字,纯文字阅读大概需要6分钟。
内容图文
数组
为什么要有数组?
案例:一个养鸡场有六只鸡,他们的体重分别为3kg,5kg,1kg,3.4kg,2kg,50kg。请问这六只鸡的总体重和平均体重是多少?
1 public class test5 2 { 3 public static void main(String[] args) 4 { 5 // 如果没有数组就要定义六个变量,然后算出结果,太麻烦了 6 // 现在我们定义一个可以存放6个float类型的数组 7 float arr[] = newfloat[6]; 8//给数组的各个元素赋值 9 arr[0] = 3; //3是低精度会自动转成高精度的float类型10 arr[1] = 5; 11 arr[2] = 1; 12 arr[3] = 3.4f; //java中默认小数是double的所以在后面加上f说明是float类型,避13 arr[4] = 2; 14 arr[5] = 50; 1516float all = 0; 17for(int i=0;i<6;i++) //遍历数组18 { 19 all += arr[i]; 20 } 21 System.out.println("总体中是" + all); 22 } 23 }
数组可以存放多个同一类型的数据
数组的语法
//数组的定义1 —— 正常方法 数据类型 数组名[ ] = new 数据类型[ 大小 ]; int a[ ] = new int[ 10 ]; //数组的定义2 —— 没事找事法 //第一步:先声明数组 数据类型 数组名[ ]; 或者 数据类型[ ] 数组名; int a[ ]; 或 int[ ] a; //第二步创建数组 数组名 = new 数据类型[ 大小 ]; a = new int[ 10 ]; //数组的定义3 —— 古板用法 //在定义的时候直接初始化数组,大小有后面给的数的个数决定的 数据类型 数组名[] = { 元素值, 元素值, ... } int a[] = { 2,5,6,7,8,9 } //数组的引用 数组名[ 下标 ]
public class test5 { public static void main(String[] args) { float arr[] = {1.2f,2,3,4,5,7.8f}; float all = 0; for(int i=1;i<arr.length;i++) //可以用length来获取数组的长度 { all += arr[i]; } System.out.println("平均时间: "+(all/arr.length)); } }
数组越界的报错
java.lang.ArrayIndexOutOfBoundsException
如何知道数组的大小
System.out.println(arr.length); //这个length是这个数组的成员属性
对象数组
案例:一个养狗场有4只狗,分别是:
名字 | 体重 |
花花 | 4.5kg |
白白 | 5.6kg |
黑黑 | 7.8kg |
红红 | 9.0kg |
请编写一个程序,计算他们的平均体重,可以找出体重最大和最小的狗的名字,可以通过输入狗的名字,查找他们的体重
public class test6 { public static void main(String[] args) { // 定义一个可以存放四只狗的对象数组 Dog dogs[] = new Dog[4]; //给每只狗赋值 dogs[0].setName("花花"); dogs[0].setWeight(4.5f); } } class Dog { private String name; publicfloat weight; publicfloat getWeight() { return weight; } publicvoid setWeight(float weight) { this.weight = weight; } public String getName() { return name; } publicvoid setName(String name) { this.name = name; } } 报错:空指针异常 java.lang.NullPointerException
Java中没有指针,但引用的实质就是一个指针,引用里面存放的并不是对象而是该对象的地址,使得该引用指向了对象那个。而“=”在JAVA中并不该被翻译成赋值语句,因为他执行的是传递至的过程。
1 public class test6 2 { 3 public static void main(String[] args) 4 { 5 // 定义一个可以存放四只狗的对象数组 6 Dog dogs[] = new Dog[4]; //仅仅创建了四个引用 7 8//给每只狗赋值 9 dogs[0] = new Dog(); //创建Dog()对象,然后传递给dogs[0]引用10 dogs[0].setName("花花"); 11 dogs[0].setWeight(4.5f); 12 } 1314} 15class Dog 16{ 17private String name; 18publicfloat weight; 19publicfloat getWeight() { 20return weight; 21 } 22publicvoid setWeight(float weight) { 23this.weight = weight; 24 } 25public String getName() { 26return name; 27 } 28publicvoid setName(String name) { 29this.name = name; 30 } 31 }
1 import java.io.*; 2 3publicclass test6 4{ 5publicstaticvoid main(String[] args) throws Exception 6 { 7//定义一个可以存放四只狗的对象数组 8 Dog dogs[] = new Dog[4]; //仅仅创建了四个引用 9//从控制台输入各个狗的信息10 InputStreamReader isr=new InputStreamReader(System.in); 11 BufferedReader br= new BufferedReader(isr); 12for(int i=0 ; i<4 ; i++) 13 { 14 dogs[i] = new Dog(); 15 System.out.println("请输入狗的名子"); 16//从控制台读取狗名17 String name = br.readLine(); //之后会讲异常 18//讲名字赋值给对象19 dogs[i].setName(name); 20 System.out.println("请输入狗的体重"); 21 String s_weight = br.readLine(); 22float weight = Float.parseFloat(s_weight);//String->float 23//讲名字赋值给对象24 dogs[i].setWeight(weight); 25 } 26//计算总体重27float allWeight = 0; 28for(int i=0;i<4;i++) 29 { 30 allWeight+=dogs[i].getWeight(); 31 } 32//计算平均体重33float avgWeight = allWeight/dogs.length; 34 System.out.println("总体重="+allWeight+"平均体重"+avgWeight); 35 } 3637} 38class Dog 39{ 40private String name; 41publicfloat weight; 42publicfloat getWeight() { 43return weight; 44 } 45publicvoid setWeight(float weight) { 46this.weight = weight; 47 } 48public String getName() { 49return name; 50 } 51publicvoid setName(String name) { 52this.name = name; 53 } 54 }
继承
原文:https://www.cnblogs.com/houzhaohui/p/9661321.html
内容总结
以上是互联网集市为您收集整理的Java学习日记基础篇(七) —— 数组、排序全部内容,希望文章能够帮你解决Java学习日记基础篇(七) —— 数组、排序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。