以下是关于java中8种基本类型的介绍说明:

package cn.review.day01;
/**
 * java基础复习,8种数据类型
 * (byte,short,long,int,double,float,boolean,char)
 * @author dyq
 *
 */
public class JavaBase01 {
    public static void main(String[] args) {
        /**
         * 整数类型 byte,short,int,long
         * byte范围:-128~127,1个字节
         * short范围:-2的15次方~2的15次方-1,2个字节
         * int范围:-2的31次方~2的31次方-1,4个字节
         * long范围:-2的63次方~2的63次方-1,8个字节,声明方式一般后缀加L;
         * 以下为一般申明方式
         */
        byte b = 127;
        System.out.println(b);
        short s = 123;
        System.out.println(s);
        int i = 10;
        System.out.println(i);
        long l = 100000000L;
        System.out.println(l);
        /**
         * 浮点型 
         * float范围:10的-38次方到10的38次方,4个字节,声明方式必须后缀加f
         * double范围:10的-308次方到10的308次方,8个字节
         */
        float f = -4.23f;
        double d = 4.23;
        /**
         * 布尔类型:boolean
         */
        boolean bool = true;
        System.out.println(bool);
        /**
         * 字符类型
         * char:使用单引号括起来,2个字节
         */
        char c = 'a';
        System.out.println(c);
        
    }
}

关于String,StringBuffer,StringBuilder的相关介绍以及区别说明:

package cn.review.day01;

/**
 * String,StringBuffer,StringBuilder的介绍
 * 三者的区别:
 *     1.执行速度方面:StringBuilder>StringBuffer>String
 *    2.StringBuilder是线程不安全的,而StringBuffer是线程安全的 
 *
 * 使用场景:
 * String适用于少量字符串操作的情况下
 * StringBuilder适用于单线程情况小,在字符缓存区进行大量操作的情况下。
 * StringBuffer适用于在多线程的情况下,在字符缓存区进行大量操作的情况下。
 * @author dyq
 *
 */
public class JavaBase02String {
    public static void main(String[] args) {
        /**
         * String为字符常量,长度不可变,不可变常量是线程安全的。
         * String类型比较不同对象内容是否相同,应该用equals,因为==用于比较引用类型和比较基本数据类型时具有不同的功能。
         * 如果String缓冲池内不存在与其指定值相同的String对象,那么此时虚拟机将为此创建新的String对象,并存放在String缓冲池内。
         * 如果String缓冲池内存在与其指定值相同的String对象,那么此时虚拟机将不为此创建新的String对象,而直接返回已存在的String对象的引用。
         */
        String a = "aaa";
        System.out.println(a);
        String str1 = "aaab";
        String str2 = a+"b";
        System.out.println(str1==str2);//false
        System.out.println(str1.equals(str2));//true
        
        
        /**
         * StringBuffer为字符串变量,查看源码发现其方法都使用synchronized关键字修饰,所以为线程安全的。
         * 
         * 例如源码: @Override
         *        public synchronized StringBuffer append(String str) {
         *            toStringCache = null;
         *            super.append(str);
         *            return this;
         *        }
         */
        StringBuffer sbf = new StringBuffer();
        sbf.append("aaa");
        System.out.println(sbf);
        /**
         * StringBuilder为字符串变量,查看源码发现其方法没有使用synchronized关键字修饰,所以为线程不安全的。
         * 例如源码:
         *   @Override
         *   public StringBuilder append(String str) {
         *       super.append(str);
         *       return this;
         *   }
         */
        StringBuilder sbu = new StringBuilder();
        sbu.append("aaa");
        System.out.println(sbu);
        
        
    }
}