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

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

      

    五、程序的执行过程

      

  • 相关阅读:
    LeetCode Merge Two Sorted Lists 归并排序
    LeetCode Add Binary 两个二进制数相加
    LeetCode Climbing Stairs 爬楼梯
    034 Search for a Range 搜索范围
    033 Search in Rotated Sorted Array 搜索旋转排序数组
    032 Longest Valid Parentheses 最长有效括号
    031 Next Permutation 下一个排列
    030 Substring with Concatenation of All Words 与所有单词相关联的字串
    029 Divide Two Integers 两数相除
    028 Implement strStr() 实现 strStr()
  • 原文地址:https://www.cnblogs.com/AgainstTheWind/p/9900686.html
Copyright © 2011-2022 走看看