Java基础2.docx

上传人:b****5 文档编号:10171845 上传时间:2023-02-09 格式:DOCX 页数:37 大小:830.25KB
下载 相关 举报
Java基础2.docx_第1页
第1页 / 共37页
Java基础2.docx_第2页
第2页 / 共37页
Java基础2.docx_第3页
第3页 / 共37页
Java基础2.docx_第4页
第4页 / 共37页
Java基础2.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

Java基础2.docx

《Java基础2.docx》由会员分享,可在线阅读,更多相关《Java基础2.docx(37页珍藏版)》请在冰豆网上搜索。

Java基础2.docx

Java基础2

Java基础2

文件结构

数组

Class5/com.test1/Demo5_1.java:

1./* 

2. * 功能:

数组的必要性 

3. */  

4.  

5.package com.test1;  

6.  

7.public class Demo5_1 {  

8.  

9.    /** 

10.     * @param args 

11.     */  

12.    public static void main(String[] args)   

13.    {  

14.        //定义一个可以存放六个float类型的数组  

15.        float[] arr=new float[6];  

16.        //给数组的各个元数赋值  

17.        arr[0]=3;  

18.        arr[1]=5;  

19.        arr[2]=1;  

20.        arr[3]=3.4f;  

21.        arr[4]=2;  

22.        arr[5]=50;  

23.        //算总体重  

24.        float all=0;  

25.        for(int i=0;i<6;i++)  

26.        {  

27.            all+=arr[i];  

28.        }  

29.        System.out.println("总体重是:

"+all);  

30.          

31.        //定义一个size=5的int数组  

32.        int[] arr1;  

33.        arr1=new int[5];  

34.          

35.        //如果你访问的数组范围大了  

36.        //arr[5]=10;  

37.        //如何知道数组的大小  

38.        System.out.println("数组arr1的大小:

"+arr1.length);  

39.          

40.        //滑板比赛  

41.        float arr2[]={3,6,7.1f,1.1f,3};  

42.        float all2=0;  

43.        for(int i=0;i

44.        {  

45.            all2+=arr2[i];  

46.        }  

47.        System.out.println("平均时间:

"+(all2/arr2.length));  

48.    }  

49.}

Class5/com.test5_2/Demo5_2.java:

1./* 

2. * 功能:

对象数组的使用 

3. */  

4.  

5.package com.test1;  

6.  

7.import java.io.BufferedReader;  

8.import java.io.InputStreamReader;  

9.  

10.public class Demo5_2 {  

11.  

12.    /** 

13.     * @param args 

14.     */  

15.    public static void main(String[] args) throws Exception {  

16.        //定义一个可以存放四只狗的对象数组  

17.        Dog dogs[]=new Dog[4];  

18.        //创建一个能存放4只狗的Dog[]对象数组  

19.          

20.        /* 

21.        //给各个狗赋初值 

22.        dogs[0]=new Dog();//将dogs[0]存放创建一只狗的空间的地址 

23.        dogs[0].setName("花花"); 

24.        dogs[0].setWeight(4.5f); 

25.        */  

26.        //从控制台输入各个狗的信息  

27.        InputStreamReader isr=new InputStreamReader(System.in);//IO流  

28.        BufferedReader br=new BufferedReader(isr);//将IO流转成Buffer流  

29.        for(int i=0;i<4;i++)  

30.        {  

31.            dogs[i]=new Dog();  

32.            System.out.println("请输入第"+(i+1)+"只狗的狗名:

");  

33.            String name=br.readLine();//从控制台读取狗名  

34.            System.out.println("请输入第"+(i+1)+"只狗的体重:

");  

35.            String s_weight=br.readLine();//从控制台读取体重  

36.            float weight=Float.parseFloat(s_weight);//将String转成float类型  

37.            //将名字赋给对象  

38.            dogs[i].setName(name);  

39.            //将体重赋给对象  

40.            dogs[i].setWeight(weight);  

41.              

42.        }  

43.        //计算总体重  

44.        float allWeight=0;  

45.        for(int i=0;i<4;i++)  

46.        {  

47.            allWeight+=dogs[i].getWeight();  

48.        }  

49.        //计算平均体重  

50.        float avgWeight=allWeight/dogs.length;  

51.        System.out.println("总体重="+allWeight+" 平均="+avgWeight);  

52.          

53.        //找出体重最大的狗  

54.        //假设第一只狗体重最大  

55.        float maxWeight=dogs[0].getWeight();  

56.        int maxIndex=0;  

57.        //依次比较狗的体重  

58.        for(int i=1;i

59.        {  

60.            if(maxWeight

61.            {  

62.                //修改  

63.                maxWeight=dogs[i].getWeight();  

64.                maxIndex=i;  

65.            }  

66.        }  

67.        System.out.println("体重最大的狗是第"+(maxIndex+1)+"只狗,其体重是:

"  

68.                +dogs[maxIndex].getWeight());  

69.          

70.        //输入狗的名字,查找它的体重  

71.        BufferedReader nam=new BufferedReader(isr);  

72.        System.out.println("请输入想要查找体重的狗的名字:

");  

73.        String dogName=nam.readLine();  

74.        for(int i=1;i

75.        {  

76.            if(dogName.equals(dogs[i].getName()))  

77.            {  

78.                System.out.println(dogName+"的体重是:

"+dogs[i].getWeight());  

79.            }  

80.        }  

81.    }  

82.    /* 

83.     * 数组总结:

 

84.     * 1.数组可存放同一类型数据 

85.     * 2.简单数据类型(int,float)数组,可直接赋值 

86.     * 3.对象数组定义后,赋值时需要再次为每个对象分配空间[即:

new 对象] 

87.     * 4.数组大小 必须事先指定 

88.     * 5.数组名可以理解为执行数组首地址的引用 

89.     * 6.数组的下标是从0开始编号的 

90.     */  

91.}  

92.  

93.//定义一个狗类  

94.class Dog  

95.{  

96.    private String name;  

97.    private float weight;  

98.    public float getWeight() {  

99.        return weight;  

100.    }  

101.    public void setWeight(float weight) {  

102.        this.weight = weight;  

103.    }  

104.    public String getName() {  

105.        return name;  

106.    }  

107.    public void setName(String name) {  

108.        this.name = name;  

109.    }  

110.}  

Class5/com.test1/Demo5_5.java:

1./* 

2. * 功能:

二维数组 

3. */  

4.  

5.package com.test1;  

6.  

7.public class Demo5_5 {  

8.  

9.    /** 

10.     * @param args 

11.     */  

12.    public static void main(String[] args) {  

13.        int[][] a=new int[4][6];  

14.        a[1][2]=1;  

15.        a[2][1]=2;  

16.        a[2][3]=3;  

17.        //把图形输出  

18.        //行  

19.        for(int i=0;i<4;i++)  

20.        {  

21.            //列  

22.            for(int j=0;j<6;j++)  

23.            {  

24.                System.out.print(a[i][j]+" ");  

25.            }  

26.            System.out.print("\n");  

27.        }  

28.    }  

29.}

排序与查找

排序介绍

冒泡排序

选择排序

快速排序

Class5/com.test1/Demo5_3.java:

1./* 

2. * 功能:

演示各种排序法 

3. */  

4.  

5.package com.test1;  

6.import java.util.Calendar;  

7.  

8.public class Demo5_3 {  

9.  

10.    /** 

11.     * @param args 

12.     */  

13.    public static void main(String[] args)   

14.    {  

15.        int len=10;  

16.        int[] arr=new int[len];  

17.        for(int i=0;i

18.        {  

19.            //让程序随机产生一个1-10000的数  

20.            //int t=(int)(Math.random()*10000);  

21.            int t=(int)(Math.random()*100);  

22.            //Math.random()会随机产生一个0~1的数  

23.            arr[i]=t;  

24.        }  

25.        //int arr[]={1,6,0,-1,9,2,14,24,5};  

26.          

27.        //创建一个Bubble实例  

28.        Bubble bubble=new Bubble();  

29.        //在排序前打印系统时间  

30.        Calendar cal=Calendar.getInstance();//获得实例   

31.        System.out.print("冒泡排序前:

"+cal.getTime());  

32.          

33.        bubble.sort(arr);//排序,通过引用修改arr数组的顺序  

34.          

35.        cal=Calendar.getInstance();//重新获得实例   

36.        System.out.print("\n冒泡排序后:

"+cal.getTime());  

37.          

38.        //输出冒泡排序后的结果,打印有序数列  

39.        System.out.print("\n冒泡排序的结果:

");  

40.        for(int i=0;i

41.        {  

42.            System.out.print(arr[i]+" ");  

43.        }  

44.          

45.        int a=12;  

46.        bubble.test(a);//简单数据类型传到函数中,它的改变不会导致外面的修改  

47.        System.out.println("\n\na="+a);  

48.          

49.        //-----------------------------------------------------  

50.        //创建一个Select实例  

51.        Select select=new Select();  

52.        //在排序前打印系统时间  

53.        cal=Calendar.getInstance();//获得实例   

54.        System.out.print("\n选择排序前:

"+cal.getTime());  

55.          

56.        //排序  

57.        select.sort(arr);  

58.          

59.        cal=Calendar.getInstance();//重新获得实例   

60.        System.out.print("\n选择排序后:

"+cal.getTime());  

61.          

62.        //输出选择排序后的结果,打印有序数列  

63.        System.out.print("\n选择排序的结果:

");  

64.        for(int i=0;i

65.        {  

66.            System.out.print(arr[i]+" ");  

67.        }  

68.          

69.        //-------------------------------------------------  

70.        //创建一个InsertSort实例  

71.        InsertSort is=new InsertSort();  

72.        //在排序前打印系统时间  

73.        cal=Calendar.getInstance();//获得实例   

74.        System.out.print("\n\n插入排序前:

"+cal.getTime());  

75.          

76.        //排序  

77.        is.sort(arr);  

78.          

79.        cal=Calendar.getInstance();//重新获得实例   

80.        System.out.print("\n插入排序后:

"+cal.getTime());  

81.          

82.        //输出选择排序后的结果,打印有序数列  

83.        System.out.print("\n插入排序的结果:

");  

84.        for(int i=0;i

85.        {  

86.            System.out.print(arr[i]+" ");  

87.        }  

88.          

89.        //-------------------------------------------------  

90.        //创建一个QuickSort实例  

91.        QuickSort qs=new QuickSort();  

92.        //在排序前打印系统时间  

93.        cal=Calendar.getInstance();//获得实例   

94.        System.out.print("\n\n快速排序前:

"+cal.getTime());  

95.          

96.        //排序  

97.        qs.sort(0,arr.length-1,arr);  

98.          

99.        cal=Calendar.getInstance();//重新获得实例   

100.        System.out.print("\n快速排序后:

"+cal.getTime());  

101.          

102.        //输出选择排序后的结果,打印有序数列  

103.        System.out.print("\n快速排序的结果:

");  

104.        for(int i=0;i

105.        {  

106.            System.out.print(arr[i]+" ");  

107.        }  

108.    }  

109.  

110.}  

111.  

112.class Bubble  

113.{  

114.    //测试  

115.    public void test(int a)  

116.    {  

117.        a++;  

118.    }  

119.      

120.    //冒泡排序  

121.    public void sort(int arr[])  

122.    {  

123.        int temp=0;  

124.        //外层循环,决定一共走几趟  

125.        for(int i=0;i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1