java的八大基本数据类型和类型扩展

学习中老师提到的一道经常考的笔试题

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

  •  

    • (一)基本类型分为数值类型和boolean类型

      数值类型:byte占一个字节范围:-127-128

      short占两个字节范围:-32768-32767

      int占4个字节范围:正负21亿

      long占8个字节范围:比int还大的多

      浮点类型:float占4个字节

      double占8个字节

      字符串类型:char占两个字节

      boolean类型:占1位,其值为true和false两个

    • (二)引用类型:类

                                 接口

                                 数组

      学习中老师提到的一道经常考的笔试题


       

 //八大基本数据类型
       //整数
       int num1 = 10;//最常用
       byte num2 = 11;
       short num3 = 30;
       long num4 = 30L;//long类型要在数字后面加个L
       //小数:浮点数
       float num5 = 50.1F;//float 类型要在数字后面加F
       double num6 = 3.1415926;
       //字符
       char name = 'A';
       //字符串,String不是关键字,是类
       //String namea = "秦疆";
       //布尔值:代表是,非
       boolean flag = true;
       //boolean flag = false;

public class demo3 {
   public static void main(String[] args) {
       //整数拓展: 进制   二进制0b     十进制   八进制0   十六进制0x
       int i = 10;
       int i2 = 010;   //八进制0
       int i3 = 0x10; //十六进制0x   0~9 A~F 16
       System.out.println(i);    //结果i=10 i2=8 i3=16
       System.out.println(i2);
       System.out.println(i3);
       System.out.println("=============================");
       //================================================
       //浮点数拓展? 银行业务怎么表示?钱
       //========================================
       //float 有限,离散,舍入误差,大约是估计,接近但不等于
       //double
       //最好完全避免使用浮点数进行比较
       float f = 0.1f;   //0.1
       double d = 1.0/10;   //0.1
       System.out.println(f==d);//结果false
       System.out.println(f);
       System.out.println(d);
       System.out.println("====================");
       float d1 = 21211212f;
       float d2 = d1+1;
       System.out.println(d1==d2);//true,浮点是离散,舍入误差,接近但不等于
       //================================================
       //字符串拓展?
       //================================================
       char c1 = 'a';
       char c2 = '中';
       System.out.println(c1);
       System.out.println((int)c1);//强制换行
       System.out.println(c2);
       System.out.println((int)c2);//强制换行
  //所有的字符本质还是数字,由于a和中是字符所以进行了强制转换
  //编码 Unicode 表:(97=a 65 =A) 2字节 0 - 65536 Excel 2的16次方=65536
       //U0000 UFFFF       //0061~69为a~i,006A~F为j~o
       char c3 = '\u0061';//,0070~79是p~y,007A是z
       System.out.println(c3);//a
       //转义字符
       // \t 制表符
       // \n 换行
       System.out.println("hello\nworld");
       System.out.println("==============================");

       //对象, 从内存分析
       String sa = new String("hello world");
       String sb = new String("hello world");
       System.out.println(sa==sb);
       String sc = "hello world";
       String sd = "hello world";
       System.out.println(sc==sd);
       //----------------
       //布尔值扩展
       boolean flag = true;
       if (flag==true){}//新手
       if(flag){}//老手,两者意义一样

  }
}
 
posted @   学JAVA的旅行者  阅读(204)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示