数组:是相同数据类型的元素按一定顺序排列的集合
//1.相同的数据类型
//2.数组有大小
//3.数组有下标(有顺序)
//4.数组的长度是固定的
//5.定义数组时,不能指定长度
例子:int[] nums = new int[5];
注意:定义数组时不能指定数组的长度
数组访问方法:<数组名>[index]
数组元素index:从0开始递增
数组中的元素个数称为数组长度,所有数组均有一个length属性记录数组长度。
该类包含操作数组的各种方法:
Arrays.fill() //对指定数组的每个元素,填充指定的值
Arrays.sort()//对指定数组的每个元素进行升序排序
Arrays. binarySearch()//从指定数组中查找指定的元素,返回元素下标
System.arraycopy() 拷贝数组
BreakPoint(断点)
在某一行代码上标记断点,debug环境下,程序一旦运行到断点就会停留在当前代码行.方便开发者观察内存数据的细节.
做法:通常在代码的行号上进行标记.
操作细节:
Runas > 下是否有Java Application,检查main方法是否正确.
即使这个表达式一开始并没有出现在源码中.
//冒泡
/**
* 冒泡排序
*/
package com.demo;
public class Maopao {
public static void main(String[] args) {
// TODO Auto-generated method stub
int numbers[]= {1,2,9,6,4,3,7,8,5};
int temp=0;
int size=numbers.length;
for(int i = 0 ; i < size; i ++)
{
for(int j = 0 ;j < size-1-i ; j++)
{
if(numbers[j] > numbers[j+1]) //交换两数位置
{
temp = numbers[j];
numbers[j] = numbers[j+1];
numbers[j+1] = temp;
}
}System.out.println(numbers[i]);
}
}
}
/**
* 判断奇偶数 和大小
*/
package com.demo;
import java.util.Arrays;
public class Shuzu1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] num1= {1,2,5,6,9,11,12,16};
int[] num2= {8,13,5,6,11,2,1};
int countj=0;
int counto=0;
for(int i=0;i
if(num1[i]!=0&&num1[i]%2==0)//0除外,能被2整除的数就是偶数
{
counto++;
}
else {
countj++;
}
}
System.out.println("偶数个数为"+counto+"奇数个数为"+countj);
int sum=0;
// int min,max;
// min=max=num2[0];
for(int i=0;i
sum+=num2[i];
/* if(num2[i]>max) // 判断最大值
max=num2[i];
if(num2[i]
}
//升序排序;
Arrays.sort(num2);
System.out.println("数组和"+sum);
// System.out.println("数组的最大值是:"+max); // 输出最大值
// System.out.println("数组的最小值是:"+min); // 输出最小值
System.out.println("Min:"+num2[0]+" "+"Max:"+num2[6]);
}
/**
* 数组基本遍历
*/
package com.demo;
public class Shuzu2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String[][][] arr= {{{"鼓楼区","秦淮区","江宁区"},{"园区","吴中区","相城区","沧浪区"}},
{{"西湖区","上城区","下城区"},{"鄞州区"}},
{{"A","B"},{"C","D"}}};
// System.out.println(arr[0][1][1]);
for(int i=0;i
for(int j=0;j
for(int k=0;k
System.out.print(arr[i][j][k]+" ");
}
System.out.println();
}
System.out.println();
}
System.out.println();
for (String[][] s : arr) {
for (String[] is2 : s) {
for (String i : is2) {
System.out.print(i + "\t");
}
System.out.println();
}
}
}
}
/**
* 1.定义一个20*5的二维数组,用来存储某班级20位学员的5门课的成绩;这5门课,按存储顺序依次为:core C++,coreJava,Servlet,JSP和EJB。
(1)循环给二维数组的每一个元素赋0~100之间的随机整数。
(2)按照列表的方式输出这些学员的每门课程的成绩。
(3)要求编写程序求每个学员的总分,将其保留在另外一个一维数组中。
(4)要求编写程序求所有学员的某门课程的平均分。
*/
package com.work;
public class Demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//(1)循环给二维数组的每一个元素赋0~100之间的随机整数。
int[][]arr = new int[20][5];
int avescore=0;
/* for(int i=0;i
for(int j=0;j
arr[i][j]=(int)(Math.random()*100);
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
System.out.println("=============================\n");*/
//(2)按照列表的方式输出这些学员的每门课程的成绩。
for(int i=0;i<20;i++)
{
for(int j=0;j<5;j++)
{
arr[i][j]=(int)(Math.random()*100);
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
//(3)要求编写程序求每个学员的总分,将其保留在另外一个一维数组中。
int[] sum=new int[20];
for(int i=0;i<20;i++)
{
for(int j=0;j<5;j++)
{
sum[i]+=arr[i][j];
}
System.out.println("第"+i + "号学生总分:" + sum[i]);
}
//(4)要求编写程序求所有学员的某门课程的平均分。
int total=0;
for(int i=0;i<20;i++)
{
for(int j=0;j<5;j++)
{
if(j==0)
{
total+=arr[i][j];
}
}
}
System.out.println(total/20);
}
}