目录
1.求数组中元素的平均值
给定一个整型数组
,
求平均值
代码示例
public class Main {
public static void main(String[] args) {
int[] arr = new int[]{1,2,3,4};
System.out.println(avg(arr));
}
//注意返回值类型
public static double avg(int[] arr){
int sum = 0;
for (int x:arr) {
sum += x;
}
return (double)sum/(double)arr.length;
}
}
2.找出数组中的最大值/最小值
打擂台方法:先定义0号元素为最大的,依次与后面元素相比;如果0号元素大或相等1号元素,则依次比后面2、3、4...元素,否则被1元素替换,再用1元素继续比较2、3、4.....元素。
public class Main {
public static void main(String[] args) {
int[] arr = new int[]{1,2,3,4,5};
System.out.println(max(arr));
}
public static int max(int[] arr){
int maxValue = arr[0];
for (int i=1;i<arr.length;i++){//从第1号元素开始比 遍历完整个数组
if (maxValue<arr[i]){
maxValue = arr[i];
}
}
return maxValue;
}
}
进阶: 将用户输入的六个数字填入数组并找出数组中最大值和最小值
一定要注意下标不能越界!
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] ary = new int[6];
Scanner scanner = new Scanner(System.in);
for (int i = 0; i <ary.length ; i++) {
ary[i]=scanner.nextInt();
}
int max = ary[0];
int min = ary[0];
for(int i=0;i<ary.length-1;i++){
if(max<ary[i+1]){
max = ary[i+1];
}//注意下标 i+1 的界限
if(min>ary[i+1]){
min = ary[i+1];
}
}
System.out.println(max+" "+min);
}
}
利用for-each搭配三目运算符简化代码:
max = min = ary[0];
//增强for
for (int i : ary) {
//三目运算(涉及运算符优先级)
max = max < i ? i : max;
min = min > i ? i : min;
}
3. 查找数组中指定元素(顺序查找)
给定一个数组,给出一个元素,找出该元素在数组中的位置
遍历数组:
public static void main(String[] args) {
int[] arr = {1,2,3,10,5,6};
System.out.println(find(arr, 10));
}
public static int find(int[] arr, int data) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == data) {
return i;
}
}
return -1; // 表示没有找到
}
// 执行结果
3
public class Main {
public static void main(String[] args) {
int[] arr = {1,2,3,4,10};
find(arr, 10);
}
public static void find(int[] arr, int data) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == data) {
System.out.println(i);
break;//找到后及时跳出循环,否则会继续向后找
}else if (i == arr.length-1)//当arr[i]不等于data且循环到最后一个时
System.out.println("元素不存在");
}
}
}
4.判断数组的有序性
有序数组:有序分为 "
升序
"
和
"
降序
"
如
1 2 3 4 ,
依次递增即为升序
.
如
4 3 2 1 ,
依次递减即为降序
给定一个数组,判断其是否是升序的
public class Main {
public static void main(String[] args) {
int[] arr = {1,6,3,5};
System.out.println(isSorted(arr));
}
public static boolean isSorted(int[] arr) {