目录
一、数组常见算法
1.数组翻转
java
public class Demo02Reverse {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7};
for (int min = 0, max = arr.length - 1; min < max; max--, min++) {
int temp;
temp = arr[min];
arr[min] = arr[max];
arr[max] = temp;
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
2.冒泡排序
java
public class Demo03Bubble {
public static void main(String[] args) {
int[] arr = {4, 6, 2, 7, 3, 9, 1};
for (int j = 0; j < arr.length; j++) {
for (int i = 0; i < arr.length - 1 - j; i++) {
if (arr[i] > arr[i + 1]) {
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
}
3.二分查找
java
public class Demo04Binary {
public static void main(String[] args) {
int[] arr = {1, 4, 6, 8, 9};
int data = 8;
int index = binary(arr, data);
System.out.println(index);
}
public static int binary(int[] arr, int data) {
int min = 0;
int max = arr.length - 1;
int mid = 0;
while (min <= max) {
mid = (min + max) / 2;
if (data < arr[mid]) {
max = mid - 1;
} else if (data > arr[mid]) {
min = mid + 1;
} else {
return mid;
}
}
return -1;
}
}
二、对象数组
1.基本使用
Person类
java
public class Person {
private int age;
private String name;
public Person() {
}
public Person(int age, String name) {
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
测试类
java
public class Demo05ObjectArray {
public static void main(String[] args) {
Person[] arr = new Person[3];
Person p1 = new Person(18, "james");
Person p2 = new Person(20, "lily");
Person p3 = new Person(22, "Kiven");
arr[0] = p1;
arr[1] = p2;
arr[2] = p3;
for (int i = 0; i < arr.length; i++) {
Person p = arr[i];
System.out.println(arr[i].getName() + "..." + arr[i].getAge());
}
}
}
输出结果
三、方法参数
1.基本数据类型和引用类型
基本数据类型(四类八种)
|-----|---------------------|
| 整型 | byte short int long |
| 浮点型 | float double |
| 字符型 | char |
| 布尔型 | boolean |
引用类型:除了上述8中的其他类型
2.基本数据类型做方法参数传递
传递的是值,不是变量本身
方法运行:压栈
方法运行完毕:弹栈 -> 释放栈内存
3.引用数据类型做参数传递
传递的是地址值
四、命令行参数
通过命令行给main方法的形参传递的参数成为命令行参数
java
public class Demo01Param {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println("第"+(i+1)+"个参数的值是:"+args[i]);
}
}
}
五、其他操作
1.快速生成方法
alt+回车
2.快速抽代码到方法
选中 -> ctrl+alt+m
3.debug调试
找错 / 清楚看到变量的变化
点击截至行数 -> 右键debug运行