黑马程序员:我的黑马预习课程第一讲:数组
来源:互联网 发布:智多星软件多少钱 编辑:程序博客网 时间:2024/06/09 14:07
---------------------- android培训、java培训、期待与您交流! -----------------------
最近我看了几天的数组视频,受益匪浅。我知道了如果遍历数组,还有数组的排序,以及数组的静态应用。下面就我对数组的了解记录一下我的心得。
一:数组的遍历:数组是一个集合,遍历数组是为了得到数组中的值,遍历数组也必用到了循环结构,根据角标可以取到数组中的任意值。
我写的一个遍历数组的小程序:
class ArrayTest
{
public static void main(String[] args)
{
int[] arr={1,5,3,6,7,9};
ArrayTest1(arr);
}
public static void ArrayTest1(int[] arr){
System.out.print("[");
for(int i=0;i<arr.length;i++)
{
if(i<arr.length-1){
System.out.print(arr[i]+",");
}
else{
System.out.print(arr[i]);
}
}
System.out.println("]");
}
}
二:数组的排序:数组的排序方法有很多,在此我写一下选择排序和冒泡排序。
class ArrayTool
{
/*public static void main(String args[])
{
int[] arr={3,4,10,8};
int min=getMin(arr);
System.out.println("min="+min);
}
*/
//private ArrayTool(){}
public static int getMin(int[] arr)
{
int min=0;
for(int x=1;x<arr.length;x++)
{
if(arr[x]<arr[min])
min=x;
}
return arr[min];
}
public void selectSort(int[] arr)
{
for(int i=0;i<arr.length-1;i++)
{
for(int j=i+1;j<arr.length;j++)
{
if(arr[i]>arr[j])
{
swap(arr,i,j);
}
}
}
}
public static void bubbleSort(int[] arr)
{
for(int i=0;i<arr.length-1;i++)
{
for(int j=0;j<arr.length-i-1;j++)
{
if(arr[j]>arr[j+1])
{
swap(arr,j,j+1);
}
}
}
}
private static void swap(int[] arr,int a,int b)
{
int temp=arr[a];
arr[a]=arr[b];
arr[b]=temp;
}
public static void printArray(int[] arr)
{
System.out.print("[");
for(int i=0;i<arr.length;i++)
{
if(i!=arr.length-1)
{
System.out.print(arr[i]+",");
}
else
{
System.out.println(arr[i]+"]");
}
}
}
}
/*
class ArrayTool
{
public static void main(String args[])
{
int[] arr={3,4,10,8};
int max=getMax(arr);
System.out.println("max="+max);
}
public static int getMax(int[] arr)
{
int max=0;
for(int x=1;x<arr.length;x++)
{
if(arr[x]>arr[max])
max=x;
}
return arr[max];
}
}
*/
其中数组的静态应用特性有:
每一个应用程序中都有共性的功能,可以将这些功能进行抽取,独立封装,以便复用。
虽然可以通过建立ArrayTool的对象使用这些工具方法,对数组进行操作。
发现的问题:
1:对象是用于封装数据的,可是ArrayTool对象并未封装特有数据
2:操作数组的每一个方法都没有用到ArrayTool对象中的特有数据
这时就考虑,让程序更严谨,是不需要对象的,
可以将ArrayTool中的方法都定义成static的,直接通过类名调用即可。
将方法都静态后,可以方便于使用,但是该类还是被其他程序建立对象的。
为了更加严谨,强制让该类不能建立对象。
可以将通过构造函数私有化完成。
--------------------- android培训、java培训、期待与您交流! ----------------------
- 黑马程序员:我的黑马预习课程第一讲:数组
- 黑马程序员:我的黑马预习课程第二讲:静态使用
- 黑马程序员-DOM(第一讲)
- 黑马程序员-JDBC(第一讲)
- 【黑马程序员】【C语言】我的第一个C程序
- 【黑马程序员】【OC语言】我的第一个OC程序
- 中关村黑马程序员的一些课程,有用~
- “黑马程序员"我的总结
- 黑马程序员---数组的学习
- 黑马程序员--数组的排序
- 黑马程序员 数组的使用
- 《黑马程序员》 数组的反射
- 黑马程序员---数组的反射
- 【黑马程序员】数组的应用
- 黑马程序员--数组的概念
- 黑马程序员--数组的应用
- 黑马程序员_我的黑马程序员之路
- 黑马程序员_IOS课程申请
- 二分图的最小点覆盖跟最小点权覆盖
- AR
- Asp.net控制TextBox只能输入数字
- ASP.NET中Server.MapPath() 和Request.MapPath()使用
- 分页实现以及访问量的实现
- 黑马程序员:我的黑马预习课程第一讲:数组
- 了解dt.jar
- 动态网页与静态网页各有各的特点
- 上百部BBC经典纪录片在线欣赏
- Xcode 4.2 中的Automatic Reference Counting (ARC)
- jsp实现记录访问次数实例
- sicily 1194
- Blogger Favicon - 面对上载后不呈现和not a square image问题
- struts2源码浅析(一)