zoukankan      html  css  js  c++  java
  • JAVA基础知识-02

    java 常用关键字

    java变量名取名规范

    java的数据类型

    1. 基本类型
    public class test {
    
        public static void main(String[] args) {
           // dada
            byte a = 10;  //占1字节 -128~127
            short b = 3000; //占2字节 -32768~32767
            int c = 8889999;//占4字节 -2147483648-2147483647
            long d = 100000000;//占8字节 -923372036854775808-923372036854775808 long类型后面要加L
            float f = 32.5F; //占4字节  float类型加F
            double g = 3.1415926; //占8字节
            char adb = 'a'; //字符 占2字节  字符类型用的是单引号不是双引号
            String name = "dadwada"; //字符串
            boolean h = false;
        }
    }
    
    
    1. 引用类型
    • 接口
    • 数组

    进制的定义

    public class test {
        public static void main(String[] args) {
            //进制  二进制0b 八进制0  十六进制0x
            int i = 10;
            int a = 010;
            int b = 0x10;
            System.out.println(i); //10
            System.out.println(a); //8
            System.out.println(b); //16
        }
    }
    

    数据类型转换的那些事

    public class test {
        public static void main(String[] args) {
            //类型转换 数据类型从低到高排列
            //byte short int long float double
            /*
            * 数据类型从高到低转换需要强制转换
            * 转换语法 (数据类型) 变量名
            * */
            int a = 129;
            byte b = (byte) a; //由于byte 是-128~127,超出范围内存溢出 输出了-127
            System.out.println(b);
            /*
             * 数据类型从低到高转换自动转换
             * */
            byte c = 127;
            int d = c; //由于byte 是-128~127,超出范围内存溢出 输出了-127
            System.out.println(d);
            /*
            注意点:
            不能对布尔值转换,因为布尔值和数值是不同类
            高容量像低容量转换需要强制转换
            转换时候存在内存溢出或者精度问题
            */
            System.out.println((int)25.6);  //25
            System.out.println((int)-27.6f);  //-27
            //jdk7新特性 数字可以用下划线分割,但不影响计算和输出
            int e = 10_0000_0000;
            System.out.println(e - 1); //999999999
    
            /*操作较大数据的时候注意 溢出问题
            *如果数据溢出,会导致计算错误,我们需要在计算前就把数据类型转换
            *
            */
             byte d = 10;
    	int a = 10_0000_0000;
    	int b = 10;
    	double c= 10;
    	System.out.println(d*a);
    	//1410065408 
    	System.out.println(a*b);
    	//1410065408 1.0E10超出了int范围,会导致内存泄露
    	System.out.println(a*c);
    	/*1.0E10 但是我们计算时候,2个不同大小的数值做计算,最后数值类型是较大的数值类型.
    	源码会在计算之前就转换数值类型,然后计算结果也就不会超出范围,会导致内存泄露了
    	*/
    
        }
    }
    
  • 相关阅读:
    BZOJ5212 ZJOI2018历史(LCT)
    BZOJ5127 数据校验
    253. Meeting Rooms II
    311. Sparse Matrix Multiplication
    254. Factor Combinations
    250. Count Univalue Subtrees
    259. 3Sum Smaller
    156. Binary Tree Upside Down
    360. Sort Transformed Array
    348. Design Tic-Tac-Toe
  • 原文地址:https://www.cnblogs.com/Young-shi/p/15037551.html
Copyright © 2011-2022 走看看