Java基本数据类型

 

/**
 * JavaSE 基础
 *
 */
public class Hello {
    public static void main(String args[]){
        int i1 = 212;
        int i2 = -212;
        int i3 = 2_000_000; //用下划线更容易识别
        int i4 = 0xff0000; //十六进制表示
        int i5 = 0b1100; //二进制表示
        long l = 100000000000000L;
        float f1 = 3.14f;
        float f2 = 3.14e38f;
        double d1= 1.79e308;
        {
            boolean b1 = true;
            boolean b2 = false;
        }
        boolean checkgereater = 5>3;
//        Java 语言对boolean的存储没有规定,因为理论上只要1个bit,但是Java虚拟机内部会把boolean表示为4个字节整数。
//        java 的char 要用单引号,要和字符串string区分开,字符串用双引号:""
        char a = 'A';
        char zh = '中';
        System.out.println(zh);

//        除了上述的基本类型外,剩下的都是引用类型,引用类型最常见的是 String。
        String s = "hello";
//        引用类型的变量存储是数据的地址,指向数据存放的内存位置
//        常量
        final double D = 3.14;
//        D = 3.15; will result compile error.

        StringBuilder strb = new StringBuilder();
        var strb1 = new StringBuilder();

//      自增、自减
        int n = 100;
        int n1 = n++;
        int m = 100;
        int n2 = ++m;
        System.out.println(n1+" "+ n2);
        {
//        移位运算
            int a1 = 7;
            int b1 = 7 << 1;
            int b2 = 7 << 29;
            System.out.println(Integer.toString(a1)+b1+b2);
//            对byte和short类型进行移位时,会首先转换为int再进行位移。
            {
                int i = 1234567;
                short s1 = (short) i; // 12345
                System.out.println(s1);
            }
//            浮点数运算误差
            {
                double bb1 = 1.0/10;
                double bb2 = 0.1;
                double bb3 = 1-9.0/10;
                System.out.println(bb1 == bb2);
                System.out.println(bb2);
                System.out.println(bb3);
                 //浮点数不管是float还是double都会有计算误差。
//                所以在判断两个浮点数是否相等的时候可以用它们的差是否小于一个非常小的数字。
                double res1 = Math.abs(bb1-bb3);
                if (res1 < 0.0000000001){
                    System.out.println("yes ,is equal");
                }
//                两个整数进行运算时候,不会类型升级
                double d = 1.2 + 24 / 5; // 5.2

//                如果要进行四舍五入,可以对浮点数加上0.5再强制转型:
                double d11 = 2.6;
                int n11 = (int) (d11+0.5);
                System.out.println(n11);
            }
//            三目运算 也叫做三元运算
            int n_1 = -100;
            int x_1 = n_1>0? 100 : 101;
            System.out.println(x_1);

//          可以直接用转义字符'\'u Unicode编码来表示一个字符
            char c1 = '\u0041';
            System.out.println(c1);
//            '\" 表示字符"
//            '\' 表示字符'
//            '\\ 表示字符\
//            '\n 表示换行符
//            '\r 表示回车符
//            '\t 表示Tab
//            '\'u#### 表示一个Unicode编码的字符

//            多行字符串
            String lines_str = "good \n"+
                    "job\n"+
                    "yes";

            String lines_str1 = "good"+
                    "job"+
                    "yes";
            System.out.println(lines_str);
            System.out.println(lines_str1);
//            Text block literals are not supported at language level '11'
//                is since from Java 13
//            String text_block = """
//                    jianyi
//                    haode
//                    nihao
//                    """;
//            数组类型
            int[] arr = new int[3];
            System.out.println(arr.length);

            arr[0] = 1;
            arr[1]=2;
            arr[2] = 3;
            System.out.println(arr.length);

            float[] arr_f = new float[]{1.0f,2.0f,3.0f};

//            字符串数组
            String[] names = {"ABC", "XYZ", "zoo"};
            System.out.println(names[1]);
            String s1 = names[1];
            names[1] = "cat";
            System.out.println(s1); // s是"XYZ"还是"cat"?

//            多维数组的指向
            int[][] ns = {
                    { 1, 2, 3, 4 },
                    { 5, 6, 7, 8 },
                    { 9, 10, 11, 12 }
            };
//            这个arr0变量保存了ns第一个数组的位置,拿到了指向的引用,所以修改后,值会变化
            int[] arr0 = ns[0];
            arr0[0] = 111;
            System.out.println(arr0[0]);
            System.out.println(ns[0][0]);

//            命令行参数
            for(var arg:args){
                System.out.println(arg);
            }

        }


    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值