一道简单练习题,对编号进行随机排名
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void rand(int[] a,int n){
Random r=new Random();
for (int i=0;i<n;i++){
int rr=r.nextInt(n);
int temp=a[i];
a[i]=a[rr];
a[rr]=temp;
}
}
public static void main(String[] args) {
int[] arr=new int[10];
System.out.println("请输入员工编号:");
Scanner sc=new Scanner(System.in);
for (int i=0;i<10;i++){
arr[i]=sc.nextInt();
}
rand(arr,10);
for (int i=0;i<10;i++){
System.out.println(arr[i]);
}
}
}
在Java中,数组传递是按引用传递,所做的修改会直接反应到原数组上
运行结果
Debug调试
idea中,可以直接点击行数所在添加断点
点击向下的箭头,表示运行下一行代码
然后就会显示每一行运行的结果
面向对象
面向对象编程,是一种程序设计的方法论,重点是数据(对象)与对象之间的交互
核心概念包括以下几个方面:
类与对象:类是对象的模板和蓝图,定义对象属性(变量)和方法。对象是类的实例
封装:指将数据和操作封装在一个单元中
继承:一种机制,允许一个类继承另一个父类的属性和方法。子类可以重用父类的代码,可以根据需要拓展或修改父类的行为
多态:指对象可以以多种形态存在的能力,允许不同类对象对同一消息做出不同响应
this关键字
在Java中,如果定义了一个成员变量(即全局变量)和局部变量,由于就近原则,函数进行操作时采用的会是距离它最近的量。如果要调用成员变量,需要在变量之前加this.
public class Main {
private int age; // 成员变量,默认为0
public void test() {
int age = 10; // 局部变量
System.out.println(age);
System.out.println(this.age);
}
public static void main(String[] args) {
Main main = new Main(); // 创建 Main 类的实例
main.test(); // 调用test方法
}
}
结果: