A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

StringBuffer;       
                                举例:
                                        键盘录入:"abc" 
                                        输出结果:"cba"
                                用StringBuffer来做。

                                截取subString返回的值不是本身了要用string去接收.

                                String和StringBuffer,StringBuilder的区别
                                String是长度固定的字符串其余都是可以改变的.
                                StringBuffer:JDK1.0以后出现的,线程安全(同步),效率低
                                                                StringBuilder:JDK1.5以后,线程不安全,效率高。
                                                                他们的共同点是:他们都是长度可变的字符序列。
java的传递问题;
        只有值传递,引用传递传递的是地址值.
        形参的类型:
                                基本类型;形参的改变不影响实参。
                                引用类型:形参的改变直接影响实参。(String类有点特殊)
                                String类虽然是引用数据类型,但是他当作参数传递时和基本数据类型是一样的

                Date类中的getTime的方法是获取当前毫秒值    通过时间获取毫秒值.
                System.CurrentTimeMillis获取当前毫秒值  通过系统类的方法获取毫秒值.
                setTime设置毫秒值改变时间对象.
替换功能:
                replaceAll返回是用String接收.
切割功能:
                split返回是用字符串接受.int[] 什么什么的字符串.

                字符串对象名.replaceAll( "(.)\\1+" , "$1");                //$1代表的是 获取到组1里边的内容
Random类中的nextInt()获取到一百的随机数.
Ssytem类不能实例化.
BigInteger:
                可以让超过Integer范围的数字进行运算。
BigDecimal:
                为了更精确的表示小数(浮点型的数据)。
SimpleDateFormat:日期格式化
                package com.heima.Z;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test32 {
        public static void main(String[] args) throws ParseException {
                Date d = new Date();
                SimpleDateFormat s = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
                System.out.println(s.format(d));
               
                String s1 = "2000年08月08日08:08:08";
                SimpleDateFormat s2 = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
                Date d1 = s2.parse(s1);
                System.out.println(d1);
        }
}
集合和数组的区别:
        集合:长度可遍,只能是引用类型要是储存了基本类型会自动装箱变成引用类型.
        数组:长度不可遍,可以存储基本类型也可以存储引用类型,基本类型存的值,引用类型存的是地址值.
集合体系:
        分为单列集合:
                顶层接口Collection:
                Lsit体系:有序(元素的存,取顺序是一致的)可重复的
                        ArrayList:底层结构是数组,查询快,增删慢,线程不安全的效率高.
                        Vector:底层结构是数组,查询快,增删慢,线程安全的效率低.
                        Linked:底层结构是链表,查询慢,增删快,线程不安全的效率高.
                set体系:无序(元素的存储是无序的,) 唯一.
                        HashSet:底层结构是哈希算法.
                        TreeSet:底层结构是二叉树算法.
        length算字符串遍历的时候用length();
        length算数组的遍历的时候用length

泛型:<>,里面必须放引用类型,提高了安全性,前后必须一致,后面可以不写JDK1.7新特性.
数组转成集合:        Arrays类中asList();

HashSet保证元素唯一性依赖于:hashCode()和equals()方法,
                        如果是HashSet存储对象,想保证元素唯一性,必须重写这两个方法。
LinkedHashSet:
                是HashSet的子类,所以也具有唯一性。
                底层是链表实现的,它也是Set体系中唯一一个 可以保证 怎么存,就怎么取(有序)的集合类。
TreeSet:
                让基本类去实现Comparable接口,然后重写接口中的compareTo()方法
                创建TreeSet集合对象的时候,传一个比较器Comparator接口的 子类对象进来。
HashMap:底层也是哈希表来计算的线程不安全的,效率高,键是自定义类型依赖重写equals 方法和Hashcode 有一个子类是LinkedHashMap底层是链表结构,可以保证怎么存就这么取,
TreeMap:二叉树,不安全的,效率高,如果键是自定义类型,是通过自然排序实现基本类中的接口,还有一种是比较接口在TreeMap的空参里写一个弥明内部类然后实现比较。
这里是我整理集合什么的比较重要的提醒还有一些应该注意的东西,日期转化什么的正则都有所提示希望大家 能一起好好交流..

评分

参与人数 1黑马币 +3 收起 理由
张研老师 + 3 很给力!

查看全部评分

12 个回复

倒序浏览
马克一下
回复 使用道具 举报
String是长度固定的字符串这句话不是很明白,不应该是赋值后无法改变的字符串么,为什么仅仅长度固定?
回复 使用道具 举报
是呀,谁给讲讲
回复 使用道具 举报
都是java基础啊。
回复 使用道具 举报
队长别开枪是我 发表于 2015-12-14 16:31
String是长度固定的字符串这句话不是很明白,不应该是赋值后无法改变的字符串么,为什么仅仅长度固定? ...

String字符串是个很特殊的类型 其字符串本身 存在于常量池    说的复制后无法改变 是常量池中的值 不像堆内存中的对象一样       字符串的引用是可以改变的    这是我的理解  希望对你有帮助。
回复 使用道具 举报
总结的很不错
回复 使用道具 举报
a527512132 来自手机 中级黑马 2016-2-2 01:20:29
8#
总结很好,要学习
回复 使用道具 举报
受教了,挺有用得
回复 使用道具 举报
好给力,你真帅
回复 使用道具 举报
不错 很详细啊
回复 使用道具 举报
Mayer 来自手机 中级黑马 2016-2-12 15:11:33
12#
你真帅
回复 使用道具 举报
基本语法都差不多,都是数据的传递
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马