JAVA学习第五天

第五天主要学习数组
数组的定义格式
数组定义格式1:
数据类型[] 数组名;
int[] a; 定义一个int类型的数组a,里面的元素都是int类型
String[] s; 定义一个String类型的数组s,里面的元素都是String类型
 
数组定义格式2:
数据类型 数组名[];   //不推荐使用
int a[]; 定义一个int类型的a数组变量
二维数组定义方式一:每个元素长度相同
指的是每个元素指向的一维数组的长度是相同的
定义方式如下:
数据类型[][] 变量名 = new 数据类型[m][n];
m表示这个二维数组有多少个一维数组
n表示每一个一维数组的元素个数
二维数组定义方式二:每个元素长度不一定相同
指的是每个元素所指向的一维数组的长度可以是不同的,根据具体情况而定
定义格式如下:
数据类型[][] 变量名 = new 数据类型[m][];
m表示这个二维数组有多少个一维数组
格式3
数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}};
简化版格式:
数据类型[][] 变量名 = {new int[]{元素…},{元素…},{元素…}};


代码练习:

import java.util.Scanner;
class Test01{
public static void main(String[] args){
int[] arr = new int[5];
Scanner s = new Scanner(System.in);
System.out.println("请输入第一个值:");
arr[0] = s.nextInt();
System.out.println("请输入第二个值:");
arr[1] = s.nextInt();
System.out.println("请输入第三个值:");
arr[2] = s.nextInt();
System.out.println("请输入第四个值:");
arr[3] = s.nextInt();
System.out.println("请输入第五个值:");
arr[4] = s.nextInt();
sop("最大值为:"+getMax(arr));
System.out.println();
sop("最小值为:"+getMin(arr));
System.out.println();
sop("平均值为:"+getAve(arr));
}
//打印方法封装
public static void sop(String a){
System.out.print(a);
}
//获取最大值方法
public static int getMax(int[] arr){
int max = arr[0];
for(int i =1;i<arr.length;i++){
if(max<arr[i]){
max = arr[i];
}
}
return max;
}
//获取最小值方法
public static int getMin(int[] arr){
int min = arr[0];
for(int i =1;i<arr.length;i++){
if(min>arr[i]){
min = arr[i];
}
}
return min;
}
//获取平均值
public static double getAve(int[] arr){
double sum = 0;
for(int i =0;i<arr.length;i++){
sum = sum +arr[i];
}
return sum/arr.length;
}
}


class Test02{
public static void main(String[] args){
int[][] arr = new int[4][3]; 
arr[0] =new int[]{22,66,44};
arr[1] =new int[]{77,33,88};
arr[2] =new int[]{25,45,65};
arr[3] =new int[]{11,66,99};
int sum = 0;
for(int i = 0;i < arr.length;i++){
for(int j = 0;j<arr[i].length;j++){
sum += arr[i][j];
}
}
sop("所有季度数据的和为:"+sum);
}
//打印方法封装
public static void sop(String a){
System.out.print(a);
}
}


/*
------------------------------------------------------
import java.util.Scanner;
class TestDay05{
public static void main(String[] args){
int[][] arr1 = new int[][]{{1,2,3,4},{1,2},{5,6,8,9,10},{1}};
int[][] arr2 = {{1,2,3,4},{1,2},{5,6,8,9,10},{1}};
print3DArr(arr1);
sop("--------------");
System.out.println();
print3DArr(arr2);
}
//打印方法封装
public static void sop(String a){
System.out.print(a);
}
//打印二维数组方法封装
public static void print3DArr(int[][] arr){
for(int i =0;i<arr.length;i++){
for(int j =0;j<arr[i].length;j++){
sop(arr[i][j]+" ");
}
System.out.println();
}
}
}
------------------------------------------------------
import java.util.Scanner;
class TestDay05{
public static void main(String[] args){
int[][] arr = new int[3][];
arr[0]=new int[3];
arr[1]=new int[4];
arr[2]=new int[5];
print3DArr(arr);
}
public static void sop(String a){
System.out.print(a);
}
public static void print3DArr(int[][] arr){
for(int i =0;i<arr.length;i++){
for(int j =0;j<arr[i].length;j++){
sop(arr[i][j]+" ");
}
System.out.println();
}
}
}
------------------------------------------------------
import java.util.Scanner;
class TestDay05{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.println("请输入索引值:");
int index = s.nextInt();
int[] arr = {1,2,3,4,5,6,7,8};
int tmp = getIndex(arr,index);
if(tmp == -1){
sop("该数组中找不到输入的数值");
}else
sop("该数值所对应的索引为:"+tmp);
}
//打印封装打印方法
public static void sop(String arg){
System.out.println(arg);
}
//封装查找方法
public static int getIndex(int[] arr,int a){
for(int i =0;i<arr.length;i++){
if(arr[i] == a){
return i;
}
}
return -1;
}
}
-----------------------------------------------------
import java.util.Scanner;
class TestDay05{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.println("请输入索引值:");
int index = s.nextInt();
String[] arr = {"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
if(index<0||index>6){
System.out.println("您输入的索引有误,请重新输入。");
return;
}
System.out.println(arr[index]);
}
}
-----------------------------------------------------
class TestDay05{
public static void main(String[] args){
int[] arr = {1,2,3,4,5};
for(int i =0;i<arr.length/2;i++){
int tmp = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i] = tmp;
}
for(int i = 0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
}
---------------------------------------------------------
class TestDay05{
public static void main(String[] args){
int[] arr = new int[30];
for(int i =0;i<30;i++){
arr[i]= i;
}
sop("----------------");
for(int i =0;i<30;i++){
sop(arr[i]+"");
}
}
public static void sop(String arg){
System.out.println(arg);
}
}
---------------------------------------------------------
class TestDay05{
public static void main(String[] args){
int[] arr = new int[30];
for(int i =0;i<30;i++){
arr[i]= i;
}
sop("arr数组的长度是:"+arr.length+"");
System.out.println();
sop("----------------");
System.out.println();
printArr(arr);
}
public static void sop(String arg){
System.out.print(arg);
}
public static void printArr(int[] arr){
for(int i =0;i<arr.length;i++){
sop(arr[i]+" ");
}
}
}
-------------------------------------------------------------
class TestDay05{
public static void main(String[] args){
//定义两个数组
int[] arr0 = new int[3];
int[] arr1 = new int[3];
//按顺序打印两个数组的变量名
// System.out.println(arr0);
// System.out.println(arr1);

//将上面两个打印删除或注释,将打印顺序互换打印
System.out.println(arr1);
System.out.println(arr0);
}
}
//以上输出结果为何没有调换??
---------------------------------------------------------------
class TestDay05{
public static void main(String[] args){
int[] arr = {10,2,5,9,10,1,5,3,2,6,100};
sop("数组中最大值为:"+getMax(arr));
sop("数组中最小值为:"+getMin(arr));
}
public static void sop(String arg){
System.out.println(arg);
}
public static int getMax(int[] arr){
int max = arr[0];
for(int i = 1;i<arr.length;i++){
if(max<arr[i]){
max = arr[i];
}
}
return max;
}
public static int getMin(int[] arr){
int min = arr[0];
for(int i = 1;i<arr.length;i++){
if(min>arr[i]){
min = arr[i];
}
}
return min;
}
}
-----------------------------------------------------------------
*/


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值