JAVA开发之旅(五)###基础语法(3)###

###基础语法(3)###

1. 循环语句:for    /   while   /   do...while

   1)for循环

        格式:for(循环变量初始化;循环变量条件;循环不变量变化){

                 循环操作

                 }

        执行过程:

        <1>执行循环变量初始化部分,设置循环初始化状态,此部分在循环中只执行一次

        <2>进行循环条件判断,若为true则执行循环内代码,false直接退出循环

        <3>执行循环变量变化部分,改变循环变量得值,以便进行下一次条件判断

        <4>依次执行循环,一直到条件达到语句不成立时即false,退出循环

        (注:有大括号的地方不需要加分号,有分号的地方不需要加大括号)

例题:求和,求出1~100的总和



2)while循环

     格式: while(判断条件){

               循环操作

               }

     执行过程:

        <1>判断while后面条件是否成立

        <2>成立时,执行循环内操作直至条件不成立停止

   例题:连续依次输入1-5



  3)do...while 循环

       格式:do{

                 循环操作

                 }while(判断条件)

        执行过程:

        <1>先执行一遍循环操作,然后判断循环条件是否成立

        <2>如果成立继续执行直至不成立时结束循环

   例题:计算50以内的偶数和



   4)循环的嵌套

        例题:打出9X9乘法表


    ps:continue:停止当前循环进入下一次循环   、  break:结束循环


2. 数组:数组可以理解为一个巨大的盒子,里面可以按顺序存放多个类型相同的数据。

   如下图

   

   其中元素都可以通过下标来访问

   数组的下标从0开始  即这里 score[0] = 76  . . . . . . score[3] = 87

   数组的初始化:

        1)动态初始化:指定数组长度,由系统给数组中的元素赋值

(这里格式为:数据类型[ ] 数组名称 = new 数组类型 [ 指定长度 ] )

    2)静态初始化:指定数组中的元素的值,由系统给数组指定长度

                     处理数组中的数据:我们可以对赋值后的数组进行操作和处理

                     我们可以直接创建数组方式,它将声明数组、分配空间和赋值合并完成

                     如:int[ ] sc = new int[ ]{5,15,25,35,48,55,38}

                     数组:length属性:获取数组长度

  例:录入一组数据,并且输出该数组



3. 方法:方法就是用来解决一类问题的代码的有序组合,即为一个功能模块

   语法:访问修饰符  返回值类型 方法名(参数列表){

             方法体

             }

   1) 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴

   2)返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值

   3)方法名:定义的方法的名字,必须使用合法的标识符

   4)参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开 

   根据方法是否带参、是否带返回值,可将方法分为四类:

   Ø 无参无返回值方法

   Ø 无参带返回值方法

   Ø 带参无返回值方法

   Ø 带参带返回值方法

   调用方法:
  1)单独调用:没有具体结果
  2)输出调用:不够好,将数据写死,直接输出的,不能对结果进行一下步的需求
  3)赋值调用

例:在上一个例题中,我们增加方法,优化排序过程



问题:通过之前所学,我们来做一组较为复杂的程序需求如下

         1)输入一组数组 2)对数组进行输出 3)对数组进行逆输出 4)可以筛选出最大与最小数并输出 5)增加数据的查询功能 6)利用方法优化程序过程

package example;


import java.util.Scanner;


public class Ex1 {
	public static void main(String[] args) {
		@SuppressWarnings("resource")
	        Scanner sc = new Scanner(System.in);
	        int[] score = new int[5];
	        for(int i = 0 ; i<=score.length-1 ; i++) {
	            System.out.println("请输入第"+(i+1)+"个数");
	            int x = sc.nextInt();
                    score[i] = x;
	        }
	        System.out.print("您输入的数组为:");
                printArray(score);
                max(score, 0);
                min(score, 0);
                nx(score,0);
                printArray(score);
                where(score);
	}
	
	//遍历数组方法
	public static void printArray(int[] score) {
		for(int x = 0 ; x<=score.length-1 ; x++) {
			if(x==0) {
				System.out.print("[ "+score[x]);
			}else if(x==score.length-1) {
				System.out.print(" "+score[x]+" ]");
		    }else {
		    	System.out.print(" "+score[x]);
		    }
		}
		System.out.println("");
		System.out.println("------------------------");
	}
	
	//输出最大值方法
	public static void max(int[] score, int max) {
		max = score[0];
		for(int y = 1 ; y<=score.length-1 ; y++) {
			if (max<score[y]) {
				max = score[y];
			}
		}
	System.out.println("您输入的最大值为:"+max);
	System.out.println("------------------------");
	}
	
	//输出最小值方法
	public static void min(int[] score, int min) {
		min = score[0];
		for(int y = 1 ; y<=score.length-1 ; y++) {
			if (min>score[y]) {
				min = score[y];
			}
		}
	System.out.println("您输入的最小值为:"+min);
	System.out.println("------------------------");
	}
	
	//逆序方法
	public static void nx(int[] score,int temp) {
		for(int y = 0 ; y<=(score.length-1)/2 ; y++) {
			temp = score[y];
			score[y]=score[score.length-1-y];
			score[score.length-1-y]=temp;
		}
		System.out.print("该数组的逆序为:");
	}
	
	//查找数据方法
	public static void where(int[] score) {
		@SuppressWarnings("resource")
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入您要查找的数:    ");
		int ex = sc.nextInt();
		for(int y = 0 ; y<score.length ; y++) {
			if(ex == score[y]) {
				System.out.println("您输入的是第 "+(y+1)+" 个数");
				break;
			}else if(ex!=score[0] && ex!=score[1] && ex!=score[2] && ex!=score[3] && ex!=score[4]) {
				System.out.println("没有您要找的数");
				break;
			}
		}
	}					
}


补:方法之重载

      如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载:



   如何区分调用的是哪个重载方法呢?

      当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行


此时结果为:

PS:判断方法重载的依据

1、 必须是在同一个类中
2、 方法名相同
3、 方法参数的个数、顺序或类型不同

4、 与方法的修饰符或返回值没有关系



####END####


猜你喜欢

转载自blog.csdn.net/andrew0215/article/details/80896090