java入门基础,循环、函数、重载篇。

来源:互联网 发布:unity3d房卡麻将源码 编辑:程序博客网 时间:2024/05/23 02:21

while 循环和for 循环和函数方法 。这些基础性的东西,必须要牢牢的掌握。要闭上眼也能写出来。有些东西必须得去背,去记,要灵活运用。

对于一些基础性的东西要从做题中学习。才能看到效果。遇到问题解决问题。不断进步。

 

,获取1~10的和,输出。

 

class ForTest2

{

       publicstatic void main(String[] args)

       {

 

              int sum = 0;    //定义变量用于存储不断变化的和。

              int x = 1;       //定义变量,记录住不断变化的被加的数。

              while(x<=10)      //定义循环,重复加法的过程。

              {

                     sum= sum + x;

                     x++;

              }

System.out.println("sum="+sum);   //要写在循环外面

              注:

              一定要明确哪些语句需要参与循环,哪些不需要。

             

//-------------------------------------------------------------------------------

              //用for来体现。

             

int sum = 0;

              for(int x=0; x<=10; x++)

              {

                     sum+= x;

              }

              System.out.println("for sum ="+sum);

       }

}


----------------------------------------------------------------------------      


2,1~100之间 7的倍数的个数。并打印。

思路:

1,先对1~100用循环语句,选择for语句。进行循环(遍历)通过循环的形式。

2,在遍历的过程中,定义条件。只对7的倍数进行操作,只要是7的倍数即可。使用if语句。条件:7的倍数 x%7==0;。

3,因为7的倍数不确定,定义变量,该变量随着7的倍数的出现而自增。

 

class ForTest3

{

       publicstatic void main(String[] args)

       {

              int count = 0;

              for(int x=1; x<=100; x++)

              {                  

                     if(x%7==0)

                            //System.out.println("x="+x);

                            count++;

              }

              System.out.println("count="+count);

       }

}

 

--------------------------------------------------------------------------------------

 

小例题:3000米长的绳子,每天减一半。问多少天这个绳子会小于5米?不考虑小数。

 

class ForTest4

{

       publicstatic void main(String[] args)

       {

              int day = 0;

              for(int x=3000; x>=5; x/=2)

              {

                     day++;

              }

              System.out.println("day="+day);

       }

}

-----------------------------------------------------------------------------------

 

 

III:观察以下代码:

 

//定义一个功能进行调用,以免代码重复。

 

//发现以下的运算,出现了重复。

//为了提高代码的复用性。对代码进行抽取。

//将这个部分定义成一个独立的功能。

//java中对功能的定义是通过函数的形式来体现的。

 

class FunctionDemo

{

       publicstatic void main(String[] args)

       {

              /*

int x = 4;

              System.out.println(x*3+5);

 

              x = 6;

              System.out.println(x*3+5);

             

              int y = 4*3+5;

              int z = 6*3+5;

              int x = getResult(4);

              System.out.println("x="+x);

              int y = getResult(6);

*/

 

//调用:

              getResult(5);

 

       }

 

       //定义功能,完成一个整数的*3+5的运算,

 

       //函数格式。

 

       修饰符 返回值类型 函数名(类型形参1,类型形参2,)

       {

                     执行语句;

                     return返回值;

       }

      

       //当函数运算后,没有具体的返回值时,这是返回值类型用一个特殊的关键字来标识。

       //该关键字就是void。void:代表的是函数没有具体返回值的情况。

       //当函数的返回值类型是void时,函数中的return语句可以省略不写。

      

       publicstatic void getResult(int num)

       {

              System.out.println(num * 3 + 5);

              return;              //可以省略

       }

}

 

----------------------------------------------------------------------------------------

      

       如何定义一个函数?

       1,明确函数的返回值类型。

       2,明确函数的参数列表(参数的类型和参数的个数)。

 

       //定义一个功能。完成3+4的运算。并将结果返回给调用者。

      

       publicstatic int getSum()

       {

              return 3+4;

       }

      

       以上这个函数的功能,结果是固定的,毫无扩展性。

       要由用户来指定加数和被加数。这样,功能才有意义。

      

       publicstatic int getSum(int x,int y)

       {

              return x+y;

       }

      

//两个数是否相同。

      

       publicstatic boolean compare(int a,int b)

       {

              return a==b;

       }

 

       ------------------------------------------

      

 

 

//比较大小,获取最大值。

 

       publicstatic int getMax(int a,int b)

       {

              return (a>b)?a:b;

       }

}

 

------------------------------------------------------------------------------

 

什么时候用重载?

当定义的功能相同,但参与运算的未知内容不同时,就定义一个函数名称以表示起功能,而通过参数列表的不同来区分多个同名函数。

 

class FunctionOverload {

       publicstatic void main(String[] args) {

              print99();

       }

       publicstatic void print99(int num){

             

for(int x=1; x<=num; x++){

                     for(inty=1; y<=x; y++){

                            System.out.print(y+"*"+x+"="+y*x+"\t");

                     }

                     System.out.println();

              }

       }

 

       //打印99乘法表

       publicstatic void print99(){

              print99(9);

       }

--------------------------------------------------

class FunctionTest{

       publicstatic void main(String[] args) {

print99();

       }

 

       /*

       定义一个打印99乘法表功能的函数。

       */

       publicstatic void print99(){

              for(int x=1; x<=9; x++){

                     for(inty=1; y<=x; y++) {

                            System.out.print(y+"*"+x+"="+y*x+"\t");

                     }

                     System.out.println();

              }

       }

 

--------------------------------------------------

       //定义一个加法运算,获取两个整数的和。

       publicstatic int add(int x,int y){

              return x+y;

       }

//------------------------------------------

       //定义一个加法,获取三个整数的和。

       publicstatic int add(int x,int y,int z){

              return add(x,y)+z;

       }

 

 

--------------------------------------------------------------------------------------------

判断是否重载:

void show(int a,char b,double c){}

 

a.

void show(int x,char y,double z){}//没有,因为和原函数一样。

 

b.

int show(int a,double c,char b){}//重载,因为参数类型不同。注意:重载和返回值类型没关系。

c.

 

void show(int a,double c,char b){}//重载,因为参数类型不同。注意:重载和返回值类型没关系。

 

d.

boolean show(int c,char b){}//重载了,因为参数个数不同。

 

e.

void show(double c){}//重载了,因为参数个数不同。

 

f.

double show(int x,char y,double z){}//没有,这个函数不可以和给定函数同时存在与一个类中。

 

 

------------------------------------------------------------------------------------

 

Continue 和 break的作用

 

class OtherDemo

{

       publicstatic void main(String[] args)

       {

              w:for(int x=0; x<3; x++)

              {

                     for(inty=0; y<4; y++)

                     {

                            System.out.println("x="+x);

                            break w;

                     }                         

              }

 

              //continue:只能作用于循环结构。继续循环。

//特点:结束本次循环,继续下一次循环。

 

              for(int x=1; x<=10; x++)

              {

                     if(x%2==1)

                            continue;

                     System.out.println("x="+x);

                    

              }

 

              w:for(int x=0; x<3; x++)

              {

                     for(inty=0; y<4; y++)

                     {

                            System.out.println("x="+x);

                            continue w;

                     }                         

              }

 

       }

}

 

-----------------------------------------------------------------------------------

 /*

//无限循环的最简单表现形式

For( ; ; ){}

 

While(true){}

*/

 

原创粉丝点击