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个不同大小的数值做计算,最后数值类型是较大的数值类型.
    	源码会在计算之前就转换数值类型,然后计算结果也就不会超出范围,会导致内存泄露了
    	*/
    
        }
    }
    
  • 相关阅读:
    在loader程序中涉及到的CPU模式切换
    python 线程池的实现
    Python 面向对象程序设计
    Haskell语言学习笔记(28)Data.Map
    C++17尝鲜:在 if 和 switch 语句中进行初始化
    趣味编程:24点(Haskell版)
    Haskell语言学习笔记(27)Endo, Dual, Foldable
    Haskell语言学习笔记(26)Identity, IdentityT
    Haskell语言学习笔记(25)MonadState, State, StateT
    Haskell语言学习笔记(24)MonadWriter, Writer, WriterT
  • 原文地址:https://www.cnblogs.com/Young-shi/p/15037551.html
Copyright © 2011-2022 走看看