数据类型

JAVA支持的类型分为两类:基本类型/原生类型(Primitive Type)和引用类型(Reference Type)
        1. Java包含8种原生数据类型:
        byte, short, int, long, float, double, boolean, char
        8种Wrapper类
        Byte, Short, Integer, Long, Float, Double, Boolean, Character
        2. 引用类型包括类、接口、数组类型,还有一种特殊的null类型
        整型字面值:十进制、二进制(0b/0B)、八进制(0)、十六进制(0x/0X)

 

package Content;

import java.util.Arrays;

public class DataTypeDemo {

    public static void main(String[] args) {
        
        int a = 10;
        int b = 0b1001;
        int c = 076;
        int d = 0xff;

        // 浮点字面值:包含小数部分的数值
        float e = 3.14f;
        double f = 3.14;

        // 布尔字面值:true、false
        boolean g = true;

        // 字符字面值:包含在单引号中的单个字符
        char h = 'a';

        // 字符串字面值:包含在双引号中的一串字符
        String k = "Hello";

        System.out.println("a = " + a);
        // 将整型转成二进制、八进制和十六进制字符串
        System.out.println("b = " + Integer.toBinaryString(b));
        System.out.println("c = " + Integer.toOctalString(c));
        System.out.println("d = " + Integer.toHexString(d));
        System.out.println("e = " + e);
        System.out.println("f = " + f);
        System.out.println("g = " + g);
        System.out.println("h = " + h);
        System.out.println("i = " + k);
        
        
        /*Java 数据类型: 基本数据类型 
         *                    byte short int long float double char boolean
         *                引用数据类型:
         *                    类、数组、接口
         *     数组初始化:
         *         静态初始化
        */
        //  **************一维数组*************
        //静态初始化
        int[]  intArray;  //声明
        intArray = new int[] {1,2,3,4}; //初始化
        
        //声明+初始化
        int[] intArray1 = new int[] {1,2,3,4,5}; 
        int[] intArray2 = {1,2,3,4,5,6};
    
        //动态初始化
        int[] intArray3 = new int[5];
        for(int i=0; i<intArray3.length; i++) {
            intArray3[i] = i;
        }
        //for循环遍历
        for (int i=0; i<intArray3.length; i++) {
            System.out.print(intArray3[i] + " ");
        }
        System.out.println();
        // for-each循环遍历
        for (int value : intArray3) {
            System.out.print(value + " ");
        }
        System.out.println();

        // Arrays.toString():将数组转换为String
        System.out.println("intArray3 is" + Arrays.toString(intArray3));

        int[] intArray4 = { 6, 7, 8, 9, 10 };
        intArray3 = intArray4;// ****
        System.out.println("intArray3 is" + Arrays.toString(intArray3));
        intArray4[4] = 100;
        System.out.println("intArray3 is" + Arrays.toString(intArray3));

        // *********二维数组***********
        int[][] intArray5 = new int[][] { { 1, 2 }, { 3, 4 }, { 5, 6 } };
        int[][] intArray6 = { { 1, 2 }, { 3, 4 }, { 5, 6 } };

        int[][] intArray7 = new int[3][2];
        // 二维数组的遍历
        for (int i = 0; i < intArray7.length; i++) {
            for (int j = 0; j < intArray7[i].length; j++) {
                intArray7[i][j] = i * j;
            }
        }
        
        
        String m = "20";
        String n = "30";
        
        // 此时“+”号为连接字符串
        System.out.println(m + n);
        // 将字符串转成整型再相加
        System.out.println(Integer.parseInt(m) + Integer.parseInt(n));
    }

}
View Code

String

package Content;

import java.util.*;

