Java---01.数据类型

数据类型

  • 强语言类型
    • 要求变量的使用必须严格符合规定
  • 弱语言类型

Java数据类型

基本数据类型(primitive type)

  • 整数类型
    • byte占一字节范围:-128-127
    • short占2个字节范围:-32768-32767
    • int占4个字节范围:-2147483648-2147483647
    • long占8个字节范围:-9223372036854775808-9223372036854775807
  • 浮点类型
    • float占4个字节
    • double占8个字节
  • 字符型:char占2个字节
  • boolean类型:占1位其值只有true和false两个
public class Demo00{
	public static void main(String[] args){
		//八大基本数据类型

		//整数
		int num1 = 10; //最常用
		byte num2 = 20;
		short num3 = 30;
		long num4 = 30L;  //long类型要在数字后面加个L

		//浮点数
		float num5 = 50.1F;  //float后面要加一个F
		double num6 = 3.141592653589793238462643;

		//字符
		char name = '国';
		//字符串,String不是关键字,类
		String namea = "龙渊";

		//布尔值
		boolean flag = true;
		//boolean flag = false;

	}
}

引用数据类型(reference type)

  • 接口
  • 数组

数据类型拓展

  • 整数拓展:进制 二进制0b 十进制 八进制0 十六进制0x
public class Demo01 {
	public static void main(String[] args){
		//整数拓展:  进制  二进制0b  十进制  八进制0  十六进制0x

		int i = 10;
		int i2 = 010;   //十进制0
		int i3 = 0x10;   //十六进制0x

		System.out.println(i);
		System.out.println(i2);
		System.out.println(i3);
        }
}
  • 浮点数拓展:float / double 有限、离散、舍入误差 最好完全避免使用浮点数进行比较。
    • 银行业务如何表示钱? 数学工具类 BigDecimal
public class Demo01 {
	public static void main(String[] args){
        float f = 0.1f;   //0.1
		double d = 1.0/10;   //0.1

		System.out.println(f==d);

		float d1 = 2312323232153221313f;
		float d2 = d1 + 1;

		System.out.println(d1==d2);
   	}
}     
  • 字符拓展
    • 强制转换
    • Unicode编码
    • 转义字符
public class Demo01 {
	public static void main(String[] args){
        char c1 = 'a';
		char c2 = '中';

		System.out.println(c1);
		System.out.println((int)c1);   //强制转换
		System.out.println(c2);
		System.out.println((int)c2);   //强制转换
        
        //编码 Unicode
		char c3 = '\u0061';

		System.out.println(c3);
        
        //转义字符
		// \t   制表符
		// \n   换行
		// 。。。
		System.out.println("hello\nworld");
	}
}

数据类型转换

public class Demo02 {
	public static void main(String[] args){
		int i = 128;
		byte b = (byte)i;
		//强制转换   高---->低

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

		int a = 128;
		float c = a;
		//自动转换   低---->高

		System.out.println(a);
		System.out.println(c);
		
		/*
		注意点:
		1. 不能对布尔值进行转换
		2. 不能把对象类型转换为不相干的类型
		3. 把高容量转换到低容量的时候,强制转换
		4. 转换的时候可能存在内存溢出或精度问题!
		*/
		System.out.println("===========================");
		System.out.println((int)23.7);   //23
		System.out.println((int)-45.89f);   //-45

		System.out.println("============================");
		char e = 'a';
		int f = e + 1;
		System.out.println(e);
		System.out.println((char)f);
        
        //操作比较大的数的时候,注意溢出问题
		//数字之间可以用下划线分割
		int money = 10_0000_0000;
		int years = 20;
		int total = money*years;   //计算的时候溢出了

		System.out.println(total);

		long total3 = money*((long)years);   //先把一个数转换为long
		System.out.println(total3);
		
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值