zoukankan      html  css  js  c++  java
  • 003 基础语法2

    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 }
    复制代码

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

      

    五、程序的执行过程

      

  • 相关阅读:
    Max_connect_errors – MySQL性能参数详解
    python qt
    Topo图
    ECSHOP报错误Deprecated: preg_replace(): The /e modifier is depr
    Socat
    Tomcat多次部署
    Android进程守护
    mysql将字符转换成数字
    Oracle sql查询
    ZOJ 题目2859 Matrix Searching(二维RMQ)
  • 原文地址:https://www.cnblogs.com/AgainstTheWind/p/9900686.html
Copyright © 2011-2022 走看看