- public class Test_Interface
- {
- public static void main(String[] args)
- {
- /*************StringBuffer,改变字符串自身***********************************************/
- StringBuffer strb = new StringBuffer();// 创建对象
- strb.append(62).append("YES").append(true);// 添加字符串
- System.out.println(strb);
- strb.insert(strb.length(), 'f'); // 索引位置插入字符
- System.out.println(strb);
- strb.delete(8, 9); // 删除包括8,不包括9的字符串
- System.out.println(strb);
- strb.deleteCharAt(8);// 删除该位置的字符
- System.out.println(strb);
- strb.reverse();// 字符串倒置
- System.out.println(strb);
- String ssrb = strb.substring(2, 6);// 截取包括2,包括6的字符串,生成新字符串
- System.out.println(ssrb);
- strb.setCharAt(7, '9');// 设置索引位置的字符
- System.out.println(strb);
- strb.replace(0, strb.length() - 1, "AS");// 替换某段字符串,包括头不包括尾
- System.out.println(strb);
- strb.capacity();
- System.out.println(strb.capacity()); // 计算数组的长度,默认加16个字符的缓冲区,
- /* StringBuffer( String s ); 除了按照s的大小分配空间外,再分配16个 字符的缓冲区 */
- strb.setLength(2);
- System.out.println(strb);// 重设长度,截取,超过则不影响原字符串
- /**********************常用数学API****************************************************/
- System.out.println(Math.abs(-56));
- System.out.println(Math.max(-23, -2));
- System.out.println(Math.min(-23, -2));
- System.out.println(Math.pow(10, -2));//求幂
- System.out.println(Math.sqrt(100));//求平方根
- System.out.println(Math.round(2.6));// 原数加0.5,然后floor
- System.out.println(Math.floor(-1.1));// 小于或等于该整数 -1.1 => -2 , 1.1 => 1
- System.out.println(Math.random());//0-1之间的随机数
- System.out.println(Math.PI); // PI
- /***********************生成随机数***************************************************/
- Random r = new Random();
- System.out.println(r.nextInt(10000) % 35 + 1); // 创建对象,括号内代表生成随机数的范围,包括头不包括尾
- /***********************日期时间API***************************************************/
- Calendar ca = Calendar.getInstance();// 创建日历对象,需要调用方法得到
- int month = ca.get(Calendar.MONTH);// 得到Caledar的属性值,获得日期、时间等,其中月份从0开始计数
- System.out.println(month);
- System.out.println(ca.toString());// 直接tostring输出会显示内存地址和hash码,需要去格式化
- Date date = new Date();// 先创建时间对象,需要导入date类
- SimpleDateFormat sday = new SimpleDateFormat("yy-MM-dd HH:mm:ss"); // 格式化时间,顶部需要导入simple类
- String sdate = sday.format(date); // 对date用方法format格式成sday模板
- System.out.println(sdate);
- /********************增强型for循环(for each)******************************************************/
- Collection<String> alist = new ArrayList<String>();
- alist.add("AAA");
- alist.add("BBB");
- alist.add("CCC");
- alist.add("DDD");
- alist.add("EEE");
- System.out.println(alist);
- for (String newlist : alist) // 增强型for循环,将alist容器内元素依次给newlist输出
- {
- System.out.println(newlist);
- }
- /***********************迭代器***************************************************/
- Iterator<String> diedai = alist.iterator(); // 迭代器,容器没有get方法,需要迭代器循环输出
- while (diedai.hasNext())// 判断游标下一处是否有元素
- {
- String ss = diedai.next();// 取得游标下一处元素,如果diedai类型不一致需要强制转换
- System.out.println(ss);
- }
- /*******************HashSet容器*******************************************************/
- HashSet<Stud> hset = new HashSet<Stud>(); // 自定义类型的HashSet容器的判断去重复,原类型添加equals和
- // hash方法重写
- hset.add(new Stud("HH", 26));
- hset.add(new Stud("LL", 35));
- hset.add(new Stud("HH", 26));
- System.out.println(hset);
- Iterator<Stud> ite = hset.iterator(); // 迭代器 循环获取容器元素并输出
- while (ite.hasNext())
- {
- Stud ss = ite.next();
- System.out.println(ss);
- }
- /**************************************************************************/
- ArrayList<Integer> utils = new ArrayList<Integer>(); //utils 工具
- utils.add(53);
- utils.add(5);
- utils.add(2);
- utils.add(37);
- utils.add(25);
- System.out.println(utils);
- System.out.println(utils.size());//计算容器大小
- Collections.sort(utils);//对原元素从小到大排序,保存于原容器内
- System.out.println(utils);
- int pos = Collections.binarySearch(utils,36); //运用二分法查找该对象的位置,找不到则返回 -(插入点)-1
- System.out.println(pos);
- /**************************************************************************/
- int[] array = new int[]{1, 3, 7,5, 4,7, 6};
- int[] newArr = Arrays.copyOf(array, 6);//运行结果:[1, 3, 7, 4, 6, 0],位数不够时,默认加上并填充默认值
- int[] newArr3 = Arrays.copyOf(array, 3);//运行结果:[1, 3, 7]
- int[] newArr2 = Arrays.copyOfRange(array, 2, 9);//运行结果:[7, 4, 6, 0, 0, 0, 0]
- Arrays.sort(array);//对数组进行排序,从小到大排序
- System.out.println(Arrays.toString(array));//直接打印数组,显示结果:[1, 3, 4, 5, 6, 7, 7]
- int pos = Arrays.binarySearch(array, 7);//二分法查找对应的int数在数组中的位置,使用前必须sort排序,找不到则返回-1
- System.out.println(pos);//pos=5
- }
- }