学习日记Day13.1 计算机常用数据类型、进制和类型转换

数据类型

强类型语言 例如:java
需求变量的使用需要严格符合规定,所有变量都必须先定义后才能使用
好处:安全性高(因为严谨)
坏处:速度慢

弱类型语言
好坏处与上面相反

java的数据类型分为两大类

基本类型(primitive type)
引用类型(reference type)

**基本数据类型**——数值类型:整数类型:1.byte占用1个字节范围:-128 —— 127
                                   2.short占两个字节:-32768 —— 32767             
                                   3.int占4个字节:--2147483648 —— 2147483647
                                   4.long占8个字节
                          
                          浮点类型:1.float占4个字节
                                   2.double占8个字节
                          字符类型:char占两个字节
               ——布尔类型:boolean类型:占1位,其值只有true和false两种                                
**基本数据类型**——数值类型:类
                          接口         
                          数组
//八大基本数据类型
//整数
  int num1 = 10;//最常用
  byte num2 = 2;
  short num3 = 3;
  long num4 = 100L;//long类型要在数字后面加个L区分

//小数:浮点数
  float num5 =50.1F;//小数默认是double类型,所以数字后加F
  double num6 =3.1

//字符
  char name = '周';/*注意,字符就是单个字,写成多个就会报错
                   字符串,String不是关键字,是一个类*/
  String name1 ="中国";

//布尔值:是非
  boolean flag = ture;//boolean flag = false;

计算机进制
计算机常用进制:二进制、八进制、十进制、十六进制
二进制:用0、1表示;
八进制:用0、1、2、3、4、5、6、7表示;
十进制:0-9;
十六进制:逢16进1,用0-9表示零到九,用A、B、C、D、E、F分别表示10-15,字母不区分大小写

最好完全避免使用浮点数进行比较

转换
强制转换:(类型)变量名 高 → 低 (高类型向低类型转换时,很可能会内存溢出或者是精度丢失)

自动转换: 低 → 高

   例:int i=128;
       byte b=i;    //← 报错
           ↓↓
      使用了强制转换
      int i=128;
      byte b=(byte)i;    //←(内存溢出) 丢失精度,这里byte表示127 ~ —128区间

类型转换

低 → → → ————————— → → → 高
byte、short、char、int、long、float、double
运算中,不同类型的数据先转化成为同一类型,然后运算

注意点
1.不能对布尔值(boolean)进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量的类型转换到低类型时,强制转换
4.转换时可能存在内存溢出,或者丢失精度问题!(只存在于高转低)

//操作较大数的时候注意溢出问题
//JDK7新特性,数字间可以用下划线分割
   int money = 10_0000_0000;//这里下划线不影响数字,可以看得更直观
   int years = 20;
   int toy = money*years;//这里计算的数溢出了,要注意
   long toy2 = money*years;/*我们试试long,但是结果依然溢出了,
                            默认是int,转换前就已经出现问题了*/
   long toy3 = money*(long)years;
   System out printin(toy3);//这里计算就没问题了
posted @ 2021-03-10 00:01  小老豆  阅读(255)  评论(0)    收藏  举报