1、递归
递归就是函数自己调用自己
// 计算1到数字n的和
public static int sum(int n){
if (n == 1){
return 1;
}
return sum(n-1)+n;//递归调用
}
2、数组
数组就是可以存储多个数据的容器
数组中只能存储同一种数据类型
3、实现输入的值存到数组中
public class Demo4 {
public static void main(String[] args) {
int[] arr = new int[5];//定义数组大小为5
//通过for循环完成来连续输入
for (int i = 1;i <=5;i++){
Scanner sc = new Scanner(System.in);
System.out.println("请输入第"+i+"个值:");
arr[i-1] = sc.nextInt();
}
//增强for循环,打印数组
for (int i : arr) {
System.out.println(i);
}
}
}
4、求数组中的每一个合数
public class Demo5 {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5,6};
for (int i = 0;i < 6;i++){
for (int j = 2;j<arr[i]-1;j++){
if (arr[i]%j == 0)
System.out.println("这是一个合数"+arr[i]);
break;
}
}
}
}
5、求数组中的每一个质数
public class Demo5 {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6};
for (int i = 0; i < 6; i++) {
boolean a = true;
for (int j = 2; j < arr[i] - 1; j++) {
if (arr[i] % j == 0) {
a = false;
break;
}
}
if (a) {
System.out.println("这是一个质数:" + arr[i]);
}
}
}
}
6、求数组中最大值
public class Demo6 {
public static void main(String[] args) {
int[] arr = {2,3,5,6,7};
int max = arr[0];
for (int i = 0;i < 5;i++){
if (max < arr[i]){
max = arr[i];
}
}
System.out.println(max);
}
}
7、基础数据类型传递和引用传递的区别
基础数据类型在作为参数传递给函数的时候,相当于把这个原有容器中的值复制了一份作为参数传递给函数
引用数据类型作为参数传递给函数时,传递的是一个引用地址值。同一个地址值对应的数据空间是一样的。