Day03

数据类型

  • 强类型语言:安全性比较高,但是速度比较慢。

  • java数据类型:

    1. 基本类型
    2. 引用类型
  • 整数、小数、是非对错、其他类型

  • 整数:根据大小分为以下几类

  • 小数:根据大小分为以下几类,4个字节范围跟整数4个字节范围一致,8个字节范围跟整数8个字节范围一致,一般用double

    重点

    1. 整数;定义long的时候会在后边加上一个大写的L
    2. 浮点数:float后面必须加一个F
    //整数的4种表达方式
           //int:-2147483648~2147483647
            //最常用
            int num1=10;
            //byte:-128~127
            byte num2=127;
            //short:-32768~32767
            short num3=26526;
            //long:8个字节,定义long的时候会在后边加上一个大写的L
            long num4=30L;
    
    //小数、浮点数
            //float后面必须加一个F
            float num5=50.1F;
            double num6=3.14159265464364513654613;
    

快捷键:ctrl+左键是注释

字节和位

32位和64位的寻址能力不一样:64位可以128G,32位4G

进制

//整数拓展:二进制0b 八进制0 十进制 十六进制0x
int i=10;
int i2=010;//八进制0
int i3=0x10;//十六进制0x  0~9 A~F 16

System.out.println(i);
System.out.println(i2);
System.out.println(i3);


//输出结果
10
8
16

Process finished with exit code 0

浮点数拓展

//浮点数拓展
//BigDecimal  数学工具类
//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);
float d1=2312332325333f;
float d2=d1+1;
System.out.println(d1==d2);//true

//输出结果
false
0.1
0.1
true

字符拓展

//字符拓展
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
//U000 UFFFF
// Excel 2的16次方=65536

char c3='\u0061';
System.out.println(c3);//a

转义字符

//转义字符
// \t 制表符
// \n 换行
//还有更多,自己去搜索...
System.out.println("Hello\tWorld");

//输出结果
Hello	World

面向对象接触

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);

//输出结果
false
true

布尔值扩展

//布尔值扩展
boolean flag=true;
if(flag==true){} //新手
if(flag){}       //老手
//Less is more

类型转换

  • 由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换

  • 运算中,不同类型的数据先转换位同一类型,然后进行运算。

  • 小数的优先级一定大于整数

  • 大转小强制转换,小转大自动转换

int i=128;
double c=i;//128
byte b=(byte)i;//内存溢出//-128
//强制转换 (类型)变量名
//自动转换 低-高

System.out.println(i); 
System.out.println(b);

/*
注意点:
1.不能把布尔值进行转换
2.不能把对象类型转换成不相干的类型
3.在把高容量转换成低容量的时候,强制转换
4.在转换的时候可能存在内存溢出,或者精度问题!
 */

System.out.println("------------------------------");
System.out.println((int)23.7);    //23
System.out.println((int)-23.7f);  //-23

System.out.println("------------------------------");
char e='a';
int f=e+1;
System.out.println(f); //98
System.out.println((char)f); //b

注意溢出问题

//操作比较大的数时,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割,而且下划线不会输出
int money=10_0000_0000;
int years=20;
int total=money*years; //-1474836480,计算时溢出了
long total2=money*years;//默认是int,转换之前就已经存在问题了
System.out.println(total);

long total3=money*((long)years);//20000000000
System.out.println(total3);
//由于小写的l与1相像,所以尽量用大写的L表示
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值