java基础学习总结——基础语法2

一、语句

  

1.1. 条件语句

  1.1.1 if语句

  

  1.1.2 分支语句(switch语句)

  

  

      

1.2. 循环语句

  1.2.1 for循环语句

  

  学会画内存分析图分析别人写的程序,这样就很容易分析出规律,分析出规律也就明白了别人的算法,也就很容易读懂别人的程序。

在内存中分析result=1+2!……+10!的算法

  

  分析到i等于3以后,基本上已经得到规律了,这个程序要计算的就是:result = 1!+2!+3!……+10!。

  由此可以看出,懂得画内存去分析程序对读懂别人的程序是大有裨益的。以后读别人的程序的时候,觉得难读懂的时候就画内存分析。

  学习别人的算法的最好的途径是分析别人写的程序,分析的过程结合内存分析是最好的做法。

1.2.2 while循环和do while循环

  

1.2.3 break和continue语句

  

二、方法

  

  方法执行到return语句后,这个方法的执行就结束了,方法可以有返回值,但可以不用这个返回值。方法首先要定义,然后才能调用。

复制代码
 1 public class TestMethod{
 2     public static void main(String args[]){
 3         m();
 4         m1(3);
 5         m2(2,3);
 6         int i = m3(4,5);
 7         System.out.println(i);
 8     }
 9     //以下定义的都是静态方法,静态方法可以在main()方法里面直接调用
10     public static void m(){
11             System.out.println("Hello!");
12             System.out.println("孤傲苍狼");
13         }
14         
15     public static void m1(int i){
16             if(i==5){
17                     return;
18                 }
19             System.out.println(i);
20         }
21         
22     public static void m2(int i,int j){
23             System.out.println(i+j);
24         }
25         
26     public static int m3(int i,int j){
27             return i+j;
28         }
29 }
复制代码

三、变量的作用域

  变量的作用域只在“{  }”有效,出了这个“{  }”就没有作用了

四、递归调用

  递归:在一个方法内部对自身的调用就称为递归

  

 

  整个方法执行在内存中执行的过程如下图所示:

  

范例:使用递归计算第5个斐波那契数列数

复制代码
 1 /*计算第5个斐波那契数列数*/
 2 /*
 3 斐波那契数列特点:f(1)=1,f(2)=1,f(3)=f(1)+f(2),f(4)=(f2)+(f3)……依次类推。
 4 即后一个数都是等于前两个数的和,这样的数列就是斐波那契数列。
 5 */
 6 /*
 7 使用递归调用的方法计算
 8 */
 9 public class Fab{
10     public static void main(String args[]){
11         System.out.println(f(5));
12     }
13     
14     public static int f(int n){
15             if(n==1||n==2){
16                     return 1;
17                 }else{
18                         return f(n-1)+f(n-2);
19                     }
20         }
21 }
复制代码

  整个在内存中执行过程如下图所示

  

五、程序的执行过程

  

posted on   孤傲苍狼  阅读(15151)  评论(3编辑  收藏  举报

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示