黑马程序员_Java语言基础_循环结构

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

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

  • A:什么是循环结构// 可以反复执行,同一段程序
  • B:循环结构的分类// for while do while 增强for(foreach)
  • C:循环结构for语句的格式:

  • for(初始化表达式;条件表达式;增量表达式) {
    循环体;
    }
  • D:执行流程:
    • a:执行初始化语句
    • b:执行判断条件语句,看其返回值是true还是false
      • 如果是true,就继续执行
      • 如果是false,就结束循环
    • c:执行循环体语句;
    • d:执行控制条件语句(增量表达式)
    • e:回到B继续。
  • E:案例演示
    • 在控制台输出10次”helloworld”
        for (int i = 0; i < 10; i++) {
            System.out.println("Hello World");
        }

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

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

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

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

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

  • A:案例演示

    • 需求:在控制台输出所有的”水仙花数”

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

    • 举例:153就是一个水仙花数。
    • 153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153

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

  • A:案例演示
    • 需求:统计”水仙花数”共有多少个
        //定义变量,计数器作用
        int count = 0 ;
        for(int i = 100 ; i < 1000; i++){
           //定义三个变量,获取三个数位
           int bai = i/100;
           int shi = i/10%10;
           int ge  = i%10;
           //百位的立方+十位的立方+个位的立方
           if((bai*bai*bai + shi*shi*shi + ge*ge*ge)==i){
              System.out.println(i+"是水仙花");
              count++;
           }
        }
        System.out.println("一共有 "+count+" 个水仙花");

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

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

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

  • A:求和思想
    • 求1-100之和
  • B:统计思想
    • 统计”水仙花数”共有多少个
        //求出1-100之和
        int sum = 0 ;
        int i = 1;
        while(i<=100){
           sum = sum + i ;
           i++;
        }
        System.out.println("sum="+sum);

        int j = 100;
        while(j <= 999){
           int bai = j/100;
           int shi = j/10%10;
           int ge  = j%10;
         if((bai*bai*bai + shi*shi*shi + ge*ge*ge)==j){
              System.out.println(j+"是水仙花");
           }
           j++;
        }

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

  • A:循环结构do…while语句的格式:
  • do {
        循环体语句;
    }while(判断条件语句);
    
    完整格式;
    初始化语句;
    do {
        循环体语句;
        控制条件语句;
    }while(判断条件语句);
    
  • B:执行流程:
    • a:执行初始化语句
    • b:执行循环体语句;
    • c:执行控制条件语句
    • d:执行判断条件语句,看其返回值是true还是false
      • 如果是true,就继续执行
      • 如果是false,就结束循环
    • e:回到b继续。

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

  • A:案例演示
    • 三种循环语句的区别:
    • do…while循环至少执行一次循环体。
    • 而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
  • B:案例演示
    • for循环和while循环的区别:
      • A:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用for循环。因为变量及早的从内存中消失,可以提高内存的使用效率。
      • B:建议:
        • 如果是一个范围的,用for循环非常明确。
        • 如果是不明确要做多少次,用while循环较为合适。
          • 举例:吃葡萄。
          • while(x != 0)

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

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

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

  • A:案例演示
    • 需求:请输出一个4行5列的星星(*)图案。

    • 如图:
      *
      *
      *
      *
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 5; j++) {
                // 输出,不换行
                System.out.print("*");
            }
            // 输出什么也没有,只换行
            System.out.println();
        }
        注意:
            System.out.println("*");和System.out.print("*");的区别

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

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

  • A:案例演示

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

输出三角形的技巧:
如果三角形,尖朝上,修改,内层循环的 条件
如果三角形,尖朝下,修改,内存循环的 初始化变量

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

  • A:案例演示
    • 需求:在控制台输出九九乘法表。
  • B:代码优化
