Javase面向对象4:static关键字,几个常用工具类

目录

1. 笔记

1.1 static关键字

1.2 一些工具类的介绍

2. 练习

2.1 static关键字练习

2.2 工具类练习:


1. 笔记

1.1 static关键字

1.static  ---> 静态的
   成员变量
       实例变量:属于对象的
       类变量:属于类的 在成员变量上添加修饰符static
           如何使用:
               对象.属性(符合权限修饰符的范围)
               类名.属性(符合权限修饰符的范围)
    成员方法
       实例方法:属于对象
       类方法:属于类  在成员方法上添加修饰符static
       在加载的时候,依然是先加载静态方法,再加载普通方法
       使用方便:
           对象.方法
           类名.方法  不依赖与对象,工具类的方法就设置为static
       使用注意事项:
           静态资源内只能使用静态资源,不能直接使用非静态资源
               因为静态资源内没有this关键字
           非静态资源内都可以直接使用
     初始化块(待讲)
     内部类(待讲)

     static用途
       用于属性,是为了资源共享
       用于方法,是为了类名调用方便

1.2 一些工具类的介绍

1.一些工具类的介绍
      1.1 数组工具类Arrays
          copyof()  数组的拷贝--用于数组的扩容
          sort()    数组的排序--从小-大
                     基本数据类型+String
          toString()  将数组的内容,拼接成字符串返回
       1.2 系统类System的几个方法
              System.currentTimeMillis();   1970-1-1 0:0:0距离此时此刻的毫秒数
              System.exit(int)   系统退出
              static void gc() :运行垃圾回收器 
              static void arraycopy(Object src, int srcPos, Object dest, int               destPos, int length):从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。常用于数组的插入和删除
      
       1.3 数学类Math
             random() 产生[0,1)随机数
             abs()  绝对值
             ceil(double)  向上取整(比参数大的最近的整数)
             floor(double)  向下取整(比参数小的最近的整数)
             round(double)  四舍五入
             pow(int a, int b) a的b次方
             sqrt(double a)  开根号
             PI    圆周率
             max(double x,double y)  返回x,y中的最大值
             min(double x,double y)  返回x,y中的最小值

  2. API(学习帮助文档)
      只要是java提供的类,在API中都能查的到

2. 练习

2.1 static关键字练习

练习一:

比如说,基础班新班开班,学员报到。现在想为每一位新来报到的同学编学号(sid),从第一名同学开始,sid为1,以此类推。学号必须是唯一的,连续的,并且与班级的人数相符,这样以便知道,要分配给下一名新同学的学号是多少。这样我们就需要一个变量,与单独的每一个学生对象无关,而是与整个班级同学数量有关。

所以,我们可以这样定义一个静态变量numberOfStudent,代码如下:

public class Student {
  private String name;
  private int age;
  // 学生的id
  private int sid;
  // 类变量,记录学生数量,分配学号
  public static int numberOfStudent = 0;

  public Student(String name, int age){
    this.name = name;
    this.age = age; 
    // 通过 numberOfStudent 给学生分配学号
    this.sid = ++numberOfStudent;
  }

  // 打印属性值
  public void show() {
    System.out.println("Student : name=" + name + ", age=" + age + ", sid=" + sid );
  }
}

public class StuDemo {
  public static void main(String[] args) {
    Student s1 = new Student("张三", 23);
    Student s2 = new Student("李四", 24);
    Student s3 = new Student("王五", 25);
    Student s4 = new Student("赵六", 26);

    s1.show(); // Student : name=张三, age=23, sid=1
    s2.show(); // Student : name=李四, age=24, sid=2
    s3.show(); // Student : name=王五, age=25, sid=3
    s4.show(); // Student : name=赵六, age=26, sid=4
  }
}

2.2 工具类练习:

练习一:

请使用Math 相关的API,计算在 -10.85.9 之间,绝对值大于6 或者小于2.1 的整数有多少个?

public class MathTest {
  public static void main(String[] args) {
    // 定义最小值
    double min = -10.8;
    // 定义最大值
    double max = 5.9;
    // 定义变量计数
    int count = 0;
    // 范围内循环
    for (double i = Math.ceil(min); i <= max; i++) {
      // 获取绝对值并判断
      if (Math.abs(i) > 6 || Math.abs(i) < 2.1) {
        // 计数
        count++;
      }
    }
    System.out.println("个数为: " + count + " 个");
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯丰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值