包与接口以及常用工具类的使用

 

(一)  创建并使用自定义包

源代码如下:

 packageMypackage;                     //声明存放类的包

    importjava.util.*;                          //引用 java.util 包

    public classKY6_1 {   

        privateint year,month,day;

        publicstatic void main(String[] args){}

        public KY6_1 (int y,int m,int d) {

            year = y;

            month= (((m>=1) & (m<=12)) ? m : 1);  

            day =(((d>=1) & (d<=31)) ? d : 1);

        }     

        publicstatic int thisyear() {

             returnCalendar.getInstance().get(Calendar.YEAR);//返回当年的年份

        }

        public intyear() {

            returnyear;//返回年份

        }

        publicString toString(){

               return year+"-"+month+"-"+day;//返回转化为字符串的年-月-日

        }

     }

编写 KY6_2.java 程序:

importMypackage.KY6_1; //引用 Mypackage 包中的KY6_1 类

  public class KY6_2  

  {

        private String name;

        private KY6_1 birth;

        publicstatic void main(String args[])

        {

            KY6_2 a = new KY6_2("张驰",1990,1,11);

            a.output();

        }

        public KY6_2 (String n1, int y, int m, intd)

        {                //初始化变量与对象

        name = n1;

            birth = new KY6_1(y, m, d);

        }

        public int age()                                   //计算年龄

        {

            return birth.year() -KY6_1.thisyear(); //返回当前年与出生年的差即年龄

        }

        public void output()

        {

            System.out.println("姓名 : "+name);

            System.out.println("出生日期: "+birth.toString());

            System.out.println("今年年龄 : "+age());

        }

    }

(3)运行上面的代码结果是:

 

有问题。returnbirth.year() - KY6_1.thisyear(), 这条语句中数刚好相反,是以前的年份减现在的应该换过来。

 

(二)  使用接口技术

 

接口:

public interfacejiafa {

    doubleadd(double a,double b);

}

 

public interfacejianfa {

    doublejianfa(double a,double b);

   

}

 

主函数:

public classKY6_3  implements jiafa,jianfa{

 

publicdouble jianfa(double a, double b) {

    

     returna-b;

}

 

publicdouble add(double a, double b) {

    

     returna+b;

}

public static void main(String args[]) {

KY6_3 a =new KY6_3();

System.out.println("加法的结果是:"+a.add(50,60));

System.out.println("减法的结果是:"+a.jianfa(80,20));

}

}

代码运行的结果是:

 

(三)  Math类的使用

 

源代码如下:

 

public class KY6_4 {

public static void main(String args[]) {

     System.out.println (Math.abs (-5.8));          

     System.out.println (Math.ceil (3.2));             

     System.out.println (Math.floor (3.8));               

     System.out.println (Math.round (3.8));           

     System.out.println (Math.round (3.2));        

     System.out.println (Math.min (3, 2));           

     System.out.println (Math.max (Math.PI, 4));       

     System.out.println (Math.log (7.0));        

     System.out.println (Math.pow (7,2));               

     System.out.println (Math.exp (0.4));               

     System.out.println ("e is:"+ Math.E);         

     System.out.println ("π is:"+Math.PI);        

     System.out.println(Math.random());       

 

}

}

程序执行的结果:

(四)  String类与StringBuffer类的使用

 

源代码如下:

public classKY6_4 {

public staticvoid main(String args[]) {

    String s=newString("This is an demo of the String method.");

   System.out.println("Length: "+s.length());

   System.out.println("SubString: "+s.substring(11,15));

    StringBuffer sf=new StringBuffer("HelloWorld!");

   sf.append(" Hello Java!");

   sf.insert(12," And");

    System.out.println(sf);

   System.out.println(sf.charAt(0));

   sf.setCharAt(0,'h');

   System.out.println(sf.charAt(0));

   System.out.println(sf);

}

}

程序执行的结果是:

思考题:

1.  算术运算应该使用什么类?

Math类(数学类)

2.  Java语言中如何表示字符串?

字符串可以是字母数字和特殊的字符表示,在java里面则要用双引号才能在java里面表示出来,否则就会有错误。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值