数据类型

Posted lemon1234

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型相关的知识,希望对你有一定的参考价值。

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

 

以上是关于数据类型的主要内容,如果未能解决你的问题,请参考以下文章

1.19.6.数据类型数据类型列表结构化的数据类型其他数据类型数据类型注解

JAVA的基本数据类型和引用数据类型的区别

JS简单数据类型和复杂数据类型

java语言的所有基本数据类型指的啥 ?引用数据类型指的啥?

JS基本数据类型和引用数据类型

Sql Server之数据类型详解