首先:java的重点和难点,命名和缓存

  这次咱们的内容主要用到:

    命名规则:大小写字母,下划线,美元符号$,数字,且数字不能打头

    变量的声明:数据类型划分内存空间,命名,赋值

    方法的声明:修饰符列表,返回值,方法名,形参列表,方法体

  示例:

    1, 如果让你计算1~100的奇数和,偶数和,还有1~100的和;

    2, 还有1~N的和

    3, 九九乘法表

第一题,1~100的奇数和,偶数和,和

先用for循环写一个

  for循环,for循环的运行规则,for(表达式1,表达式2,表达式3),先执行表达式1,并且只执行一次,表达式2进行判断,如果正确,就接着运行下面的程序,运行完成后,循环到表达式3,然后再判断表达式2,一直到表达式2判断错误,就会终止循环的运行
            循环三要素:初始值(表达式1),终止条件(表达式2),步长(表达式3),表达式2必须为boolean类型

  public class For_Ji_Ou{              //用public声明一个类,并且每个java文件中可以有多个public,但是只能有一个用public修饰的类,这个类的类名必须和文件名一致
    public static void main(String[] args){    //main方法,可以说是所有程序都在main方法里执行的
        int ji = 0;        //用int数据类型,开辟个int长度大小的空间,并给这个空间起个名字叫ji,并给它赋值为0;
        int ou = 0;        //用int数据类型,开辟个int长度大小的空间,并给这个空间起个名字叫ou,并给它赋值为0;
        int sum = 0;        //用int数据类型,开辟个int长度大小的空间,并给这个空间起个名字叫sum,并给它赋值为0;
        for(int i=0; i <=100 ; i+=2){      //for循环,初始值为0,终止条件为=100,步长为2
            ou += i;      // ou是咱们已经声明好的一个变量, 让ou += i  首先+=是吧左右两个 数值相加,再把相加的值赋值给左面,大家已经知道什么意思了吧,就是每次循环出来的i都和ou相加,
        }
        System.out.println( "1-100的偶数和为: "+ou );    //输出  
        for(int i=1; i <=100 ; i+=2){      //初始值为1
            ji += i;
        }
        System.out.println( "1-100的奇数和为: "+ji );
        for(int i=0; i <=100 ; ++i){      //初始值为1,步长也为1
            sum += i;
        }
        System.out.println( "1-100的和为: "+sum );
    }
}
用if写

  if()  {   如果判断正确,就执行下面语句

    java语句

}else{  否则就执行下面语句

    java语句

}

public class If{
    public static void main(String[] args){
        int j = 0;    //跟上面for循环一样一样
        int o = 0;
        for(int i=0; i <=100 ; ++i){    //初始值为0,步长为1
            
        
        if (i % 2 == 1) {   //这里我们是算余数,如果除2余数为1,那就肯定是奇数了  对不对  我让奇数  执行下面语句
            j+=i;   // 每次都和i相加 再把值赋值给j
        }else{    //  余数不等于1   也就是偶数了  就执行下面语句
            o+=i;  // 每次都和i相加 再把值赋值给o
        }
    }
            System.out.println( "1-100的奇数和"+j );  //输出
            System.out.println( "1-100的偶数和"+o );  //输出
  }
}

第二题 用递归写一个1~N的和  

  首先什么是递归函数,就是跟for一样,是循环,函数的循环, 

什么是递归调用,就是函数自己调用自己

但是函数  不调用不执行,调用才执行,并且吧值返回到调用处

递归和循环都一样,有共同的三要素 :  初始值, 终止条件, 步长

 

public class Di_Gui{                //入口,public修饰的类
    public static void main(String[] args){     //main方法
        int s = 100;        //int数据类型声明变量 s   并赋值为100
        int q = a.m1(s);       //int数据类型声明q  并赋值  赋的值是一个函数的调用,首先先把函数运算完了,才能赋值吧,赋值完成后,才能进行下一步指令吧  因为java的运行时从上到下,从左往右执行的
        System.out.println( q );    //输出p
    }
}
class a {          //创建一个class类文件  为a
    public static int m1(int n){      // 创建一个m1方法,并且用 static修饰,所以这个方法是静态方法,静态方法的调用 : 类名.方法名();  如果在一个作用域就可以: 方法名();
        if (n==1) {       //如果n==1   就执行下面语句
            return 1;       //return  返回值,  返回值为1  就是如果运行到这一步,就把值赋值给m1,在终止整个函数
        }else{       //n不等于1的时候,就执行下面语句
            return n+m1(n-1);      //这是重点   返回值里面是个函数,我想返回值,得先把函数运行出来吧,而且这个函数,我传的实参是n-1,  而不是n了  这样不管n是多少,早晚有n到1的时候
        }
            
    }
}

    return  n+m1(n-1);    运算大概顺序,看下面  
/*
   
    10+m1(9)+9+m1(8)+.....+m1(1)

    假如上面s等于10的时候.是不是就等于m1(10);
    m1(10);当m1(10)时,值为= 10+m1(9)    最后再看后面的   =  10+9+8+7+6+5+4+3+2+1;                m1(9);当m1(9 )时,值为=  9 +m1(8)    最后再看后面的   =  9+8+7+6+5+4+3+2+1;
    m1(8) 当m1(8 )时,值为=  8 +m1(7)    最后再看后面的   =8+7+6+5+4+3+2+1;  
    m1(7) 当m1(7 )时,值为=  7 +m1(6)    最后再看后面的   =7+6+5+4+3+2+1;
    m1(6) 当m1(6 )时,值为=  6 +m1(5)    最后再看后面的   =6+5+4+3+2+1;
    m1(5) 当m1(5 )时,值为=  5 +m1(4)    最后再看后面的  =5+4+3+2+1;  
    m1(4) 当m1(4 )时,值为=  4 +m1(3)    最后再看后面的   =4+3+2+1;
    m1(3) 当m1(3 )时,值为=  3 +m1(2)    最后再看后面的   =3+2+1;
    m1(2) 当m1(2 )时,值为=  2 +m1(1)    最后再看后面的   =2+1;  
    m1(1) 当m1(1 )时,值为=  1   (因为当n=1是,返回值return 返回的是1  所以这里终止函数的运行,并把1 返回给m1)    
    */

第三题:九九乘法表

循环三要素 :  初始值, 终止条件, 步长

 

/*
    使用嵌套的for循环打印九九乘法表
        
        1*1=1
        2*1=2 2*2=4
        .......
        9*1=9...............9*9=81

        行数和最大格子数相等
        
*/

public class For_Cheng_Fa_Biao{      //public修饰的类,并且只能有一个,不用说了吧
    public static void main(String[] args){   //main方法
        for(int i=1; i <=9 ; ++i){    //循环,  记住,循环没循环一遍,都会把里面的值全部运行完,才算循环了一遍,所以我这嵌套循环,每次外面那个循环循环一次,里面那个循环都会循环完;
            for(int j=1; j <= i ; ++j){    //终止条件,不能大于i
                System.out.print( j + "*" + i + "=" + (i*j) + " " );     //输出,结果为j*i=(j*i)  字符串里面的东西是直接输出的,并且字符串和值的连接符是 +
            }
            System.out.println(  );  //输出一个换行,不加的话,就会在一排过去,影响美观
        }
    }
}

 

行了 ,写完了,大家好好理解一下,递归函数那个返回值哪里,多理解一下,有哪里写的不好的,不对的,请多多指点一下

 

                                                      

                                                        绅士ゝ图图.