Java基础知识复习(2)

1.冒泡排序

class TestAry{
   public static void main(String[] args){
      int[] ary = {3,2,9,1,7,10,34};
      int temp=0;
      for(int i=0;i<ary.length-1;i++){
        for(int j=i+1;j<ary.length;j++){
             if(ary[i]>ary[j]){
                temp = ary[i];
                ary[i]=ary[j];
                ary[j]=temp;
             }
        }
      }
   }
}

2.二分法查找

 class TestAry{
   public static void main(String[] args){
     int[] ary={1,2,3,4,5,7,8,9};
     int v=9; //需要查找的值
     System.out.println("查找的位置为:"+TestAry.serachAry(ary,v));
   }
   public static int serachAry(int[] ary,int v){
     int low = 0;
     int hig = ary.length-1;
     while(low<=hig){
       int mid = (low+hig)/2
       if(v==ary[mid]){
          return mid;
       }else if(v<ary[mid]){
          hig = mid-1;
       }else if(v>ary[mid]){
          low = mid+1;
       }
     }
   }
 }

3.包装类的使用,自动装箱、拆箱

   //创建包装类实体:
   Integer i = new Integer(30);
   Integer i = Integer.valueOf(30);
   Integer i = Integer.parse("30");
   Integer i =5;//自动装箱
   int a = i;//自动拆箱
   //说明:Integer包装类,缓存大小为-128-127之间。

4.StringBuilder 和StringBuffer区别

 StringBuilder:线程不安全,效率高。
 StringBuffer:线程安全效率低。
 StringBuilder和StringBuffer常用方法:
   reverse();//反转
   append("添加内容");
   insert(0,'e'); //在指定位置添加内容
   delete(9,18);//删除指定位置内容
   setCharAt(0,'k');//指定位置修改内容

5.Calendar、Date、DateFormat日期类的使用

创建Calendar对象并使用:
Calendar c1 = new GregorianCalendar();
Calendar c32 = new GregorianCalendar(2018,10,20,20,30,30);
c1.get(Calendar.YEAR);//获取年
c1.set(Calendar.YEAR,2000);
c1.add(Calendar.YEAR,20);//在日期基础上加20年
c1.add(Calendar.DAY,10);//在日期基础上加10天
c1.getTime();//获取Date类型时间
c1.setTime(new Date());//设置Date类型时间
c1.after(c2);//c1日期是否在c2后面

创建创建Date对象:
Date date = new Date();//获取当前时间
System.currentTimeMillis();//获取当前时间毫秒
date.getTime();///获取当前时间毫秒
date.afet(new Date());//date日期是否在当前时间的后面

创建DateFormat对象:
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String strTime = df.format(new Date());//Date类型转String
Date d = df.parse("219-10-11");  //字符串转Date类型

6.File的使用

  //File实例化:
  File f = new File("D:\\1.txt");
  f.renameTo(new File("D:\\2.txt"));//重新命名
  f.createNewFile();//创建文件
  f.exists();是否存在
  f.isDirtectory();//是否是目录
  f.getModifide();//获取最后修改时间
  f.length();//获取文件大小
  f.getName();//获取文件大小
  f.getAbsolute();//获取文件绝对路径
  f.delete();//删除文件
  f.mkdir();//创建文件,必须有父目录
  f.mkdirs();//创建文件,没有父目录可以自动创建

7.枚举的使用案例

 public class TestEnum{
    public static void main(String[] args){
       Num  n = Num.getNum("00","成功")
       if(n!=null){
          switch(n){
            case ONE:
               System.out.println("k:"+n.getCode()+"v:"+n.getMes());
             break;
             case TWO:
               System.out.println("k:"+n.getCode()+"v:"+n.getMes());
             break;
             default:
               System.out.println("其他信息");
          }
       }
       
    }
 }
 enum Num{
   ONE("00","成功"),TWO("01","失败");
   private String code;
   private String mes;
   public String getCode(){return this.code;}
   public void setCode(String code){this.code=code}
   public String getMes(){return this.mes;}
   public void setMes(String mes){this.mes=mes;}
   private  Num(String code,String mes){
     this.code=code;
     this.mes=mes;
   }
   public static Num  getNum(String c,String m){
      for(Num n:Num.valuse()){
         if(n.getCode().equals(c)&&n.getMes().equals(m)){
            return n;
         }
      }
      return null;
   }
 }

8.Execption \ Erro \ Throwable 三者关系

  1. Throwable是父类, Erro和Exception是子类
  2. Erro:是系统错误,程序员不可以解决。
  3. Exception:是异常,表示程序员可以控制的错误。

9.异常处理
使用try…catch(Exception e)…finally…来捕获异常
throws 一般用方法抛出异常,给调用者处理

   class T{
      public void test() throws Exception{
         .......
      }
   }

throw 在代码业务中执行处理异常

try {
	throw new MyException("输入的年龄不合法!!!!");  
} catch (MyException e) {
	//输入的年龄不合法!!!!
	 System.out.println(e.getMessage()); 
}

10.自定义异常

  //定义异常类:
  class MyException extends Exception{
     public MyException (String mes){
        super(mes);
     }
  }
  //使用自定义异常:
   try {
	  throw new MyException("输入的年龄不合法!!!!"); //抛出自定义异常
   } catch (MyException e) {
	 System.out.println(e.getMessage()); //打印自定义异常信息
   }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

java之书

会持续更新实用好的文章谢谢关注

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

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

打赏作者

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

抵扣说明:

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

余额充值