首页 > 基础资料 博客日记
【JAVA干货店】带你玩转数组与递归
2024-10-01 04:00:06基础资料围观82次
Java资料网推荐【JAVA干货店】带你玩转数组与递归这篇文章给大家,欢迎收藏Java资料网享受知识的乐趣
🌈个人主页: Aileen_0v0
🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法
💫个人格言:“没有罗马,那就自己创造罗马~”
递归
自己调用自己
StackOverflowError:栈溢出错误,出现的原因可能是以下情况: (1)结束条件不对 (2)结束条件没有 |
public class X {
//求n的阶乘
public static int func(int n){
if(n == 1){
return 1;
}else{
return n * func(n-1);
}
}
public static void main(String[] args) {
System.out.println(func(5));
}
}
public class X {
// 通过递归打印每一位数
public static void fnum(int n){
if (n < 10) {
System.out.println(n);
return;
}else {
fnum(n / 10);
System.out.println( n % 10);
}
}
public static void main(String[] args) {
fnum(123);
}
}
利用递归求斐波那契数列
public class X {
public static int fib(int n) {
if (n == 1 || n == 2) {
return 1;
}
int m = fib(n - 1) + fib(n - 2);
return m;
}
public static void main(String[] args) {
System.out.println(fib(5));
}
}
利用递归求斐波那契数列的缺点 会进行大量的重复计算 ,使得计算速度变慢
利用迭代求斐波那契数列
public class X {
//通过循环方式求斐波那契数列,可避免出现冗余运算
public static int fib(int n){
if (n == 2 || n == 1 ){
return 1;
}
int m1 = 1;
int m2 = 1;
int cur = 0;
for(int i=3 ;i <= n; i++){
cur =m1 + m2;
m2 = m1;
m1 = cur;
}
return cur;
}
public static void main(String[] args) {
System.out.println(fib(10));
}
}
数组入门
数组是最简单的一种数据结构存放的都是相同数据类型
空间都连在一起
每个空间有自己的编号,起始位置从0开始.
创建数组的三种方式
public class X {
//直接把数据放进数组,无需初始化
//写法1:
int [] array = {1,2,3,4,5};
//写法2:
int [] array2 = new int[]{1,2,3,4,5};
//初始化一个含五个变量的空数组
int [] array3 = new int[5];
}
创建数组的注意事项
public class X {
public static void main(String[] args) {
//new这个关键字就是用来创建一个空数组
int[] array;
array = new int[]{1,2,3,4};
//中括号当中不能写数字,字符类型用单引号.
int[] array1 = {1,2,3,4,5};
char[] chars1 = {'a','b'};
//布尔类型默认值为false
boolean[] array2 = new boolean[10];
System.out.println(array2[9]);
//引用数据类型的默认值为null
String[] array3 = new String[10];
System.out.println("Aileen");
}
public class X {
//局部变量使用时要进行初始化,否则会报错
int[] array4;
System.out.println(array4);
}
文章来源:https://blog.csdn.net/Aileenvov/article/details/137177860
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签: