D_04_Java基础--循环语句&方法

让人想犯罪 __ 提交于 2020-02-24 01:05:48

01_Java语言基础(循环结构概述和for语句的格式及其使用)

  • A:循环结构的分类
    for while do...while
  • B:循环结构for语句的格式:
	for(初始化表达式;条件表达式;循环后的操作表达式) {
		循环体;
	}
  • C执行流程:
    • a:执行初始化语句
    • b:执行判断条件语句,看其返回值是true还是false
      • 如果是true,就继续执行
      • 如果是false,就结束循环
    • c:执行循环体语句;
    • d:执行循环后的操作表达式
    • e:回到B继续。
  • D:案例演示
for (int i = 1 ; i < 10 ; i ++ ) {
	System.out.println('Hello World " + i);
}

02_Java语言基础(循环结构for语句的练习之获取数据)

  • A:案例演示
// 需求:请在控制台输出数据1-10
for (int i = 1 ; i <= 10 ; i ++ ) {
	System.out.println('i=" + i);
}
// 需求:请在控制台输出数据10-1
for (int i = 1 ; i <= 10 ; i -- ) {
	System.out.println('i=" + i);
}
  • B:注意事项
    • a:判断条件语句无论简单还是复杂结果是boolean类型。
    • b:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。
    • c:一般来说:有左大括号就没有分号,有分号就没有左大括号

03_Java语言基础(循环结构for语句的练习之求和思想)

  • A:案例演示
    • 需求:求出1-10之间数据之和
    	int sum = 0;
    	for (int i = 1 ; i <= 10; i++) {
    		sum += i;
    	}
    	System.out.println("sum = " + sum);
    
    • 需求:求出1-100之间偶数和
    	int sum = 0;
    	for (int i = 1 ; i <= 100; i++) {
    		if (i % 2 == 0) {
    			sum += i;
    		}
    	}
    	System.out.println("sum = " + sum);
    
    • 需求:求出1-100之间奇数和
    	int sum = 0;
    	for (int i = 1 ; i <= 100; i++) {
    		if (i % 2 == 1) {
    			sum += i;
    		}
    	}
    	System.out.println("sum = " + sum);
    

04_Java语言基础(循环结构for语句的练习之水仙花)

  • A:案例演示
    • 需求:在控制台输出所有的”水仙花数”

    • 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。

    • 举例:153就是一个水仙花数。

    • 153 = 111 + 555 + 333 = 1 + 125 + 27 = 153

05_Java语言基础(循环结构for语句的练习之统计思想)

  • A:案例演示
    • 需求:统计”水仙花数”共有多少个
    int sum = 0;
    for ( i = 100 ; i < 1000 ; i ++){
    	int ge = i % 10 ;
    	int shi = i / 10 % 10 ;
    	int bai = i / 10 / 10 % 10
    	if ( ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
    				sum++
    	}
    }
    System.out.println(sum);
    

06_Java语言基础(循环结构while语句的格式和基本使用)

  • A:循环结构while语句的格式:
	while循环的基本格式:
		while(判断条件语句) {
			循环体语句;
		}
		
	完整格式:
		初始化语句;
		while(判断条件语句) {
			循环体语句;
			控制条件语句;
		}
  • B:执行流程:
    • a:执行初始化语句
    • b:执行判断条件语句,看其返回值是true还是false
      • 如果是true,就继续执行
      • 如果是false,就结束循环
    • c:执行循环体语句;
    • d:执行控制条件语句
    • e:回到B继续。
  • C:案例演示
    • 需求:请在控制台输出数据1-10
    int i = 1;
    while (i <= 10) {
    	System.out.println(i);
    	i++;
    }
    

07_Java语言基础(循环结构while语句的练习)

  • A:求和思想
    • 求1-100之和
    int i = 1 ;
    sum = 0 ;
    while (i <= 100) {
    	sum += i ;
    	i++;
    }	
    
  • B:统计思想
    • 统计”水仙花数”共有多少个
    int i = 100;
    count = 0;
    while ( i < 1000 ) {
    	int ge = i % 10 ;
    	int shi = i / 10 % 10 ;
    	int bai = i / 10 / 10 % 10
    	if ( ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
    		count++
    	}
    	i++; 
    }
    System.out.println(count);
    

08_Java语言基础(循环结构do…while语句的格式和基本使用)

  • A:循环结构do…while语句的格式:
		do {
			循环体语句;
		}while(判断条件语句);
		
		完整格式;
		初始化语句;
		do {
			循环体语句;
			控制条件语句;
		}while(判断条件语句);
  • B:执行流程:
    • a:执行初始化语句
    • b:执行循环体语句;
    • c:执行控制条件语句
    • d:执行判断条件语句,看其返回值是true还是false
      • 如果是true,就继续执行
      • 如果是false,就结束循环
    • e:回到b继续。
  • C:案例演示
    • 需求:请在控制台输出数据1-10
    	int a = 0;
    	do {
    		System.out.println(a);
    		a++;
    	} while ( a <= 10 )
    

09_Java语言基础(循环结构三种循环语句的区别)

  • A:案例演示
    • 三种循环语句的区别:
    • do…while循环至少执行一次循环体。
    • 而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
  • B:案例演示
    • for循环和while循环的区别:
      • A:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用谁就用for循环。因为变量及早的从内存中消失,可以提高内存的使用效率。

10_Java语言基础(循环结构注意事项之死循环)

  • A:一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。
  • B:两种最简单的死循环格式
    while(true){...}
    for(;;){...}

11_Java语言基础(循环结构循环嵌套输出4行5列的星星)

  • A:案例演示
    • 需求:请输出一个4行5列的星星(*)图案。
    	for (int i = 1 ; i < 4 ; i++ ) {
    		for (int j = 1 ; i < 5 ; i++ ) {
    			System.out.print("*");
    		}
    		System.out.println();
    }
    
    • 如图:

        	*****
        	*****
        	*****
        	*****
      
  • B:结论:
    • 外循环控制行数,内循环控制列数

12_Java语言基础(循环结构循环嵌套输出正三角形)

  • A:案例演示
  •   需求:请输出下列的形状
      *
      **
      ***
      ****
      *****
    
for ( int i = 1 ; i <= 5 ; i++){
	for ( int j = 1 ; j <= i ; j++){
		System.out.print("*");
	}
	System.out.println();
}

13_Java语言基础(循环结构九九乘法表)

  • A:案例演示
    • 需求:在控制台输出九九乘法表。
    	public class text {
    	    public static void main(String[] args) {
    	        for ( int i = 1 ; i < 10 ; i++ ){
    	            for ( int j = 1 ; j <= i ; j++ ){
    	                System.out.print( j + " * " + i + " = " + ( i * j ) + '\t');
    	            }
    	            System.out.println();
    	        }
    	    }
    	}
    
  • B:代码优化

注意:
'\x' x表示任意,\是转义符号,这种做法叫转移字符。
'\t' tab键的位置
'\r' 回车
'\n' 换行
"\""
'\''

14_Java语言基础(控制跳转语句break语句)

  • A:break的使用场景
    • 只能在switch和循环中
for (int i = 0; i < 10; i++) {
	            if (i == 4) {
	                break;
	            }
	            System.out.println("i = " + i);
	        }
/*
i = 0
i = 1
i = 2
i = 3
*/

15_Java语言基础(控制跳转语句continue语句)

  • A:continue的使用场景
    • 只能在循环中
for (int i = 0; i < 10; i++) {
            if (i == 4) {
                continue;
            }
            System.out.println("i = " + i);
        }
/*
i = 0
i = 1
i = 2
i = 3
i = 5
i = 6
i = 7
i = 8
i = 9
*/

16_Java语言基础(控制跳转语句标号)

  • 标号:标记某个循环对其控制
  • 标号组成规则:其实就是合法的标识符
a: for ( int i = 1 ; i < 10 ; i++ ) {
            b:for (int j = 1; j <= i; j++) {
                System.out.print(j + " * " + i + " = " + i * j + '\t');
                break a;
            }
            System.out.println();
        }

17_Java语言基础(控制跳转语句return语句)

  • A:return的作用
    • 返回
    • 其实它的作用不是结束循环的,而是结束方法的。
  • B:return和break以及continue的区别?
    • return是结束方法
    • break是跳出循环
    • continue是终止本次循环继续下次循环

18_Java语言基础(方法概述和格式说明)

  • A:为什么要有方法
    • 提高代码的复用性
  • B:什么是方法
    • 完成特定功能的代码块。
  • C:方法的格式
    	修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
    		方法体语句;
    		return 返回值; 
    	} 
    
  • D:方法的格式说明
    • 修饰符:目前就用 public static。后面我们再详细的讲解其他的修饰符。
    • 返回值类型:就是功能结果的数据类型。
    • 方法名:符合命名规则即可。方便我们的调用。
    • 参数:
      • 实际参数:就是实际参与运算的。
      • 形式参数;就是方法定义上的,用于接收实际参数的。
    • 参数类型:就是参数的数据类型
    • 参数名:就是变量名
    • 方法体语句:就是完成功能的代码。
    • return:结束方法的。
    • 返回值:就是功能的结果,由return带给调用者。

19_Java语言基础(方法之求和案例及其调用)

  • A:如何写一个方法
    • 1,明确返回值类型
    • 2,明确参数列表
  • B:案例演示
    • 需求:求两个数据之和的案例
    public static void main(String[] args) {
        int sum = add(10,40);
        System.out.println(sum);
    }
    
    public static int add(int in1,int in2){
        int sum = in1 + in2;
        return sum;
    }
    

20_Java语言基础(方法的注意事项)

  • A:方法调用(有具体返回值)
    • a:单独调用,一般来说没有意义,所以不推荐。
    public static void main(String[] args) {
        add(10,40);
    }
    
    public static int add(int in1,int in2){
        int sum = in1 + in2;
        return sum;
    }
    
    • b:输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。
    public static void main(String[] args) {
        System.out.println(add(10,40));
    }
    
    public static int add(int in1,int in2){
        int sum = in1 + in2;
        return sum;
    }
    
    • c:赋值调用,推荐方案。
    public static void main(String[] args) {
        int sum = add(10,40);
        System.out.println(sum);
    }
    
    public static int add(int in1,int in2){
        int sum = in1 + in2;
        return sum;
    }
    
  • B:注意事项
    • a:方法不调用不执行
    • b:方法与方法是平级关系,不能嵌套定义
    • c:方法定义的时候参数之间用逗号隔开
    • d:方法调用的时候不用在传递数据类型
    • e:如果方法有明确的返回值,一定要有return带回一个值

21_Java语言基础(方法的练习)

  • A:案例演示
    • 需求:键盘录入两个数据,返回两个数中的较大值
     public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            System.out.print("请输入第一个数字:");
            int x = sc.nextInt();
            System.out.print("请输入第二个数字:");
            int y = sc.nextInt();
    
            int max = add(x,y);
            System.out.println(max);
        }
    
        public static int add(int in1,int in2){
            return (in1 > in2) ? in1 : in2 ;
        }
    
  • B:案例演示
    • 需求:键盘录入两个数据,比较两个数是否相等
	public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入第一个数字:");
        int x = sc.nextInt();
        System.out.print("请输入第二个数字:");
        int y = sc.nextInt();
        boolean b = isEquls(x,y);
        System.out.println(b);
    }

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

