每日加瓦,终成栋房3

1 篇文章 0 订阅
1 篇文章 0 订阅

今日份学习内容:static、Arrays类、Math类、接口
一、static
1、当一个方法用static修饰的时,就成了静态方法,静态方法不属于对象,是类,如果没有static修饰的话,需要使用时,比较创建一个对象调用
2、静态代码块
格式:static{}
特征:每一个静态代码块唯一执行一次,但是它的执行优于其他类型的代码块,所以比构造方法先执行
用途:适用于只需要执行一次的代码,
二、Arrays类–给数组服务的类
包名:java.util.Arrays
作用:给数组服务的工具类,提供了大量方法,实现数组的常见工作
练习:使用一个字符串,升序排列,倒序打印(toCharArray字符串转化为数组)
注:ArrayIndexOutOfFoundsException数组下标越界

三、Math类(数字间的运算类)
public static void double abs(double num) 取绝对值
public static void double ceil(double num) 向上取整
public static void double floor(double num) 向下取整
punlic static void double round(double num) 四舍五入
练习:实现-10.9到9.9之间大于6或者小于3.3之间的数有多少个,遍历
四、接口
1.作用:多个类的公共规范,引用数据类型在,最主要的时:抽象方法
2.格式: public interface 接口名称{}
注:此处把class换成interface方法时一样的,编译时一样时.java–>.calss文件
3.温馨提示:接口它不是一个类,是类的公共规范***
4.接口和抽象方法的区别(面试题)
5.jdk7,接口内容:常量、抽象方法
jdk8,接口内容:静态方法default、静态方法
jdk9,接口内容:支持私有方法
6.接口使用
接口不能直接使用,它是一个抽象方法,需要是一个实现类去重写它所有的方法,如果不完全重写的话,它还是一个抽象类。
7.在java中,只要在接口里面定义的,全是抽象方法
接口中定义的方法,修饰符必须都是:public abstract
这两个关键字可以省略
方法三要素:方法名、参数列表、返回值
8.java8运行默认方法,
接口中的默认方法,可以通过接口实现类对其直接调用
接口中的默认方法,可以被接口实现类重新重写
接口的抽象方法,可以被实现类调用和重写
9.注意接口的使用:
它没有静态代码块
接口中没有构造方法,不能new一个对象,一个接口可以继承多个接口
一个类继承了直接父类和接口的方法,若产生冲突,会优先继承父类的方法

五、昨日习题解答
1,如何实现向下转型,需要注意什么,
需要先向上转型,才可以向下转型,使用instanceof可以判断是否可以转型,
2.“==”和equals的区别
比较的是两个对象的地址值,基础数据类型比较值,引用数据类型比较地址
equals在没有覆盖方法时,和
相同
覆盖了方法时,比较equals的内容,
3,对于 public Users{
String name;
int age;
//重写equals方法
}
初学者,建议用编译器自带的代码自动生成的方式(idea为例子=):右键单击–>Generate–>选equals即可。
4.static属性修饰的变量,相对于实例变量有什么特别之处
先于实例变量加载
存于静态代码块中
先于对象创建
5.基本数据类型、包装类、String三者转化关系
装箱和拆箱 基础数据类型转为包装类通过装箱实现(构造器:Interger I = new Interger 字符串构造器:String s = new String(); jdk1.5之后自动装箱 反之,包装类转为基础数据类型拆箱:调用包装类的方法xxx.valueOf,jdk1.5自动拆箱) 基础数类型转化为String类:通过String类的方法valueOf()的方法,String类转化为基础数据类型:调用相应包的parsexxx(String)静态方法,或者通过包装类构造器。 包装类转化为String,构造器、字符串构造器,自动装箱, String转化为包装类:包装对象的toString()的方法,调用包装类的toString(形参)方法
6.输入用户名和密码,与存储的用户名和密码比较,如何用户名和密码正确,返回正确,否则返回
关键代码:
ArrayList list = new ArrayList();
System.out.println(“请输入用户名:”);
Scanner sc = new Scanner(System.in);
String user = sc.nextLine();
System.out.println(“请输入密码:”);
String pass = sc.nextLine();
for (int i = 0; i < list.size(); i++) {
if (user.equals(list.get(i).getUsername()) && pass.equals(list.get(i).getPassword())){
System.out.println(“输入正确,进入系统”);
break;
}else{
System.out.println(“信息输入错误,请重新输入”);
rest();
}
}
创建一个用户类,在实例化一些用户,即可运行。
1.实现猜数字游戏
Random r = new Random();
int num = r.nextInt(10);
Scanner scanner = new Scanner(System.in);

    while (true){
        System.out.print("请输入数字:");
        int i = scanner.nextInt();
        if (i > num){
            System.out.println("大");
        }else if(i< num){
            System.out.println("小");
        }else {
            System.out.println("yes");
            break;
        }
    }

今日题库:
1.利用接口做参数,写个计算器,能完成加减乘除运算。
(1)定义一个接口Compute含有一个方法int computer(int n, int m)。
(2)设计四个类分别实现此接口,完成加减乘除运算。
(3)设计一个类UseCompute,类中含有方法:public void useCom(Compute com, int one, int two),此方法能够用传递过来的对象调用computer方法完成运算,并输出运算的结果。
(4)设计一个主类Test,调用UseCompute中的方法useCom来完成加减乘除运算。
此题注意他们的useCom的使用****

2.按如下要求编写Java程序:
(1)定义接口A,里面包含值为3.14的常量PI和抽象方法double area()。
(2)定义接口B,里面包含抽象方法void setColor(String c)。
(3)定义接口C,该接口继承了接口A和B,里面包含抽象方法void volume()。
(4)定义圆柱体类Cylinder实现接口C,该类中包含三个成员变量:底圆半径radius、 圆柱体的高height、颜色color。
(5)创建主类来测试 类Cylinder。

附加题:实现群主发红包程序,群主发红包,成员抢红包,

希望发现问题的小伙伴多多私聊,发消息,我来改正。
每天的加瓦,都是以后的基石。
最后,小蛙在此每日温馨提示,希望各位学习的小伙伴多上CSDN、多上网、多加群聊,多思考、多看api,多延申。则未来可期。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值