Java day 2-常量、数据类型和运算符

目录

常量的概述和使用

数据类型

数据类型转换

char数据类型计算

运算符

练习题


常量的概述和使用

  • 显示

  • System.out.println("string"); //字符串常量
  • System.out.println(123); //整数常量
  • System.out.println(12.3); //小数常量
  • System.out.println('a'); //字符常量 ,‘’内仅有单个字符
  • System.out.println(true); //布尔常量:true和flase
  • 空常量 (数组中演示)

数据类型

  • 基本数据类型
    • 整数型
      • byte ——1个字节-128~127
      • short——2字节
      • int ——4字节
      • long——8字节
        • 数字输入时,默认为int类型,赋值过程包含数值转换的过程。将数字赋值给long,需要在数字末尾加上L

  • 浮点型
    • float——4字节
      • 小数默认数据类型是double
      • double精度更高,转化为float会有精度损失。直接赋值会报错,无法从double转为float。
    • double——8字节

long赋值给double,显示为科学计数法的形式

  • 布尔型
    • Boolean——1bit。
  • 字符型
    • char——2字节
  • 引用数据类型

数据类型转换

  • 隐式转换
    • 实际赋值的过程就有隐式转换(整数默认int,浮点数默认double)
    • 低精度转高精度

  • 高精度不能直接转为低精度

  • 强制转换
    • 高精度转低精度不能隐式转换,需要强制转换

  • 强制转换时需要注意范围,可能产生范围溢出(正数符号位为0,进位后,符号位变为1,此时以补码的形式读入)

​​​​​​​

  • long和float相比,float精度更大,long可以转float,float不能转long。
    • long再大,也不能描述小数点后面的数字,float转long必然会有精度损失。更何况,float还能写成科学计数法的形式
  • 题目
    • 面试题:看下面的程序是否有问题,如果有问题,请找出来并说明理由

​​​​​​​

  • byte 相加,默认转为int类型;不能直接定义为byte类型
  • 两个变量相加,可能会有结果溢出

char数据类型计算

  • char类型参与+
    • ‘a’+1——结果为数字
    • “string”+‘a’+1——结果为字符串
    • “string”+5+5——结果为字符串
    • “String”+(5+5)——结果为数字

​​​​​​​

  • char可以存储中文字符(java是Unicode编码的)

运算符

  • 算数运算符
    • +:加法、正号、连接
    • /:整数相除结果是整数。小数参与运算,结果会是小数
    • %:取余
    • ++a,--a:先加减,再读取a的值,保存
    • a++,a--:读取a的值保存后,再加减
      • b先读取了a的值,再加减
        • ​​​​​​​
      • 练习
        • 第一题
          • ​​​​​​​
        • 第二题(x++先读取操作,再加减。
          • ​​​​​​​
            • 有++和--,可能不符合加法交换律
              • ​​​​​​​
        • 第三题
          • ​​​​​​​
            • 此处 b++相当于 b=(byte)b+1;
            • byte参与+运算,且与int计算,默认转为int,不能赋值给byte格式
    • =,+=
      • /*No.1 程序是否有问题,有问题,说明理由
        • * short s=1; s=s+1;
          • short和int相加,short默认转为int类型,不能赋值给short类型。
        • * s=1;s+=1;
          • s+=1相当于s=(short)s+1;
  • 关系运算符
    • ==,!=
    • >=,>,<,<=

练习题

  • 1、计算出十进制46对应的二进制,八进制,十六进制的值。
    • 二进制:101110

​​​​​​​​​​​​​​​​​​​​​

  • 八进制:56

​​​​​​​​​​​​​​​​​​​​​

  • 十六进制:2E

​​​​​​​

  • 2、Java中的数据类型分几类?基本数据类型有哪些?
    • 基本数据类型
      • 整数型:byte、short、int、long
      • 浮点型:float、double
      • 布尔型:boolean
      • 字符型:char
    • 引用数据类型
  • 3、面试题
    • 第一题:哪句是编译失败的呢?为什么呢?
      • byte b1=3,b2=4,b;
      • b=b1+b2; 
      • b=3+4;
    • 第二题:有没有问题?有问题如何解决?结果是多少呢?
      • byte by = 130;
        • byte 的数值范围是 -128~127 
        • 结果会变成-126
    • 第三题:哪句是编译失败的呢?为什么呢?
      • byte b = 10;
      • b++;
      • b = b + 1;
  • 4、运算符
    • 常见的算术运算符有哪些?
      • +,-,*,/,%,++,+=,=,-=,/=
    • +运算符的作用有哪些?
      • 加法、正号、字符串连接
    • 除法和取余的区别? 
      • 除法 / ;取余 %
    • ++和--的使用规则? 
      • a++ 先读取a值,再运算
      • ++a 先运算,再读取a值
  • 5、赋值运算
    • 常见的赋值运算符有哪些?
      • =,+=,-=,/=,*=
    • +=运算的作用是什么? 
      • a+=1:a=(type a)a+1

猜你喜欢

转载自blog.csdn.net/qq_41940001/article/details/109028632