Javase基础:基础数据类型和基础数据类型的转化

java中的数据类型:

  • 基本数据类型:

    ①数值型:数字

    • 整型:byte、short、int、long

      	public static void main(String[] args) {
      		//整型:byte、short、int、long
      		// 1G=1024m  1m=1024k  1k=1024bit
      		// byte :字节     1字节=8bit  1字节  8位   -2^7~2^7-1
      		byte b1=20;
      //		byte b2=128;
      		System.out.println(b1);
      		
      		//short:2字节 16位   -2^15~2^15-1
      		short s1=12312;
      		
      		//int:4字节 32位  -2^31~2^31-1   
      		//**注意:java中默认的整型为int
      		int i1=13271;
      		
      		//long:8字节   64位 
      		//注意:long类型的数据需要在其后面加上“L” 
      		long l1=1234;// int --long
      		long l2=1234L;
      		
      		//十进制:不能以0开头
      		int i2=01312;
      		System.out.println(i2);//714
      		i2=5464;
      		System.out.println(i2);//5464
      		
      		//八进制:必须以0开头
      		int i3=013121; // 1*8^0+2*8^1+1*8^2+3*8^3+1*8^4=5713
      		System.out.println("i3:"+i3);//i3:5713
      		
      		//十六进制:必须以0x开头  后面的数据只能是0 ~ 9  A ~ F
      		int i4=0xba3;// 3*16^0+10*16+11*16^2
      		System.out.println("i4:"+i4);//i4:2979
      		
      		//二进制:必须以0b开头
      		int i5=0b01010110; //0*2^0+1*2^1.....
      		System.out.println("i5:"+i5);//i5:86
      		// jdk1.7之后使用“_”提高代码的可阅读性
      		i5=0b1010_0101_1111;
      		System.out.println("i5:"+i5);//i5:2655
      
      
    • 浮点型:float、double

    		//	浮点型:float、double	
    //		float :4字节 32位   值后面需要加F或f
    		float f1=1234.5F;
    //		float f2=1234.5;
    		
    //		double:8字节 64位:
    //		double是java中默认的浮点型
    		double d1=12345.567;
    		double d2=12345.567d;
    

    ②字符型:char

    //char:字符类型
    		//①接收字符,表示的是单个字符,只能接收一个字符
    		char c1='中';
    		System.out.println(c1);//中
    		//②接收整型,最大2字节16位 表示的是:JVM会去查找ascii码表数值对应的字符
    		char c2=49;
    		char c3=65;
    		System.out.println("c2:"+c2+" c3:"+c3);//c2:1 c3:A
    		char c4=97;
    		System.out.println("c4:"+c4);//c4:a
    		
    		//③接收Uncode字符  以\ u开头的字符:JVM会去查找Uncode码表数值对应的字符
    		char c5='\u03A6';
    		System.out.println(c5);//Φ
    		
    		//④接收16进制就是接收整型:将16进制转为10进制再对应的ascii码值
    		char c6=0x23;
    		System.out.println(c6);//#
    		
    //		转义字符:使用”\”把其转化成字符的本身输出,那么使用”\”的字符称作为转义字符。
    		System.out.println("\"");//"
    		System.out.print("你好");//不换行输出
    		System.out.println("\n");//换行
    		System.out.print("中国");//你好中国
    		System.out.println("在吗");
    		System.out.println("中国:在");
    		//你好”中国” 
    		System.out.println("你好\"中国\"");//你好"中国"
    

    ③布尔型:boolean

    //布尔型:false true
    		boolean temp=false;
    		boolean temp1=true;
    //		boolean temp2=1;
    		System.out.println(temp);//false
    
  • 引用数据类型:类、接口、数组

  • 基本数据类型的转换

/**
 *  精髓:看数据类型的大小
 *     浮点型比整型大
 * @author Administrator
 *
 */
public class _基本数据类型转换 {
	
	public static void main(String[] args) {
		//隐式转换 :小精度--大精度
		short s1=321;
		int i1=s1;
		System.out.println("i1:"+i1);//i1:321
	
//		int和float之间转换:int--float 
		float f1=i1;
		
		//long<float
		float f3=1231L;
		double d1=123L;
		System.out.println("f3:"+f3);//f3:1231.0
		System.out.println("d1:"+d1);//d1:123.0
        
		//显示转换(强制转换) :强制转换,大精度--小精度,需要注意当大精度数据中的值大于小精度能够接受的最大范围会出现精度丢失
		int i2=10;
		byte b2=(byte) i2;
		System.out.println(b2);//10
		int i3=129;
		byte b3=(byte)i3;
		System.out.println(b3);//-127 
		
		//double --float
		float f2=(float) 123.45;
		System.out.println(f2);//123.45
		
		//float--int
		int i4=(int) 1945.5F;
		int i5=(int) 1945.9F;
		System.out.println(i4);//1945
		System.out.println(i5);//1945
		
		// 算术运算符 +
		int m=10;
		int n=m+10;
		System.out.println(n);
		//不同基本数据类型进行计算时,会先转为其中最大精度的数值类型再做计算
		double dd1=123.3F+123+1.0;
		int ii1=(int) (123.3F+123+1.0);
		
		
		//在计算时byte、short、char之间不会相互转换,他们三者在计算时首先会转换为int类型。
		byte bb1=90;
		short ss1=80;
		short ss2=(short) (bb1+ss1);
		int ii2=bb1+ss1;
		
		int c0='A';
		System.out.println(c0);//65
		int ii3='B'+bb1+ss1;
		System.out.println(ii3);//236
		
		//int--char
		int ii4=56;
		char c1=(char) ii4;
		System.out.println(c1);//8
		System.out.println((char)ii4);//8
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值