22_Java语言基础(方法之输出星形及其调用)

  • A:案例演示
    • 需求:根据键盘录入的行数和列数,在控制台输出星形
    import java.util.Scanner;
    
    public class Demo_methed {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            System.out.print("请输入行数:");
            int row = sc.nextInt();
            System.out.print("请输入列数:");
            int column = sc.nextInt();
            star(row,column);
    
        }
        public static void star(int row,int column) {
            for (int i = 1; i <= row ; i++) {
                for (int j = 1; j <= column; j++) {
                    System.out.print("*");
                }
                System.out.println();
            }
        }
    
    }
    
  • B:方法调用:(无返回值,void)
    • 单独调用
    • 输出调用(错误)
    • 赋值调用(错误)

23_Java语言基础(方法的练习)

  • A:案例演示
    • 需求:根据键盘录入的数据输出对应的乘法表
import java.util.Scanner;

public class Demo2_method {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入1~9的整数:");
        int num = sc.nextInt();
        print99(num);
    }
    public static void print99(int a ) {
        for (int i = 1; i <= a; i++ ) {
            for (int j = 1; j <= i; j++) {
                System.out.print(j + " * " + i + " = " + i * j + '\t');
            }
            System.out.println();
        }
    }
}

25_Java语言基础(方法重载概述和基本使用)

  • A:方法重载:
    • 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。
    • 参数列表不同:
      • A:参数个数不同
      • B:参数类型不同
      • C:参数的顺序不同(算重载,但是在开发中不用)
public class Demo_Overload {
    public static void main(String[] args) {
        System.out.println(add(10,20));
        System.out.println(add(10,20,30));
    }

    public static int add (int a ,int b){
        //求两个整数之和
        return a+b;
    }
    public static int add (int a,int b,int c) {
        //求三个整数之和
        return a+b+c;
    }
}

26_Java语言基础(方法重载练习比较数据是否相等)

  • A:案例演示
    • 需求:比较两个数据是否相等。
    • 参数类型分别为两个int类型,两个double类型,并在main方法中进行测试
public class Demo2_Overload {
    public static void main(String[] args) {
        System.out.println(DD(20,20));
        System.out.println(DD(20.20,20.20));
    }

    public static boolean DD(int a,int b){
        return (a == b) ;
    }
    
    public static boolean DD(double a,double b){
        return a == b ;
    }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!