JAVA基本数据类型 (续)

JAVA 基本数据类型 (续)

浮点数类型 :double float

浮点数: 数据在存储时候, 采用科学计数法存储数据,小数点会发生浮动(移动)现象, 称为浮点数

Java 采用 IEEE-754 标注存储 浮点数.

1.由于存储空间有限, 浮点数存储和运算有舍入误差, 不
能绝对精确存储数据.
2. 因为精度高, Java中浮点数的默认类型是double
3. double类型字面量的后缀D/d, float字面量的后缀F/f
4. 浮点数计算不精确, 计算结果存在舍入误差.
5. double (double float):双精度浮点数, 64位2进制, 有效
位数长, 精度高, 最常用!
double 的精度大约是float的两倍, 所以称为双倍精度的浮点数;float 浮点数, 单精度浮点数, 32位2进制, 有效位数短,精度不高, 不常用.
内联代码片

// An highlighted block
 package day02;
  public class Demo01 { 
  public static void main(String[] args) {
   /** double 类型演示 */
    double d = 12.3; 
    System.out.println(d); 
    d = 9883771882377282888378.1;
     System.out.println(d);
 System.out.println(d);
  //小数点向右移 动16位 double pi =3.1415926535897932384626; //double float fpi = 3.1415926535897932384626F;
   //double System.out.println(pi);//double 精确 度高 System.out.println(fpi);//float精度 低
double x = 2.6; 
System.out.println(x-2.0); //浮点数运 算存在舍入误差 
} 
}
//boolean 布尔类型
//用于表示逻辑判断结果, true表示成立, false表示不成立.
//boolean只有两个值!

char 字符类型: 存储字符

用于存储一个Unicode字符

unicode 字符码点范围: 0 ~ 1114111
Unicode 最新标准 Unicode 14.0
总计 144,697 字 符.
  1. Unicode 0 ~ 65535 称为 BMP, 基本多语言平面,
  2. 编码了最常用的文字字符: 中文\英文\日文\法文\韩 文 …
  3. Unicode 0~127 与 ASCII标准一致.
  4. 16位2进制, 是一个整数, 范围0~65535, 存储的是字符
    的编码,显示时候, Java的API会将字符编码, 翻译为对应的字形
    字符字面量, 使用一对单引号, 中间只能写一个字符
    特殊字符使用转义字符书写
    换行字符 ‘\n’
    TAB 字符 ‘\t’
    单引号 ‘’’
    双引号 ‘"’
    斜线 ‘\’
    内联代码片
 package day02; 
 public class Demo03 { 
 public static void main(String[] args) { 
 /** char字符类型
  * - 字符类型字面量, 单引号, 中间一个字符
  *  * - 字符类型存储的是字符的编码 ,是一个整 数!!! 
  * * - 直接输出时候 println(c) 时候, Java的API println()
  *  * 会根据字符的编码, 找到字形, 然后输出 了字形
  *  */ 
 char c = 'A';
  System.out.println(c); //根据编码, 找到字形A, 然后再输出 //字符类型实际存储了一个字符的unicode编码 System.out.println((int)c); // 65 是 A 的编码
c = '中';
 System.out.println(c); //中, 根据编码, 找到字形中, 再输出 System.out.println((int)c); //中 Unicode 20013 
 //Java 中字符存储是一个字的Unicode编码 c = '京'; System.out.println(c);
  System.out.println((int)c);
   c = '亭';
    System.out.println(c);
     System.out.println((int)c);
      c = '亮'; 
      System.out.println(c); 
      System.out.println((int)c); 
      c = '刘';
       System.out.println(c); 
       System.out.println((int)c); 
       //字符是一个数! 可以直接赋值字符的编码!
        c = 20113;
         System.out.println(c); System.out.println((int)c); 
         c = 65; System.out.println(c);

字符串和字符的区别

“中” 和 ‘中’ 的区别

“中” 字符串

使用双引号作为定界符
字符串中可以写 0 ~ n 个字符, 最多2147483647个
字符串底层存储了一组字符
  1. 字符串是对象类型String,底层是一个char数组
    ‘中’ 字符,使用单引号作为定界符,只能写一个字符,
    字符本质是一个数字,字符是基本类型 char
  2. 使用字符串更加方便, 如果需要处理单个字符时候, 再使
    用字符!
  3. 自动类型转换: 小范围数据类型到大范围数据类型,可
    以进行自动类型转换, 没有转换风险, 数据类型会转换
    成功.强制类型转换: 大范围类型到小范围类型的转换, 如果数
    值在小范围之内, 会成功转换, 如果数值超过小范围, 则会
    出现溢出或者精度损失问题.
    内联代码片
 package day02;
  public class Demo05 { 
  public static void main(String[] args) { 
  /** 基本数据类型转换 */
   //自动类型转换: 小范围类型赋值给大范围类型
    byte b = 120; 
    short s = b; // 自动的将byte类型转换为 short类型System.out.println(s); 
    // 强制类型转换: 大范围类型赋值给小范围类型
     // - 在小范围之内, 不会发生损失 s = 88;
      //short 类型变量, 值88在byte范 围之内
b = (byte)s;
 // (byte) 强制类型转换运 算符, 把数据s转换为byte类型 System.out.println(b); //88
  // - 在小范围之外, 会发生溢出!
   s = 389;//short 类型变量, 值389超过 byte范围 
   b = (byte)s; //发生溢出, 结果没有意义 System.out.println(b);
    //short <---> int 
short ss = 23920; 
int i = ss; //自动类型转换
 System.out.println(i); 
 //范围内的强制类型转换,转换以后数值不变
  i = 9912; 
  ss = (short) i;
   System.out.println(ss); 
   //超范围强制类型转换(风险情况),会溢出 i = 2323222; 
   ss = (short) i; 
   System.out.println(ss); 
   //浮点数转换为整数会发生小数被截断,或者 溢出
    double d = 38889.89; 
    int n = (int)d;
     System.out.println(n); 
     }
     }

运算符

Java 提供丰富的运算符

  1. 数学运算符
  2. 自增\自减运算
  3. 赋值运算
  4. 复合赋值运算
  5. 比较运算符
  6. 逻辑运算
  7. 取成员运算
数学运算符
运算规则和数学课的运算规则基本一致.
同种类型参与运算, 得到同种类型的结果
  1. 如果参与运算的类型不一致, 则先进行自动类型转
    换, 转换后再计算
  2. 整数除法得到整数结果, 也就是整除
  3. 小于32位的整数, 按照int类型计算
  4. 计算时候如果超过范围会溢出, 溢出时候不会报错误
  5. 了解类型的范围, 计算之前预估结果, 避免溢出
  6. 同种类型参与运算, 得到同种类型的结果
    ##今日单词
    double 双倍
    float 浮动
    true: 真的
    false: 假的
    boolean: 布尔
    running: 正在跑, 正在运行
    Variable ‘hi’ is never used : 变量’hi’从未被使用
    Variable: 变量
    never: 绝不, 绝无可能, 没戏
    used: 使用过, 二手的
    String: 字符串
    count : 计数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值