数据类型及拓展

数据类型

字母,$,_

//Ctrl+D快速复制一行
//Ctrl+/注释
int num=10;     //数字
String b="hello";    //字符串

基本类型

数值类型

  • 整数类型

  1. byte占1字节范围:-128-127
  2. short占2字节范围-32768-32767
  3. int占4字节范围-2147483648-2147483647
  4. long占8字节范围-9223372036854775808-9223372036854775807
  • 浮点类型

  1. float占4字节
  2. double占8字节
  • 字符类型:char占2字节

boolean类型:占1位只有false和true

public class case2 {
    public static void main(String[] args) {
        //整数
        int num1=10;
        byte num2=127;
        short num3=30;
        long num4=40L;//long加个L

        //浮点数
        float num5=50.1F;//float类型加个F
        double num6=3.1415925536793238462643;

        //字符
        char name='青';
        //字符串,String不是关键字,类
        String name1="青棵";

        //布尔值
        boolean flag=true;
        boolean Flag=false;

引用类型

  • 接口

  • 数组

位:计算机内部数据存储最小单位,11001100八位二进制

字节:数据处理的基本单位 1B=8bit

字符:字母、数字、字和符号

拓展

public class case3 {
    public static void main(String[] args) {
        //整数拓展 进制   二进制0b   八进制0    十进制 十六进制0x
        int i=10;
        int i2=010;
        int i3=0x10;
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("================================");

        //===============================================
        //浮点数拓展
        //BigDecimal    数学工具类
        //===============================================

        //float     有限  离散  舍入误差    大约  接近但不等于
        //double
        //最好完全避免使用浮点数进行比较奥!!!!

        float f=0.1f;
        double d=1.0/10;
        System.out.println(f==d);//false    精度丢失
        System.out.println(f);
        System.out.println(d);

        float d1=23455687994032f;
        float d2=d1+1;
        System.out.println(d1==d2);//true
        System.out.println("================================");

        //===============================================
        //字符拓展
        //===============================================

        char c1='a';
        char c2='中';

        System.out.println(c1);
        System.out.println((int)c1);//强制转换

        System.out.println(c2);
        System.out.println((int)c2);//强制转换
        //所有的字符本质还是数字
        //编码    Unicode 表(97=a,十六进制  65=A)     2字节     0~65536
        //U0000  UFFFF
        char c3='\u0061';//十进制
        System.out.println(c3);//a  在ASCII编码表中A=65,在Unicode编码表中\u0061=a
        System.out.println("================================");

        //===============================================
        //转义字符
        //===============================================
        //\t    制表符
        //\n    换行

        System.out.println("Hello\tWorld");
        System.out.println("================================");

        String sa=new String("hello world");//original在括号里面打双引号会自动出来
        String sb=new String("hello world");
        System.out.println(sa==sb);//false  比较的是地址

        String sc=("hello world");
        String sd=("hello world");
        System.out.println(sc==sd);//true   比较的是常量
        //对象    从内存分析
        
        System.out.println("================================");
        //===============================================
        //布尔值拓展
        //===============================================
        boolean flag=true;
        if(flag==true){ }
        if(flag){ }
    }
}

posted @ 2023-07-20 17:25  pesa  阅读(18)  评论(0)    收藏  举报