JavaSE知识-04循环语句&方法

水仙花数是指一个三位数,各数字立方和等于该数本身
如153=111 + 555 +333
JavaSE知识-04循环语句&方法_第1张图片
需修改为c = i-100*a-10*b;
方法二

class Test3_Flower {
    public static void main(String[] args) {
        int count = 0;
        for (int i = 100;i <= 999 ;i++ ) {                  //获取100到999之间的数
            int ge = i % 10;                                //123 % 10 = 3 
            int shi = i / 10 % 10;                          //123/10 = 12    % 10;
            int bai = i / 100 ;                     //123 / 10 = 12  12/10 = 1 % 10 
            //其各位数字的立方和等于==该数本身
            if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
                //System.out.println(i); //输出符合条件水仙花
                count ++;
            }
        }
    }
}

for语句int的i执行完会被释放掉
JavaSE知识-04循环语句&方法_第2张图片
下面一句执行时报错
JavaSE知识-04循环语句&方法_第3张图片
JavaSE知识-04循环语句&方法_第4张图片

for循环和while循环的区别:
如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用谁就用for循环。因为变量及早的从内存中消失,可以提高内存的使用效率。

请输出一个4行5列的星星(*)图案
JavaSE知识-04循环语句&方法_第5张图片

System.out.println() 输出并换行

99乘法表
JavaSE知识-04循环语句&方法_第6张图片

  注意:
    '\x' x表示任意,\是转义符号,这种做法叫转移字符。
    '\t'    tab键的位置
    '\r'    回车
    '\n'    换行
    '\"'打印一个双引号
    '\''打印一个单引号
  • break的使用场景
    只能在switch和循环中

  • continue的使用场景
    只能在循环中
    JavaSE知识-04循环语句&方法_第7张图片

运行结果
JavaSE知识-04循环语句&方法_第8张图片

  • 标号:标记某个循环对其控制
  • 标号组成规则:其实就是合法的标识符
    合法标识符不允许数字开头,也可以设为outer,inner
    标号通常用来跳出外部循环

    JavaSE知识-04循环语句&方法_第9张图片
    JavaSE知识-04循环语句&方法_第10张图片
    而如果break b;break;
    结果一样
    JavaSE知识-04循环语句&方法_第11张图片

    return是结束方法
    break是跳出循环
    continue是终止本次循环继续下次循环
    JavaSE知识-04循环语句&方法_第12张图片

其中break;时输出语句,return;时什么都不输出

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

求两整数之和

import java.util.Scanner;
class deemo4_sum {
    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 sum =add(x,y);          //1.调用add方法,传递参数
        System.out.println(sum);       //5.将方法的结果返回sum
    }
    
    public static int add(int a,int b){  //2.赋值a,b
        int sum = a + b;              //3.执行语句
        return sum;                  //4.通过return将sum1结果返回
    }
}

  • a:单独调用,一般来说没有意义,所以不推荐。
  • b:输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。
  • c:赋值调用,推荐方案。

返回两整数最大值
只需修改部分代码

.......
        int max = getMax(x,y);
        System.out.println(max);
}
    public static int getMax(a,b){
        return a > b ? a : b;
}

判断两整数是否相等
只需修改部分代码

.......
        boolean b =isEaquals(x,y);
        System.out.println(b);

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

根据键盘录入的行数和列数,在控制台输出星形

方法调用:
单独调用
输出调用(错误)
赋值调用(错误)

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();                     
        System.out.println("请输入列数:");
        int column = sc.nextInt();                      
        //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;
    }
}

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

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

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

class Test3_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;
    }
}

你可能感兴趣的:(JavaSE知识-04循环语句&方法)