for(int i = 1 ; i <=9 ; i++){
            for(int j = 1 ; j <= i ; j++){
                System.out.print(j+"*"+i+"="+j*i+"\t");
            }
            System.out.println();
        }
    注意:
    '\x' x表示任意,这种做法叫转移字符。

    '\t'    tab键的位置
    '\r'    回车
    '\n'    换行

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

  • A:什么是控制跳转语句
  • B:控制跳转语句的分类
  • C:break的使用场景
    可以写在switch,可以写在循环中
    结束循环

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

  • A:continue的使用场景
    这个关键字,用法非常单一,只能跟随循环出现,其他其地方,不能写continue
    终止本次循环,开始下一次循环
  • C:练习题
  • for(int x=1; x<=10; x++) {
        if(x%3==0) {
            //在此处填写代码
        }
        System.out.println(“Java基础班”);
    }
    
    我想在控制台输出2次:“Java基础班“//break
    我想在控制台输出7次:“Java基础班“//continue
    我想在控制台输出13次:“Java基础班“//再写一句println  
    

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

  • A:return的作用
    • 返回
    • 其实它的作用不是结束循环的,而是结束方法的。

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

  • A:为什么要有方法//将重复,而且经常使用的代码,封装到一起,当你需要的时候
    直接找这个方法即可
  • B:什么是方法//即是函数
  • C:方法的格式
  • 修饰符 返回值类型 方法名 (参数列表1,参数列表2…){
    方法体
    return ;
    }
  • D:方法的格式说明
  • E:画图演示
    • 把刚才的的推荐调用方式画图解释
      这里写图片描述

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

  • A:如何写一个方法
    写一个要求:定义方法
    计算两个整数的和,需要结果
    如何运行方法:调用方法,写要调用方法的名字,传递未知数
  • B:案例演示
    • 需求:求两个数据之和的案例
public static void main(String[] args) 
    {
        //调用getSum方法
        int sum  = getSum(2,6);
        System.out.println(sum);
    }

    //定义方法,实现两个整数和,返回结果
    public static int getSum(int a ,int b){
       //方法主体中,计算两个整数的和,并且返回结果
      return a + b ;
    }

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

  • A:方法调用
    • a:单独调用,一般来说没有意义,所以不推荐。
    • b:输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。
    • c:赋值调用,推荐方案。
  • B:案例演示
    • a:方法不调用不执行
    • b:方法与方法是平级关系,不能嵌套定义
    • c:方法定义的时候参数之间用逗号隔开
    • d:方法调用的时候不用在传递数据类型
    • e:如果方法有明确的返回值,一定要有return带回一个值

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

  • A:案例演示
    • 需求:键盘录入两个数据,返回两个数中的较大值
  • B:案例演示
    • 需求:键盘录入两个数据,比较两个数是否相等
    public static void main(String[] args) 
    {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        //调用方法,获取最大值,赋值变量
        //int max = getMax(a,b);
        //System.out.println("max="+max);

        //调用方法,获取两个数是否相等
        //boolean bool = getEquals(a,b);
        //System.out.println("b="+bool);

        //调用方法,获取三个数的最大值
        int max = getThreeMax(a,b,c);
        System.out.println("max="+max);
    }

    //定义方法,传递3个数,返回最大值
    public static int getThreeMax(int a,int b,int c){

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

    //定义方法,传递2个值,返回是否相等
    public static boolean getEquals(int a,int b){
        return a == b;
    }

    //传递2个参数,返回最大数
    public static int getMax(int a,int b){
       /*if(a>b)
           return a;
       return b;*/
        return (a>b)?a:b;
    }

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

  • A:案例演示
    • 需求:根据键盘录入的行数和列数,在控制台输出星形
  • B:方法调用:
    • 单独调用
    • 输出调用(错误)
    • 赋值调用(错误)

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

  • A:案例演示
    • 需求:根据指定数据输出对应的乘法表
    public static void main(String[] args) 
    {
        print99(7);
        print99(3);
        //System.out.println("Hello World!");
    }

    public static void  print99(int number){
        for(int i = 1 ; i <=number ; i++){

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

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

  • A:方法重载概述
    • 求和案例
      • 2个整数
      • 3个整数
      • 4个整数
  • B:方法重载:

    • 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。

    • 参数列表不同:

      • A:参数个数不同
      • B:参数类型不同
      • C:参数的顺序不同(算重载,但是在开发中不用)

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

  • A:案例演示
    • 需求:比较两个数据是否相等。参数类型分别为两个byte类型,
    • 两个short类型,两个int类型,两个long类型,并在main方法中进行测试
    public static void main(string[] args){
    }
    public static int getSum(int a , int b){
    return a+b;}
    public static int getSum(int a){
    }
    System.out.println();
    for (int = 1;i<=9 ;i++ )
    {
        for (int j = 1;j <=i ;j++ )
        {
            System.out.print(j+"*"+i+"="+i*j+"\t");
        }
    }System.out.println();
    {

        //System.out.println("Hello World!");
        //method(10,false);
        short s = 120;
        int a = method(8,8==9);
        System.out.println(a);
    }

    public static void method(){
        System.out.println("空参数");

    }
    public static void method(int a){
        System.out.println("有1个int参数");
    }

    public static int method(int a,boolean b){
        System.out.println("有2个参数,int boolean");
       return 123;
    }
    public static void method(boolean b){

    }
    public static void method(boolean b,int a){
    }

    public static void method(short a){
       System.out.println("有1个short参数");
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值