java学习笔记day3

141 阅读2分钟

数据类型

数值型

类型 大小 取值范围 介绍
byte 1字节8位 -128 ~ +127 字节型 这个范围可以存储普通人的年龄
short 2字节16位 -32768~+3276 短整型
int 4字节32位 -2147483648)~+2147483647 整型 存下中国人口的数量没有问题,但是存下地球所有人的数量就不够了
long 8字节64位 -2^63 ~ + 2^63-1 长整型 存下地球的人数绰绰有余
float 4字节32位 单精度浮点数 存储小数
double 8字节64位 双精度浮点数

数值型的数据,运算时候如果超出取值范围就会报错(out of bound)

long time=9223372036854775807L;

long类型使用l(L)作为后缀与整形进行区分

float money = 33.6f;
double length = 55.07;

任何小数都会被认为是double,单精度浮点数需要加上f后缀

日常使用建议使用double类型防止精度丢失

Math常用方法

方法 介绍
Math.random(a) 0 - 1 随机数
Math.round(a) 四舍五入,float时返回int值,double时返回long值
Math.min(a, b) 计算最小值
Math.max(a, b) 计算最大值
Math.floor(a) 向上取整,但不转换类型
Math.ceil(a) 向下取证,但不转换类型
Math.pow(a, b) 计算a的b次方
Math.sqrt(a) 计算平方根
Math.abs(a) 取绝对值
Math.cbrt(a) 计算立方根

非数值类型

字符型 char

只能存储一个,使用单引号

char sex = '男';

字符串型 String

用于存储一串字符,使用双引号。String不是基础类型,是一个类

String username = "用户名";
  • String类型可以拼接,但是不能用于数学运算
  • \n 表示换行
  • \t 表示制表符(tab键)

布尔类型 boolean

boolean isEqual = true;
boolean isBig = 1 > 10; // false

数据类型转换

隐式类型转换

public class DemoClac {
	public static void main(String[] args) {
	    double weight = 97.5;
	    int add = 2;
	    double sum = weight + add; // add隐式转换为double类型
	    System.out.println(sum);
	}
}

强制类型转换

int sum = 55.3 + 22;

运行报错: 不兼容的类型: 从double转换到int可能会有损失

int sum = (int) (55.3 + 22); // 77

这样就不报错了,但是损失精度