栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

11.17

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

11.17

11.17 Less is More 代码要精简易读 整数拓展

进制 二进制0B 十进制 八进制0 十六进制0x

int a1 = 10;
int a2 = 010; //八进制0
int a3 = 0x10; //十六进制0x  0~9  A~F	16
浮点数拓展

BigDecimal 数据工具类

float类型 有限 离散 舍入误差 大约、接近但不等于

double

比较时最好完全使用浮点数进行比较(两个比较的值)

float a4 = 0.1F; //0.1
float a5 = 1.0/10; //0.1
	 a4 != a5

float a6 = 123456;
float a7 = a6 + 1;
	 a6 = a7      
字符扩展

所有字符本质还是数字

编码 Unicode表:(97 = a 65 = A) 占用2字节 范围0-65536、U0000-UFFFF 2^16 = 65536

t 空格 n 换行

char a8 = 'a';
char a9 = '李';
char a10 = 'u0061';
System.out.println(a8);	//a
System.out.println(a9);	//李
System.out.println((int)a8);	//97	强制转换
System.out.println((int)a9);	//26446	强制转换	
System.out.println(a10);		//a
布尔值扩展
boolean flag = true;
if(flag){}
类型转换
  1. 由于Java是强类型语言,有些运算的时候需要将类型进行转换

  2. 低至高 byte-short-char-INT-long-float-double

  3. 布尔值无法转换

  4. 不能将对象类型转换为不相关的类型,INT - String

  5. 强制转换:转换时数据类型由高转低转换

  6. 自动转换:低转高

  7. 转换时避免内存溢出或精度问题

  8. int i = 128;
    byte b = (byte)i; 
    System.out.println(b);	//-128	因为byte类型最大至127,导致内存溢出,输出后的值无法控制,转换时避免内存溢出
    
    char c = 'A';
    int d = c + 1 ;
    System.out.println(d);	//65+1	Unicode表中对应的A对应的数字65,+1
    System.out.println((char)d);	//B Unicode表中对应的65+1的字母B
    
    int money  = 10_0000_0000;	//JDK7新特性,数字之间可以用下划线分割,并且不会输出下划线
    int	year = 20;
    int total = money * year;	//输出结果错误,INT类型内存溢出
    long total2 = money * year;	//输出结果错误,虽然变量类型为long,但是在计算时结果默认是int类型
    long total3 = money * ((long)year);	//输出正常,需要将其中一个数值先转换
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/584065.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号