Java基础-数据类型

目录

注释

写代码时,书写注释是一个非常好的习惯。

平时写代码一定要注意规范

选中代码,shift+ctrl+/搞定。

标识符

  • java所有的组成部分都需要名字,类名,变量名以及方法名被称为标识符。

  • 所有的标识符都是以字母,美元符,或者下划线开始的。

    数据类型

    1.强类型语言:要求变量的使用要严格符合规定,所有的变量都必须先定义才能使用。

    2.弱类型语言

    • java的数据类型分为两大类

      a)基本类型

      整数类型(int,long short等) 浮点类型 (float,double) 字符类型char

      byte占1个字节范围:-128~127

      short占2个字节范围:-32768~32767

      int占4个字节范围:-2147483648~2147483647

      long占8个字节范围:-9223372036854775808~9223372036854775807

      b)引用类型

    ​ 类 接口 数组

    什么是字节

    • 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。
    • 字节(byte):是计算机中数据处理的基本单位,习惯用大写B来表示。
    • 1B(byte,字节)=8bit(位)
    • 字符:是值计算机中使用的字母,数字和符号
  • 1bit表示1位 1Byte表示一个字节 1B=8b。

    • 1024B=1KB
    • 1024KB=1M
    • 1024M=1G

    类型转换

    由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。

    低------------------------------------------------------------->高

    byte,short,char-> int-> long-> float -> double

    • 注意:运算中,不同类型的数据先转化位同一类型,然后再进行运算。
    public class Dem01{
        public static void main(String args[]){
            int i=128;
            double b= i;//内存溢出
            //强制转换  (类型)变量名   高——>低
            //自动转换   低->高
    
            System.out.println(i);
            System.out.println(b);
            /*注意;
            1.不能对布尔值进行转换
            2.不能把对象类型转换为不相干的类型
            3.在把高容量转换到低容量时,强制转移
            4.转换的时候可能存在内存溢出,或者精度问题。
             */
            System.out.println((int)23.7);
            System.out.println((int)-45.89f);
            char c='a';
            int d =c+1;
            System.out.println(d);
            System.out.println((char)d);
        }
    }
    

    运行结果:(代码97就是a)

    128
    128.0
    23
    -45
    98
    b
    

    常见问题:

    public class Dem01 {
        public static void main(String[] args){
            //操作比较大的数的时候,注意溢出问题
            //JDK特性,数字之间可以用下划线分割
            int money=10_0000_0000;
            System.out.println(money);
            int years=20;
            int total=money*years;//-1474836480,就算的时候溢出了;
            long total2=money*years;//-1474836480  默认是int,转换前已经存在问题来
            long total23=money*((long)years);
            System.out.println(total23);
            //L    l;
        }
    }
    
posted @ 2023-12-03 20:59  87哥  阅读(27)  评论(0)    收藏  举报