Java 04

导读:本篇文章讲解 Java 04,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、静态(static)

1.理解

1)静态的就是类的

2)是共享的

3)任何的信息,都得有归属

2.静态方法

1)带有static修饰的方法

2)静态方法里面只能使用静态信息,不能直接使用成员信息

/**
    产生随机数
*/
public static int getInt(int min,int max){
    return new java.util.Random().nextInt(max-min+)+min;
}

3.静态属性

1)属性是static修饰,也是类的属性

/**
定义猪类
*/
public class Pig{
    //颜色
    String color;
    //重量
    double weight;
    //数量  静态属性
    static int count;
}

二、常量

1.理解

常量是值:内容一旦确定不可改变 最终的量

只读 只用不改

2.定义

final 类型 常量名=值

注意:规范 全部大写_

fianl int MAX_X;
fianl int MIN_Y;
//定义PI
public class FinalTest{
    public static void main(String [] args){
        final double PI;
        PI=3,14;
        //最终的量不能改变
        //PI=3.5;
    }
}

三、成员信息

1.理解

1)没有static修饰的方法、属性统一称为成员信息

2)必须存在对象,没有对象不能直接使用

3)成员信息可以使用静态

2.成员方法

1)成员方法可以用一切信息,反之静态方法只能使用静态信息

2)成员方法中存在隐式的this,静态方法中没有this

/**
定义人Person类
*/
public class Person{
    //静态方法
    public static void laugh(){
        System.out.println("笑一笑,十年少");
        /**
        静态不能使用成员信息,没有对象不能直接使用成员信息
        eat();
        think;
        */
    }
    //成员方法
    pubic void eat(){
        System.out.println("吃少一点,都长胖了。。。。");
        //成员方法可以使用一切
        laugh();//静态
        think();//成员
    }
    public void think(){
        System.out.println("今天你努力了吗?????");
    }
}

四、构造器(Constructor)

1.理解

1)方法名和类名相同

2)没有返回类型void

3)只能创建对象时使用new调用

2.作用

1)new 才是创建对象,构造器是为new服务,初始化对象信息

/**
Car类
*/
public class Car{
    //品牌
    String name;
    //价格
    double price;
    //构造器
    public Car(){
        System.out.println("初始化对象信息");
        name="宝马";
        price=100.3;
    }
}

3.空构造器

1)当一个类,没有手动编写构造器时,javac编译器会主动加入一个空构造,确保一个类至少有一个构造器。

2)构造器手动加入,系统不会再加其他构造器

4.构造器重载

同一个类,多个构造器 (方法签名不一样,不同:形参类型 个数 顺序 相同:同一个类,方法名)

/**
    构造器重载  User
*/
public class User{
    //构造器
    public User(){
        System.out.println("构造器初始化信息");
    }
    public User(String name){
        System.out.println("构造器初始化信息");
    }
    public User(String name,String pwd){
        System.out.println("构造器初始化信息");
    }
}

五、this

1.this调用者

2.this(实参)

构造器相互调用,首行

   public class User{
    //构造器
    public User(){
        System.out.println("构造器初始化信息");
    }
    public User(String name){
        this();
    }
    public User(String name,String pwd){
        this(name);
        System.out.println("初始化");
    }
}
​

六、控制语句

1.if

1)单分支

public class IfControl01{
    //程序入口
    public static void main(String [] args){
        //单分支
        //int age=18;
        int age=getNum(0,100);
        if(age>=18){
            System.out.println("你成年了。。。。。");
        }
    }
    
    //随机数字
    public static int getNum(int min,int max){
        return new java.util.Random().nextInt(max-min+1)+min;
    }
}

2)双分支

public class IfControl02{
    public static void main(String [] args){
        int num=10;
        
        boolean flag=EventFlag(num);
        if(flag){
            System.out.println(num+"是偶数");
        }else{
            System.out.println(num+"是奇数");
        }
    }
    //判断奇偶
    public static boolean EventFlag(int num){
        return num%2==0;
    }
}

3)多分支

public class IfControl03{
    public static void main(String [] args){
        //判断月份是春夏秋冬
        //随机生成月份
        int month=getNum(1,12);
        if(month>=3 && month<=5 ){
            System.out.println(month+"春天");
        }else if(modth>5 && month<=8){
            System.out.println(month+"夏天");
        }else if(month>9 && month<=11){
            System.out.println("秋天");
        }else{
            System.out.println("冬天");
        }
        
    }
    public static int getNum(int min,int max){
        return new java.util.Random().nextInt(max-min+1)+min;
    }
}

2.switch

多分支,且条件为定值,只适用等于等值 定值

月份 星期数 方向

/**
switch(整数定值|字符串){
    case 值1:
        代码1;
    case 值2:
        代码2;
        .......
    default:
}
*/

案例 打印 季节:

/**
月份春夏秋冬
*/
public class Season{
    public static void main(String [] args){
        //随机生成月份
        int month=getNum(1,12);
        month /=3;
        switch(month){
            case 1:
                System.out.println(month+"春天");
                break;
            case 2:
                System.out.println(month+"夏天");
                break;
            case 3:
                System.out.println(month+"秋天");
                break;
            default:
                System.out.println(month+"冬天");
        }
    }
    public static int getNum(int min,int max){
        return new java.util.Random().nextInt(max-min+1)+min;
    }
}

七、面向对象Object Oriented Programming (总结)

1.理解和案例

面向对象理解: Object Oriented Programming 代码的组织管理 +数据的存储管理

1)造类型:不是能直接使用 定义声明信息,不能直接使用信息

2)用类型:场景 归属 块 构造器 方法

public class Sum{
    //定义成员变量
    String name;
    int age=18;
    //不能直接使用
    //System.out.println(age);
    //静态块
    static{
        System.out.println("静态块就是初始化类信息");
    }
    //构造块
    {
        System.out.println("构造块就是初始化对象信息");
    }
    //构造器
    public Oop(){
        System.out.println("构造块就是初始化对象信息,只能执行一次。。。");
    }
    public Oop(String name){
        this.name=name;
        System.out.println(name);
    }
    
    //成员方法
    public void play(){
        System.out.println("玩的开心。。。。。");
    }
    public void laugh(){
        System.out.println("大声的笑。。。。。");
    }
    public static void main(String [] args){
        Oop p =new Oop();
        new Oop("xiaoxiao");
        
    }
    
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/121497.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!