Java入门到超神3

JAVA03

Java的反编译idea

  • 将字节码文件拖到idea的工作目录,必须在文件的形式下,不能直接拖到idea。然后直接打开就是。class的反编译的文件
  • 看源码是一个好的习惯

循环结构

  • while
package com.kangsdan.Base.operrator;

public class WhileDemo01 {
    public static void main(String[] args) {
        int i=0;
        int sum=0;
        while(i<=100){
            System.out.println(i);
            sum=i+sum;
            i++;
//sum=i+sum;(如果在下面的结果为5151;就是错误的,你要加的对象是谁,是不是错误了
        }
        System.out.println(sum);
    }
}
//先判断,后执行
  • do …while
package com.kangsdan.Base.operrator;

public class WhileDemo01 {
    public static void main(String[] args) {
        int i=0;
        int sum=0;
        do{
            sum+=i;
            i++;//迭代
        }while (i<=100);
        System.out.println(sum);
    }
}
//先执行后判断,至少跑一次
  • while …do
  • for
package com.kangsdan.Base.operrator;

public class WhileDemo01 {
    public static void main(String[] args) {
       // int i=0;
        int sum=0;
        int sum2=0;
        //   初始     布尔       迭代
        for (int i = 0; i <=100 ; i++) {
            //都可以删除
            if(i%2==0){
                sum+=i;
            }
            //0到100之间奇数和偶数和
            if (i%2!=0){
                sum2+=i;
            }
        }
        //100.for快捷键

        System.out.println("over "+sum+sum2);//字符串在前就全为字符串
    }
}
//java输出奇数偶数和
package com.kangsdan.Base.operrator;

public class WhileDemo01 {
    public static void main(String[] args) {
        for (int i = 0; i < 1000; i++) {
            if(i%5==0){
                System.out.print(i+"\t");

            }
            if(i%(5*3)==0){
                System.out.println();
            }
        }
    }
}
//能被5整除,每3个换一个
public class WhileDemo01 {
    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();
        }

    }
}
//九九乘法表

  • 增强for循环
public class WhileDemo01 {
    public static void main(String[] args) {
       int[] num={10,20,40,50};//数组
        for (int i:num) {
            System.out.println(i);
        }
    }
}
//遍历数组的内容 集合
//增强for循环
  • break;continue
public class WhileDemo01 {
    public static void main(String[] args) {
       int i=0;
       while(i<100){
           i++;
           if(i==30){
               break;//强制退出循环
           }
       }
        System.out.println(123);
    }
}
public class WhileDemo01 {
    public static void main(String[] args) {
       int i=0;
       while(i<100){
           i++;
           if(i%10==0){
               continue;//回到起点
           }
           System.out.println(i);
       }
        System.out.println(123);
    }
}
  • 强制退出break 每个地方
  • continue 只可以用到循环中

goto

java 没有得到正式使用,唯一用到标签的时候 循环

public class WhileDemo01 {
    public static void main(String[] args) {
       int count=0;
        outer:for (int i = 101; i < 150; i++) {
            for (int j = 2; j <i/2 ; j++) {
                if(i%j==0) {
                    continue outer;
                }
            }
            System.out.println(i+"\t");
       }
    }
}
//只是一个标签

流程控制练习

public class Demo {
    //打印三角形
    public static void main(String[] args) {
        for (int i = 1; i <=5 ; i++) {
            for (int j = 5; j >= i; j--) {//拆分,这是一个好的方式
                System.out.print(" ");
            }
            for (int j = 1; j <=i; j++) {
                System.out.print("-");
            }
            for (int j = 1; j <i; j++) {
                System.out.print("-");
            }
            System.out.println();
        }
    }
}
//拆分的思想

Java的方法

  • 什么是方法
public class T1 {
    public static void main(String[] args) {
       //main 方法
        int a=new T1().add(1,2);
        System.out.println(a);
    }
    //修饰符 返回类型 方法名 参数
    public int add(int a,int b){
        return  a+b;//返回 终止方法
    }
}
  1. System是一个类 out 对象 println方法
  2. 方法是语句的集合
  3. 类 或者对象中
  4. 在程序创建其它地方调用
  5. 原子性:一个方法完成一个功能
  • 方法的定义
  1. 一段完成特定功能的代码

  2. 方法包含一个方法名和方法体

  3. 修饰符public 返回值 方法名 参数类型 方法体

  4. java是值传递(max 引用传递

  5. 内存模型

  6. img

  • 方法重载
  1. 同一个类中参数不同的方法(相同的名字,参数不同
  2. 名字不同 参数不同 个数顺序
  3. 返回类型 不限制
  4. 他会自动匹配
public class T2 {
    public static void main(String[] args) {

    }
    public static  int add(int a,int b){
        return a+b;
    }
    public  static int add(int a){
        return 2*a;
    }

}
//方法的重载
  • 命令行传参

将ming’li

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2DDSxtVl-1590760334495)(C:\Users\1\AppData\Roaming\Typora\typora-user-images\image-20200529202224912.png)]

  • 可变参数
  1. jdk1.5开始
  2. 在指定参数类型后+…
  3. 只能一个可变参数而其必须在最后
public class Demo04 {
    public static void main(String[] args) {
        new Demo04().test(1,4,5);
    }
    public void test(int...i){
        for (int j = 0; j <i.length ; j++) {
            System.out.println(i[j]);
        }
        System.out.println(i[0]);
    }

}
//可变参数 本质就是数组可以传递数组
  • 递归(能不用就他丫的不用,影响效果)

    1.自己调用自己

    2.递归头

    3.递归体

    public class DE0 {
        public static void main(String[] args) {
            System.out.println(new DE0().test(5));
        }
        public int test(int n){
            if(n==1){
                return 1;
            }else{
                return n*test(n-1);
            }
        }
    }
    //递归方法
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kHupS5TK-1590760334496)(C:\Users\1\AppData\Roaming\Typora\typora-user-images\image-20200529203825805.png)]

//递归的方法

边界条件 (1)

前阶段

返回阶段

java是使用栈基址的

调用方法压栈。

数值

  • 概念

    1.相同类型数据集合

    2.可以通过下标访问

  • 声明

  • 使用

  • 多维数组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值