自己的笔记记录,Java的基础知识(第一期)(本期笔记的内容有:基本数据类型、基本数据类型之间的运算规则)

记录一些Java的基础知识,方便自己查看,各位要是有需要也可以copy一下。
本期笔记的内容有:基本数据类型、基本数据类型之间的运算规则。

public class lianxi01 {
	public static void main(String[] args) {
		/*
		基本数据类型:
			1)整数型:
				类型:byte   占用存储空间:1字节 = 8bit位  表述范围:-128 ~ 127
				类型:short  占用存储空间:2字节   表述范围:-2^15次方 ~ 2^15次方-1
				类型:int    占用存储空间:4字节   表述范围:-2^31次方 ~ 2^31次方-1(约21亿)
				类型:long   占用存储空间:8字节   表述范围:-2^63次方 ~ 2^63次方-1
			2)浮点型:
				类型:float(单精度)   占用存储空间:4字节   表述范围:-3.403E38 ~ 3.403E38(既:3.403乘以10的38次方)     精度:7位有效数
				类型:double(双精度)  占用存储空间:8字节   表述范围:-1.798E308 ~ 1.798E308(既:1.798乘以10的308次方)  精度:14位有效数
			3)字符型:
				类型:char    占用存储空间:1字符 = 2字节   表述范围:-2^63次方 ~ 2^63次方-1
			4)布尔型:
				类型:boolean
				引用数据类型:
		1)、类(class)  注:字符串在类里
		2)、接口(interface)
		3)、数组([])
		*/
		byte a1 = 1;  
		short a2 = 2;
		int a3 = 3;
		//声明long型变量时,必须以“l”或“L”结尾。
		long a4 = 4L;
		System.out.println(a1);  //输出结果1
		System.out.println(a2);  //输出结果2
		System.out.println(a3);  //输出结果3
		System.out.println(a4);  //输出结果4
		//声明float型变量时,必须以“f”或“F”结尾。
		float b1 = 1.02F;  
		double b2 = 2.03;
		System.out.println(b1);  //输出结果1.02
		System.out.println(b2);  //输出结果2.03
		//声明char型变量时,用''单引号,内部只能写一个字符。
		//可以直接使用Unicode值来表示字符型常量。
		char c1 = 'a';
		char c2 = '\u0043';
		System.out.println(c1);  //输出结果a
		System.out.println(c2);  //输出结果C		
		//布尔型boolean只能取true和false。
		boolean d1 = true;
		System.out.println(d1);  //输出结果true
		/*
		基本数据类型之间的运算规则:
			前提:这里只议论是7种基本数据类型变量间的运算,不包含boolran类型的。
			1)自动类型提升:
				①当容量小的数据类型的变量与容量打的数据类型的变量做运算是,结果会自动提升为容量大的数据类型。
				②当byte、short、char三种类型的变量做运算时,结果均为int型。
				byte、short、char --> int --> long --> float --> double
			2)强制类型转换:
			一般情况:自动类型提升的逆运算。
				①需要使用强转符:()
				②注意点:强制类型转换,可能会导致精度损失。
				说明:此时的容量大小指的是,表示数的范围的大和小,比如:float容量要大于long的容量。
		*/
		byte aa1 = 2;
		int i1 = 123;
		//byte aa2 = aa1 + i1;  //此时编译不通过,因为int型不可降级为byte型。
		int i2 = aa1 + i1;  //编译通过,byte型的变量"aa1"自动转换成int型。
		System.out.println(i2);  //输出结果125
		//手动空格,CSDN编译器没办法自动识别空格
		float f = i1 + i2;  //编译通过,int型的变量"i1"、"i2"自动转换成float型。
		System.out.println(f);  //输出结果248.0
		//手动空格,CSDN编译器没办法自动识别空格
		char cc1 = 'a';
		int i3 = 10;
		int i4 = cc1 + i3;  //字符类型的变量"cc1"中的'a'转换为ASCII码中对应的值。
		System.out.println(i4);  //输出结果107
		//手动空格,CSDN编译器没办法自动识别空格	
		double dd1 = 12.3;
		int i5 = (int)dd1;  //截断操作,将double类型变量“dd1”强制转换成int类型,但该操作会损失精度。
		System.out.println(i5);  //输出结果12
		//手动空格,CSDN编译器没办法自动识别空格
		long l1 = 123;
		short ss1 = (short)l1; //因为两个都为整数类型,所以不会造成精度损失。
		System.out.println(ss1);  //输出结果123
		//手动空格,CSDN编译器没办法自动识别空格
		int i6 = 128;
		byte b = (byte)i6; //截断操作,因为byte类型的范围最大为127,128超出范围,转换后只能得到-128,精度损失。
		System.out.println(b);  //输出结果-128
		//手动空格,CSDN编译器没办法自动识别空格
		/*
	String类型变量的使用:
		1)String属于引用数据类型,翻译为:字符串
		2)声明String类型变量时,使用一对""双引号
		3)String可以和8种基本数据类型变量做运算,且运算只能是连接运算
		4)运算的结果仍然是String类型
	*/
	String s1 = "Hello World!";
	String s2 = "a";
	String s3 = "";  //定义了一个空的字符串
	System.out.println(s1);  //输出结果Hello World!
	System.out.println(s2);  //输出结果a
	System.out.println(s3);  //输出结果
	//手动空格,CSDN编译器没办法自动识别空格
	int number = 1001;
	String nuberStr = "学号:";
	String info = nuberStr + number;  //连接运算
	System.out.println(info);  //输出结果 学号:1001
	//练习:
	char C = 'a';  //a的ASCII码为97,A的ASCII码为65
	int num = 10;
	String str = "hello";
	System.out.println(C + num + str);    //连接运算107hello
	System.out.println(C + str + num);    //连接运算ahello10
	System.out.println(C + (num + str));  //连接运算a10hello
	System.out.println((C + num) + str);  //连接运算107hello
	System.out.println(str + num + C);    //连接运算hello10a
	}
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值