JAVA基础复习笔记--day3

基础知识

1,while和do while区别

        while:先判断条件,只有条件满足才执行循环体。
        do while: 先执行循环体,在判断条件,条件满足,再继续执行循环体。
        简单一句话:do while:无论条件是否满足,循环体至少执行一次。

例:

        int x = 1;
        while(x<3)
        {
            System.out.println("x="+x);
            x++;
        }
        
        do
        {
            System.out.println("do : x="+x);
            x++;
        }
        while (x<3);

打印结果:

x=1
x=2
do : x=3

2,For语句

结构:

        for(初始化表达式;循环条件表达式;循环后的操作表达式)
        {
            执行语句;
        }

特点及使用注意事项:

        a,变量有自己的作用域。对于for来讲:如果将用于控制循环的增量定义在for语句中。
        那么该变量只在for语句内有效。
        for语句执行完毕。该变量在内存中被释放。

        b,for和while可以进行互换。如果需要定义循环增量。用for更为合适。

        c,当要对某些语句执行很多次时,就使用循环结构。

对For循环的应用:

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

class  ForTest4
{
    public static void main(String[] args) 
    {
        int day = 0;
        for(int x=3000; x>=5; x/=2)
        {
            day++;
        }
        System.out.println("day="+day);

    }
}


 

B.
        九九乘法表
        1*1=1
        1*2=2 2*2=4
        1*3=3 2*3=6 3*3=9
 

        for (int x=1; x<=9 ; x++)
        {
            for (int y=1; y<=x; y++)
            {
                System.out.print(y+"*"+x+"="+y*x+"\t");
            }
            System.out.println();
        }

C.
        打印以下图形
        *
        **
        ***
        ****
        *****
        
        不是规律的规律:
        尖朝上,可以改变条件。让条件随着外循环变化。
        尖朝下,可以初始化值,让初始化随着外循环变化。    
       

        for (int x=0; x<5 ;x++ )
        {
            for (int y=0 ; y<=x ; y++ )
            {
                System.out.print("*");
            }
            System.out.println();
        }

3,break和continue的区别

例:

A.    break:

public class TestDemo {
	public static void main(String[] args)
	{
		//break:
		w:for(int x=0; x<3; x++)
		{
			for(int y=0; y<4; y++)
			{
				System.out.println("x="+x);
				break w;
			}				
		}
	}

}


 

打印结果:x=0

B.//continue:只能作用于循环结构。继续循环。特点:结束本次循环,继续下一次循环。
      

public class TestDemo {
	public static void main(String[] args)
	{
		//continue:只能作用于循环结构。继续循环。特点:结束本次循环,继续下一次循环。
		for(int x=1; x<=10; x++)
		{
			if(x%2==1)
				continue;
			System.out.println("x="+x);
			
		}
		System.out.println("-------");

		w:for(int x=0; x<3; x++)
		{
			for(int y=0; y<4; y++)
			{
				System.out.println("x="+x);
				continue w;
			}				
		}
	}

}

打印结果:x=2
x=4
x=6
x=8
x=10
-------
x=0
x=1
x=2

4,函数既是对程序中重复代码的抽取封装。

    如何定义一个函数呢?
    1,既然函数是一个独立的功能,那么该功能的运算结果是什么先明确
        因为这是在明确函数的返回值类型。
    2,在明确在定义该功能的过程中是否需要未知的内容参与运算。
        因为是

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

 例:功能函数

需求:定义一个功能。完成3+4的运算。并将结果返回给调用者。
    思路:
    1,功能结果是一个和。返回值类型是int。
    2,有未知内容参与运算。有两个。这个两个未知内容的类型都是int。
    */

    public static int getSum(int x,int y)
    {
        return x+y;
    }

    /*
    需求:判断两个数是否相同。
    思路:
    1,明确功能的结果:结果是:boolean 。
    2,功能是否有未知内容参与运算。有,两个整数。
    */

 public static boolean compare(int a,int b)
    {
        return a==b;
    }

    /*
    需求:定义功能,对两个数进行比较。获取较大的数。
    */

  public static int getMax(int a,int b)
    {

        return (a>b)?a:b;
    }

 5,函数的重载

什么时候用重载?
当定义的功能相同,但参与运算的未知内容不同。
那么,这时就定义一个函数名称以表示其功能,方便阅读,而通过参数列表的不同来区分多个同名函数。
 

 例:

class FunctionOverload 
{
	public static void main(String[] args) 
	{

//		add(4,5);
//		add(4,5,6);
		print99();

	}
	public static void print99(int num)
	{
		for(int x=1; x<=num; x++)
		{
			for(int y=1; y<=x; y++)
			{
				System.out.print(y+"*"+x+"="+y*x+"\t");
			}
			System.out.println();
		}
	}

	//打印99乘法表
	public static void print99()
	{
		print99(9);
	}

	//定义一个加法运算,获取两个整数的和。
	public static int add(int x,int y)
	{
		return x+y;
	}

	//定义一个加法,获取三个整数的和。
	public static 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){}//没有,这个函数不可以和给定函数同时存在与一个类中。

 7.数组的定义

//元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
		//需求:想定义一个可以存储3个整数的容器。
		int[] x = new int[3];

		//打印数组中角标为0的元素的值。
		System.out.println(x[1]);

 

猜你喜欢

转载自blog.csdn.net/weixin_39506636/article/details/81633100