JAVA语言基础 +JAVA学习笔记-DAY04

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

  • A:循环结构的分类
    • for,while,do…while
  • B:循环结构for语句的格式:

  • for(初始化表达式;条件表达式;循环后的操作表达式) {
    循环体;
    }
  • C执行流程:
    • a:执行初始化语句
    • b:执行判断条件语句,看其返回值是true还是false
      • 如果是true,就继续执行
      • 如果是false,就结束循环
    • c:执行循环体语句;
    • d:执行循环后的操作表达式
    • e:回到B继续。
  • D:案例演示

    • 在控制台输出10次”helloworld”

      for (int i = 1;i <= 10 ;i++ ) {
          System.out.println("helloworld");
      }
      

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 >= 1 ;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);
      
  • B:学生练习

    • 需求:求出1-100之间偶数和

    int sum = 0;
    for (int i = 1;i <= 100 ;i++ ) {
    if (i % 2 == 0) {
    sum = sum + i;
    }
    }

    • 需求:求出1-100之间奇数和

      int sum = 0;
      for (int i = 1;i <= 100 ;i+=2 ) {       
          sum = sum + i;
      }
      

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

  • A:案例演示

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

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

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

      for (int i = 100 ;i < 1000 ;i++ ) {
          int g = i % 10;//个位数
          int s = i / 10 % 10;//十位数
          int b = i / 100 % 10;//百位数
          if (i == (g*g*g + s*s*s + b*b*b)) {
              System.out.println(i);  
          }
      }
      

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

  • A:案例演示

    • 需求:统计”水仙花数”共有多少个

      int count = 0; //计数器
      for (int i = 100 ;i < 1000 ;i++ ) {
          int g = i % 10;
          int s = i / 10 % 10;
          int b = i / 100 % 10;
          if (i == (g*g*g + s*s*s + b*b*b)) {
              count++;
          }
      }
      System.out.println(count);
      
  • B:案例演示

    • 九九乘法表

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

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

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

    • 需求:请在控制台输出数据1-10

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

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

  • A:求和思想

    • 求1-100之和

      int sum = 0;
      int i = 1;
      while (i <= 100) {
          sum += i;       //sum = sum + i;
          i++;            //让变量i自增
      }
      
      System.out.println("sum = " + sum);
      
  • B:统计思想

    • 统计”水仙花数”共有多少个

      //统计”水仙花数”共有多少个
      int count = 0;                  //计数器
      int i = 100;
      while (i <= 999) {
          int ge = i % 10;
          int shi = i / 10 % 10;
          int bai = i / 100;
      
          if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai) {
              count ++;
          }
      
          i++;
      }
      
      System.out.println("count =" + count);
      

04.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 i = 11;
      do {
          System.out.println("i = " + i);
          i++;
      }
      while (i <= 10);
      

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

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

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

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

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

  • A:案例演示

    • 需求:请输出一个4行5列的星星(*)图案。
    • 如图:
          *****
          *****
          *****
          *****
      
      注意:
          System.out.println("*");和System.out.print("*");的区别
      
  • B:结论:
    • 外循环控制行数,内循环控制列数

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

  • A:案例演示

  • 需求:请输出下列的形状
    *
    **
    *
    **
    *

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

  • A:案例演示
    • 需求:在控制台输出九九乘法表。
  • B:代码优化
  • 注意:
    '\x' x表示任意,\是转义符号,这种做法叫转移字符。
    
    '\t'    tab键的位置
    '\r'    回车
    '\n'    换行
    '\"'
    '\''
    

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

  • A:break的使用场景
    • 只能在switch循环

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

  • A:continue的使用场景
    • 只能在循环

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

  • 标号:标记某个循环对其控制
  • 标号组成规则:其实就是合法的标识符

    class DemoMark {                                        //mark 标记
        public static void main(String[] args) {
            outer: for (int i = 1;i <= 10 ;i++ ) {      //a就是标号,只要是合法的标识符即可
                System.out.println("i = " + i);
                inner: for (int j = 1;j <= 10 ;j++ ) {
                    System.out.println("j = " + j);
                    break outer;
                }
            }                       
        }
    }
    

