- 定义一个函数,函数功能是动态提取int[]中元素的最大值。
public static void main(String[] args){ System.out.println(getMax(new int[0])); int[] arr = new int[]{3,2,11,5}; System.out.println("Arr最大值为:" + getMax(arr)); } public static int getMax(int[] arr){ int temp = Integer.MIN_VALUE; if (arr == null || arr.length == 0) { System.out.print("[值错误]"); return -1; } for (int i = 0;i < arr.length ;i++ ) { if (temp < arr[i]) { temp = arr[i]; } } return temp; }
2.定义一个函数,从数组中查询指定的元素首次出现的位置。
public static void main(String[] args){ int[] arr = new int[]{1,2,3,4,5,6,0,10}; int index = searchArray(0, arr); } public static int searchArray(int num,int[] arr){ if (arr == null) { System.out.println("arr值不能为null"); return -1; } int index = -1; for (int i = 0;i < arr.length ;i++ ) { if (arr[i] == num) { index = i; System.out.println("Number:" + num + ",存在位置为:" + index); return i; } } System.out.println("Can‘t Search Number:" + num); return -1 ; }
3.定义函数,完成冒泡排序,大数下沉。
public static void main(String[] args){ int[] arr = sort(new int[]{-1,-22,0,-3,1,-33}); out(arr); } public static int[] sort(int[] arr){ int temp = 0; for (int i = 0;i < arr.length ;i++ ) { for (int j = i + 1; j < arr.length ;j++ ) { if (arr[i] > arr[j]) { temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } } } return arr; } public static void out(int[] arr){ for (int i = 0;i < arr.length ;i++ ) { System.out.print(arr[i] + "\t"); } System.out.println(); }
4.折半查找。
class Test { public static void main(String[] args) { int[] arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 }; int a = 0,b = arr.length - 1,m = 0; int x = 2; while (a <= b){ m = (a + b) / 2; if (arr[m] == x){ System.out.println("Index is:" + m); break; }else if (x < arr[m]) { b = m - 1; }else { b = m + 1; } } } }
5.定义一个函数,实现矩阵的转置.arr[i][j] == arr[j][i];//前提条件是正方的。
public static void main(String[] args) { int arr[][] = {{1,2,3},{4,5,6},{7,8,9}}; //out(arr); System.out.println("------------------------"); arr = trans(arr); out(arr); } public static int[][] trans(int[][] arr){ for (int i = 0;i < arr.length - 1 ;i ++ ) { for (int j = i + 1; j < arr.length ;j ++ ) { int temp = arr[i][j]; arr[i][j] = arr[j][i]; arr[j][i] = temp; } } return arr; } public static void out(int[][] arr){ for (int i = 0;i < arr.length;i++) { for (int j = 0;j < arr.length ;j ++ ) { System.out.print(arr[i][j] + "\t"); } System.out.println(); } }
6.遍历三维组数,横向输出三维数组的每一个层。
这题参考老师的答案还是没看明白...
public static void main(String[] args) { int[][][] arr = { { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }, { { 10, 11, 12 }, { 13, 14, 15 }, { 16, 17, 18 } }, { { 19, 20, 21 }, { 22, 23, 24 }, { 25, 26, 27 } } }; outHor(arr); } public static void outHor(int[][][] arr){ for (int i = 0; i < arr.length ;i++ ) { for (int j = 0 ; j < arr.length; j++ ) { for (int k = 0;k < arr[j][i].length ;k++ ) { System.out.print(arr[j][i][k] + "\t"); } System.out.print("| " ); } System.out.println(); } }
7.定义一个类:Dog 有名称 color age cry();
public static void main(String[] args) { Dog d = new Dog("yellow",100); System.out.println("Color:" + d.getColor() + " Age:" + d.getAge()); } } class Dog { private String color; private int age; public Dog(String color,int age){ this.color = color; this.age = age; } public void setColor(String color){ this.color = color; } public String getColor(){ return color; } public void setAge(int age){ this.age = age; } public int getAge(){ return age; } public void cry(){ System.out.println("汪汪~ ~ ~"); }
9.阐述出来堆区,栈区,何时出现溢出,如何解决。
答:
堆区:存储对象和成员变量。
栈区:存储局部变量和方法存数。
溢出:占用内存资源较大的对象,或者递归时溢出。
解决方法:
Java -Xms;
10.oop
面相对象:和面向过程一样是一种编程方法。
类:对象的抽象化。
对象:类的实例化。
实例:=对象
成员变量:对象的属性变量。
成员函数:对象的方法。
public:公共的修饰符,提供各类调用。
private:私有的修饰符,提高安全性,只允许在本类中调用。可以通过set,get方法改变其属性。用于封装。
构造函数:构造一个初始化对象。没有返回值。
this:是对象的成员变量,用于类中的方法引用和属性引用。
static:静态的,修饰成员变量,成员函数。,类也可以引用静态成员,静态方法只能访问静态成员.
时间: 2024-11-07 17:47:13