140218 简单数据类型和转换

本文详细介绍了Java中几种主要数据类型的使用方法,包括整型、浮点型、字符型、布尔型等,并展示了如何进行类型转换和初始化赋值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

其实和C++差不多……几种主要数据类型的测试

package work.w0218c;
public class datatype {

	/**
	 * @param args
	 * 
	 * 变量是存储数据的唯一单元
	 * 
	 * 整型数据
	 * byte,short,int,long
	 * byte一个字节,-128-127
	 * short两个,-2^15-2^15-1
	 * int四个,-2^31-2^31-1
	 * long八个,-2^63-2^63-1
	 * 
	 * long>int>short>byte
	 * 
	 * 浮点
	 * float 4字节 具体参考 	IEEE754
	 * double 8字节
	 * 
	 * 给数据赋初值时如果不强制类型了,整数将被默认为int型,小数被默认为double类型
	 * 因此float型数据赋予小数值或者添加一个较大的整数必须用float f=10.01F或者long l=465465464654L这样(此处大小写不敏感)(自动转换)
	 * 
	 * long a=6650;
	 * byte b=byte(a);
	 * 强制转换为显式转换,如果目标范围较小将丢失数据,发生溢出之后将从最小值开始循环(栈结构)
	 * 
	 * 字符
	 * char 2字节,0-2^16-1(65535)
	 * 
	 * 赋值时需要单引号
	 * 
	 * 布尔
	 * boolean,1字节,实用1Bit,具体有争议,只有true false 
	 * 
	 * 引用型
	 * 类
	 * 接口
	 * 数组
	 * 
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
/*		byte b;
		b=127;
		long c;
		c=2000000000;*/
/*		System.out.println("b="+b+"	c="+c);
		{
		{
			long i=65559;
		short s;
		s=(short)i;
		System.out.println(s);
		}
		}*/
		
		//点钟法?
		{
			long l=156;
			byte b1=0;
			b1=(byte)l;
			System.out.println(b1);
			//byte一个字节,-128-127
			long b2;
			b2=156-127-128-1;
			System.out.println(b2);
		}
		
		{
			double l=65536.55;
			short b=0;
			b=(short)l;
			System.out.println(b);
			//byte一个字节,-128-127
//			long b1;
//			b1=(long)l-65536;
			System.out.printf("%.4f/n",l);
		}
		
		{
			//整形转char型
			long l=67;
			char c='a';
			c=(char)l;
			System.out.println(c);
		}
		
		
	}

}
package work.w0218c;

// package work.w0218c;
public class datatypeconvetor {

	/**
	 * @param args
	 * 类型转换
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
//		int i=100;
//		byte b=90;
		//byte类型小于int,因此i可以等于b,可自动转换类型并兼容
//		i=b;
		
		//i为int,表示范围大于b,无法自动转换。
//		b=i;
		
//		short s=200;
//		long l=500;
		/*
		b=s;
		s=b;
		l=i;
		i=l;
		l=s;
		s=l;
		*/
		
//		float f=10.0f;
//		boolean bo=true;
		//char型可被int与long以及浮点兼容,而char型不兼容任何数列(本质上是因为char没有负数)。
		//直接对char赋整数值即为赋字符的ASCII码
		char c='a';
		c=67;
		System.out.println("char c="+c);
		//bool不与任何类型兼容。

	}

}
package work.w0218c;

// package work.w0218c;
/**
 * 
 * @author Administrator
 *变量定义:
 *数据类型 变量名 [=初始值]
 *变量名不得为内置关键字或者纯数字以及特殊符号(符号仅限_)以及空格
 *
 *定义在类中的为全局变量
 *方法中的为局部变量
 *局部变量优先于全局中的变量
 *变量无法超出自身的生命周期
 *如要使用可使用this.全局变量,但是不得为static
 *同一个作用域(即{}中的内容)中不得重复
 *
 *
 *1.0F表示将1.0转换为float类型
 */
public class definevar {
	byte b1=15;
	static byte b2=15;
	public static void main(String[] args)
	{
		/**l long
		 * d t2d
		 * t test
		 */
		byte b1=10,b2=50,b3=20;
		float f=128;
		float ff=1.0F;
		float fl1=123456789123456789F;
		double dt1=1.000000000000001,dt2=11.000000000000001,dt3=111.000000000000001;
		double dd=1.000000000000001D,dd1=11.000000000000001D,dd2=111.000000000000001D;
		double dl1=123456789123456789123456789d;
		System.out.println("b1="+b1+"	b2="+b2+"	b3="+b3);
		//System.out.println("globalb1="+this.b2);
		
		System.out.println("ff="+ff+"	f="+f);
		System.out.println("dt1="+dt1+"	dt2="+dt2+"	dt3="+dt3);
		System.out.println("dd="+dd+"	dd1="+dd1+"	dd2="+dd2);
		System.out.println("dl1="+dl1);
		System.out.println("fl1="+fl1);
	}

}
package work.w0218c;

// package work.w0218c;
public class InitVarValue {

	/**
	 * @param args
	 * 全局变量使用前可不赋值,有默认值。
	 * 局部变量使用前必须赋值
	 */
	static byte gb;//0
	static short gs;//0
	static long gl;//0L
	static float gf;//0.0F
	static double gd;//0.0D
	static boolean gbo;//false
	static char gc;//\u0000
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		byte b=16;
		short s=1;
		double d=1;
		boolean bo=false;
		char c=1;
		System.out.println("gb="+gb+"	gs="+gs+"	gd="+gd+"	gbo="+gbo+"	gc="+gc);
		System.out.println("b="+b+"	s="+s+"	d="+d+"	bo="+bo+"	c="+c);
	}

}
package work.w0218c;

// package work.w0218c;
public class ScopeVar {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int num=10;
		if (num==10)
		{
			int num1=num*num;
			System.out.println("num1="+num1+"	num="+num);
		}
//		System.out.println("num1="+num1+"	num="+num);
		System.out.println("num="+num);
		
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值