04.17_Java语言基础(控制调整语句练习)

  • A:练习题
  • for(int x=1; x<=10; x++) {
        if(x%3==0) {
            //在此处填写代码
        }
        System.out.println(“Java基础班”);
    }
    
    我想在控制台输出2次:“Java基础班“
    我想在控制台输出7次:“Java基础班“
    我想在控制台输出13次:“Java基础班“   
    

    *

    class Test1 {
        public static void main(String[] args) {
            for(int x=1; x<=10; x++) {
                if(x%3==0) {
                    //break;                        //我想在控制台输出2次:“Java基础班“
                    //continue;                     //我想在控制台输出7次:“Java基础班“
                    //System.out.println("Java基础班");//我想在控制台输出13次:“Java基础班“ 
                }
                System.out.println("Java基础班");
            }
        }
    }
    

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

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

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

  • A:为什么要有方法
    • 提高代码的复用性
  • B:什么是方法
    • 完成特定功能的代码块。
  • C:方法的格式

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

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

  • A:如何写一个方法
    • 1,明确返回值类型
    • 2,明确参数列表
  • B:案例演示
    • 需求:求两个数据之和的案例
  • C:方法调用图解
    这里写图片描述

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

  • A:方法调用(有具体返回值)

    • a:单独调用,一般来说没有意义,所以不推荐。

      add(30,40);//有返回值方法的单独调用,没有意义
      
    • b:输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。

       System.out.println(add(30,40));        //这样调用是可以,but如果需要用这个结果不推荐这样调用
      
    • c:赋值调用,推荐方案。

      int sum = add(10,20);
      System.out.println(sum);
      
  • B:案例演示
    • a:方法不调用不执行
    • b:方法与方法是平级关系,不能嵌套定义
    • c:方法定义的时候参数之间用逗号隔开
    • d:方法调用的时候不用在传递数据类型
    • e:如果方法有明确的返回值,一定要有return带回一个值

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

  • A:案例演示
    • 需求:键盘录入两个数据,返回两个数中的较大值
  • B:案例演示

    • 需求:键盘录入两个数据,比较两个数是否相等

      import java.util.Scanner;
      class Test1_Method {
          public static void main(String[] args) {
              Scanner sc = new Scanner(System.in);                //创建键盘录入对象
              System.out.println("请输入第一个整数:");
              int x = sc.nextInt();                               //将键盘录入的整数存储在x中
              System.out.println("请输入第二个整数:");
              int y = sc.nextInt();                               //将键盘录入的整数存储在y中
      
              //int max = getMax(x,y);
              //System.out.println(max);
      
              boolean b = isEquals(x,y);
              System.out.println(b);
          }
      
          /*
          返回连个整数的较大值
          1,明确返回值类型 int
          2,明确参数列表 int a,int b
          */
          public static int getMax(int a,int b) {
              return a > b ? a : b;
          }
      
          /*
          判断两个整数是否相等
          1,明确返回值类型 boolean
          2,明确参数列表 int a,int b
          */
          public static boolean isEquals(int a,int b) {       //isEquals 是否相等
              return a == b;
          }
      }
      

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

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

    • 单独调用
    • 输出调用(错误)
    • 赋值调用(错误)

      import java.util.Scanner;
      class Demo3_Method {
          public static void main(String[] args) {
              Scanner sc = new Scanner(System.in);            //创建键盘录入对象
              System.out.println("请输入行数:");
              int row = sc.nextInt();                         //将键盘录入的行数存储在row中
              System.out.println("请输入列数:");
              int column = sc.nextInt();                      //将键盘录入的列数存储在column中
      
              //System.out.println(print(row,column));        //错误: 此处不允许使用 '空' 类型,返回值是void的方法不能输出调用
              //返回值是void的方法只能单独调用
              print(row,column);
          }
      
          /*
          在控制台输出矩形星形
          1,明确返回值类型,经分析没有具体的返回值类型,void
          2,明确参数列表int a,int b
          */
      
          public static void print(int a,int b) {
              for (int i = 1;i <= a ;i++ ) {                  //行数
                  for (int j = 1;j <= b ;j++ ) {              //列数
                      System.out.print("*");
                  }
                  System.out.println();
              }
      
              //return ;                                      //如果返回值类型是void,return可以省略,即使省略系统也会默认给加上,形式是return;
          }
      }
      

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

  • A:案例演示

    • 需求:根据键盘录入的数据输出对应的乘法表

      import java.util.Scanner;
      class Test2_Method {
          public static void main(String[] args) {
              Scanner sc = new Scanner(System.in);        //创建键盘录入对象
              System.out.println("请录入一个整数,范围在1-9之间");
              int num = sc.nextInt();                     //将键盘录入的整数存储在num中
              print99(num);
          }
      
          /*
          打印99乘法表
          1,返回值类型void
          2,参数列表,int a
          */
      
          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();
              }
          }
      }
      

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

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

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

    • 参数列表不同:

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

        class Demo_Overload {                       //overload重载
            public static void main(String[] args) {
                double sum1 = add(10,20.1);
                System.out.println(sum1);
        
                int sum2 = add(10,20,30);
                System.out.println(sum2);
        
                double sum3 = add(12.3,13);
                System.out.println(sum3);
            }
        
            /*
            求两个整数的和
            1,返回值类型int
            2,参数列表 int a,int b
            */
        
            public static double add(int a,double b) {
                return a + b;
            }
        
            /*
            求三个整数的和
            1,返回值类型int
            2,参数列表 int a,int b,int c
            */
        
            public static int add(int a,int b,int c) {
                return a + b + c;
            }
        
            /*
            求两个小数的和
            1,返回值类型double
            2,参数列表 double a,double b
            */
        
            public static double add(double a,int b) {
                return a + b;
            }
        }
        

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

  • A:案例演示

    • 需求:比较两个数据是否相等。
    • 参数类型分别为两个int类型,两个double类型,并在main方法中进行测试

      class Test_Overload {
          public static void main(String[] args) {
              boolean b1 = isEquals(10,10);
              System.out.println(b1);
      
              boolean b2 = isEquals(10.5,10.5);
              System.out.println(b2);
          }
      
          /*
          比较两个数据是否相等
          1,返回值类型boolean
          2,参数列表int a,int b
          */
      
          public static boolean isEquals(int a,int b) {
              return a == b;
          }
      
          /*
          比较两个数据是否相等
          1,返回值类型boolean
          2,参数列表double a,double b
          */
      
          public static boolean isEquals(double a,double b) {
              return a == b;
          }
      }
      

04.27_day04总结

把今天的知识点总结一遍。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值