Java基础(9)- Java代码笔记6

目录

一、数组常见算法

1.数组翻转

2.冒泡排序

3.二分查找

二、对象数组

1.基本使用

三、方法参数

1.基本数据类型和引用类型

2.基本数据类型做方法参数传递

3.引用数据类型做参数传递

四、命令行参数

五、其他操作

1.快速生成方法

2.快速抽代码到方法

3.debug调试


一、数组常见算法

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运行

相关推荐
乘~风几秒前
408考研-计组-1.2计算机系统层次结构笔记+1.3计算机性能指标
笔记·考研·408
星间都市山脉5 分钟前
Android STS(Security Test Suite)完整介绍与测试流程
android·java·linux·windows·ubuntu·android studio·androidx
.千余11 分钟前
【C++】C++继承入门(下):友元、静态成员与菱形继承的底层逻辑
开发语言·c++·笔记·学习·其他
namexingyun18 分钟前
拆解Fable 5三重安全护栏:模型路由、蒸馏防护与生物安全分类器的技术原理 - 微元算力(weytoken)
java·人工智能·python·安全·架构·ai编程
地铁潜行者28 分钟前
加了幂等表,为什么消息重试反而不执行了?聊聊 MQ 消费幂等的边界
java·后端
退休倒计时36 分钟前
【每日一题】LeetCode 142. 环形链表 II TypeScript
算法·leetcode·链表·typescript
popcorn_min1 小时前
Digits 手写数字识别:随机森林多分类 + 像素级特征热力图
算法·随机森林·分类
摇滚侠1 小时前
SpringMVC 入门到实战 视图解析器 44-48
java·spring·maven·intellij-idea
記億揺晃着的那天1 小时前
告别误操作!Spring Boot 多环境配置隔离与启动守卫实战
java·spring boot·后端·环境隔离
我是唐青枫1 小时前
Java Spring Data JPA 实战指南:Repository 查询、分页与实体映射
java·开发语言