package com.exmaple;
public class BasicType {
public static void main(String[] args){
/**
* float跟double的区别
* 1、占用内存大小: float--4字节 double--8字节
* 2、精度:
* float能表示的有效位数最大是7位
* double能表示的有效位数为15~16位(超过16位会出现精度丢失的问题,因为二进制不能精确表达十进制数)
* 注:
* 1、在java中默认浮点数为double类型,定义float类型变量需要在数字后加F转换
* 2、高精度浮点数运算会出现精度丢失问题,用BigDecimal可解决
* 3、有效位数的概念: 0.0001有效位数为1;1.2304有效位数为5
*/
float a = 1.000001877F;
double b = 1.000001877;
double c = 1.1234567891234567;
double d = 1.1234567891234564;
double e = 1.1234567891234565;
double f = 0.00000012345678912345678;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
double g = 3.14e2; //3.14 * 10二次方
System.out.println(g);
double d3 = 4.9e-324;
System.out.println(d3);
}
}
class DefaultValue{
public static void main(String[] args){
/**
* 变量定义:
* 变量类型 变量名 = 初始值;
* 给定一个初始值可以不用在定义时进行,但是一定要在变量使用前进行
*/
int a;
// System.out.println(a); 报错
}
}
class IntegerType{
public static void main(String[] args){
/**
* 1、java中整型默认为int类型
* 2、byte表示的范围为-128~127
*/
byte c = 1; //int被隐式的转换成了byte类型
// byte d = 128; 超过了byte类型能表示的范围会发生编译报错
long b = 1; //int类型被隐式的转换成了long类型
long a = 10000000000000L; //超过了int类型的表示范围需要加L显式转换成long类型
System.out.println(a);
}
}
class TypeChar{
public static void main(String[] args) {
/**
* 1、每个char值都对应一个Unicode字符,其取值范围为0~65535
* 2、两个char类型进行运算时会自动转换为int类型,原因是为了防止运算结果的数值不在char类型取值范围内
* 3、在java中char类型的运算结果是int类型
*/
char a = 0;
char b = 65;
// char d = a + b;
System.out.println( a + b);
char c = 65;
System.out.println(c);
char a1 = '你';
char b1 = '好';
System.out.println(a1 + b1);
// char c1 = a1 + b1; 编译错误,因为a1+b1的结果是int类型不能赋值给char类型的c1
}
}
Java基础01 基本类型
于 2024-01-03 17:12:52 首次发布