递归
递归是一种思想,在参数小的时候才使用,参数大的时候用其他算法来代替
实例
package com.yang.scanner;
public class Demo06 {
public static void main(String[] args) {
System.out.println(f(5));
}
public static int f (int n){
if(n==1){
return 1;
}else{
return n*f(n-1);
}
}
}
结果
实例 :简易计算器
package com.yang.scanner;
import java.util.Scanner;
public class NumberAddDemo01 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("请输入第一个数字:");
int num1 = s.nextInt();
System.out.print("请输入运算符:");
String operator = s.next();
System.out.print("请输入第二个数字:");
int num2 = s.nextInt();
int result = 0;
switch (operator){
case "+":
System.out.println(result = num1 + num2);
break;
case "-":
System.out.println(result = num1 - num2);
break;
case "*":
System.out.println(result = num1 * num2);
break;
case "/":
System.out.println(result = num1 / num2);
break;
default:
System.out.println("你输入的数字不合法!!!");
}
}
}
数组
数组的声明和创建
实例
package com.yang.array;
public class ArrayDemo01 {
public static void main(String[] args) {
int[] nums;//1.声明一个数组
nums = new int[10];//2.创建一个数组
//另一种写法 int[] nums = new int[10];
//3.给数组变量赋值
nums [0] = 1;
nums [1] = 2;
nums [2] = 3;
nums [3] = 4;
nums [4] = 5;
nums [5] = 6;
nums [6] = 7;
nums [7] = 8;
nums [8] = 9;
nums [9] = 10;
System.out.println(nums[0]);
//求数组的和
int sum = 0;
for (int i = 0; i < nums.length; i++) {
sum = sum+nums[i];
}
System.out.println(sum);
}
}
结果
内存分析
三种初始化状态
实例
package com.yang.array;
public class ArrayDemo02 {
public static void main(String[] args) {
//静态初始化
int[] nums1 = {0,1,2,3,4,5,6};
System.out.println(nums1[2]);
//动态初始化:包含默认初始化,初始化值为0;
int[] nums2 = new int[10];
nums2[1] = 10;
nums2[2] = 10;
System.out.println(nums2[1]);
System.out.println(nums2[2]);
System.out.println(nums2[3]);
System.out.println(nums2[4]);
}
}
结果
数组的四个基本特点
数组的边界
数组的使用
实例反转数组
package com.yang.array;
public class ArrayDemo03 {
public static void main(String[] args) {
int[] Arrays = {1,2,3,4,5};
int[] reverse = reverse(Arrays);
printArrays(reverse);
}
//反转数组
public static int[] reverse (int[] arrays){
int[] result = new int[arrays.length];
for (int i = 0,j=result.length-1; i <arrays.length; i++,j--) {
result[j]=arrays[i];
}
return result;
}
public static void printArrays(int[] arryas){
for (int i = 0; i <arryas.length; i++) {
System.out.print(arryas[i]+" ");
}
}
}
结果
多维数组
数组嵌套数组
二维数组实例
package com.yang.array;
public class ArrayDemo04 {
public static void main(String[] args) {
int[][]arrays = {{1,2},{2,3},{3,4},{4,5}};
for (int i = 0; i < arrays.length; i++) {
for (int j = 0; j < arrays[i].length; j++) {
System.out.println(arrays[i][j]);
}
}
}
}
结果
Arrays类
实例
import java.util.Arrays;
public class ArrayDemo05 {
public static void main(String[] args) {
int[] arrays = {1,54613,5346,613456,14001,366};
//打印数组
System.out.println(Arrays.toString(arrays));
//数组排序
Arrays.sort(arrays);
System.out.println(Arrays.toString(arrays));
}
}