public class StringDemo {
    /*
     * String 不可变类:
     *              字符串的内容不可变,一旦创建了 String 对象,那它的值就无法改变;
     *              String 引用的字符串变量可以改变
     *              只能产生一个新的变量,使string1指向变量的地址改变
     *       字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类
     * */
    public static void main(java.lang.String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        String string1 = "Hello World";
        String string2 = string1;
        System.out.println(string1);
        System.out.println(string2);
        System.out.println(string1 == string2);
        
        System.out.println();
        
        string1 += " and Java !";
        System.out.println(string1);
        System.out.println(string2);
        System.out.println(string1 == string2);
        
        System.out.println(string1.length());
        System.out.println(string1.charAt(4));
        System.out.println(string1 == string2);
        
        /*比较两个字符串是否相等:
         *       equals():区分大小写
         *       equalsIgnoreCase():不区分大小写  */
        System.out.println("equals()&equalsIgnoreCase()");
        System.out.println(string1.equals(string2));
        System.out.println(string1.equalsIgnoreCase(string2));
        
        /*比较两个字符串大小: 
         *      按字典顺序比较两个字符串的大小
         *        compareTo() :区分大小写
         *        compareToIgnoreCase():不区分大小写*/
        String stringa = "Hello Word";
        String stringb = "hello word";
        System.out.println(stringa.compareTo(stringb));
        System.out.println(stringa.compareToIgnoreCase(stringb)); 
        
        /* startsWith():判断字符串是不是以特定的字符开头
         * endsWith():判断字符串是不是以特定的字符结束*/
        System.out.println("startsWith&endsWith");
        System.out.println(string1.startsWith("Hello"));  
        System.out.println(string1.endsWith("Java"));
        
        String string3 = "Hello";
        String string4 = "world";
        System.out.println(string3 + string4);
        //concat() 连接两个字符串
        System.out.println(string1.concat(string2));
        
        /* toUpperCase(): 将字符串转换为大写
         * toLowerCase():将字符串转换为小写*/
        System.out.println(string1.toUpperCase());
        System.out.println(string1.toLowerCase());
        
        // trim()去掉起始和结束的空格
        String string5 = "    Hello World    ";
        System.out.println(string5.trim());
        
        
        /*substring(beginIndex,endIndex)截取字符串
         *    输出的结果第一条为“Hello”,
         *    第一个参数0(beginIndex)是开始截取的位置,
         *    第二个参数5(endIndex)是截取结束的位置,输出的结果第二条是“Word”,
         *    参数6(beginIndex)是开始截取的位置。
         * */
        String string6 = "Hello Word";
        System.out.println(string6.substring(0, 5));
        System.out.println(string6.substring(6));
        /*
         *  indexOf():查找字符或字符串第一次出现的地方
         *  lastIndexOf():查找字符或字符串最后一次出现的地方*/
        String string7 = "Hello Word";
        System.out.println(string7.indexOf("o"));
        System.out.println(string7.lastIndexOf("o"));
        //字符串常量池
        String string8 = "Hello";
        String string9 = "Hello";
        System.out.println(string7 ==string8);
        
        String string10 = "Hello";
        String string11 = "Hello";
        System.out.println(string9 ==string10);
    
        //replace() 替换:
        String a = "Hello Word";
        String b = "你好";
        System.out.println(a.replace(a, b));
        System.out.println(a.replace(a, "HELLO WORD"));
        System.out.println(b.replace("你", "大家"));
        
        //进制转换
        //把int型数据转换乘X进制数并转换成string型
        System.out.println("进制转化:");
        int num = scanner.nextInt();
        int x = scanner.nextInt();
        String s = Integer.toString(num, x); 
        System.out.println(s);
        //把字符串当作X进制数转换成int型
        int y = Integer.parseInt(s, x);
        System.out.println(y);
        
        //stringBuilder:不是线程安全的  优先使用 效率更高
        //stringBuffer: 是线程安全的
        
        StringBuilder stringBuilder = new StringBuilder("ruists");
        StringBuilder stringBuilder2 = stringBuilder;
       
        //append():将指定的字符串追加到此字符序列。
        stringBuilder.append(" are good for health");
        System.out.println(stringBuilder);
        
        //delete():移除此序列的子字符串中的字符。
        stringBuilder.delete(10, 15);
        System.out.println(stringBuilder);
        
        //insert():将 String 参数的字符串表示形式插入此序列中
        stringBuilder.insert(10, " AAAA ");
        System.out.println(stringBuilder);
        
        //reverse():将此字符序列用其反转形式取代。
        stringBuilder.reverse();
        System.out.println(stringBuilder);
        
        //replace():使用给定 String 中的字符替换此序列的子字符串中的字符。
        stringBuilder.replace(0, 6, "RUISTS");
        System.out.println(stringBuilder);
        
        System.out.println(stringBuilder == stringBuilder2);
       
        String string = stringBuilder.toString();
        
       
      
    }

}
View Code

 

posted @ 2019-10-03 16:15  七忆鱼  阅读(164)  评论(0编辑  收藏  举报