java基本语法——变量

Java定义的数据类型
一、变量按照数据类型来分:
基本数据类型:
整型:byte、shor、int、long
浮点型:float、double
字符型:char
布尔型:boolean

1、整型:byte(1字节=8bit)
short(2字节)
int(4字节)
long(8字节)
①byte范围:-128~127
②声明long型变量,必须以“l”或“L”结尾。(不加时将自动转换为int类型,整数大时出现过大整数的编译失败)
③通常,定义整型变量时,使用int型。

2、浮点型:float(4字节)
double(8字节)
①浮点型,表示带小数点的数值。
②float表示数值的范围比long还大。
③定义float类型变量时,变量要以“f”或“F”结尾。(不加编译失败)
④通常,定义浮点型变量时,使用double型。

3、字符型:char(1字符=2字节)
①定义char型变量,通常使用一对’ ',内部只能一个字符。
②表示方式:1.声明一个字符。2.转义字符。3.直接使用Unicode值来表示字符型常量。

4、布尔型:boolean
①只能取两个值之一:true或false。
②常常在条件判断、循环结构中使用。

//基本数据类型的定义演示代码
class VariableTest1 {
	public static void main(String[] args) {
		byte b1=12;
			//①byte范围:-128~127
		byte b2=-128;
			//byte b3=128;编译不通过,超过范围了。

		System.out.println(b1);
		System.out.println(b2);

		short s1=128;
		int i1=1234;
		long l1=99999999L;
			//②声明long型变量,必须以“l”或“L”结尾。
			//③通常,定义整型变量时,使用int型。
		System.out.println(s1);
		System.out.println(i1);
		System.out.println(l1);

		double d1=123.4;
		System.out.println(d1);

		float f1=12.3F;
			//定义float类型变量时,变量要以“f”或“F”结尾。
		System.out.println(f1);
			//通常,定义浮点型变量时,使用double型。

		char c1='a';
			//c1='ab';(编译不通过)
			//①定义char型变量,通常使用一对'  ',内部只能一个字符。
		char c2='1';
		char c3='中';
		System.out.println(c1);
		System.out.println(c2);
		System.out.println(c3);
			//②表示方式:1.声明一个字符。2.转义字符。

		char c4='\n';	//换行符
		char c5='\t';	//制表符
		System.out.print("hello" + c4);
		System.out.println("world");
		System.out.print("hello" + c5);
		System.out.println("world");

		char c6='\u0043';
			//3.直接使用Unicode值来表示字符型常量。
		System.out.println(c6);

		boolean bb1 = true;
		System.out.println(bb1);

		boolean isMarried = true;
		if(isMarried){
			System.out.println("你就不能参加\"单身\"party了!\n很遗憾");
			//"  "内的都是字符,并称为字符串。其中的\n表示换行。
		}
		else{
			System.out.println("你可以试着来参加找找女朋友。");
		}

	}
}

基本数据类型变量之间的运算规则:
前提:这里讨论只是7种基本数据变量间的运算。不包含boolean类型的。
1、自动类型提:
结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
byte、char、short --> int --> long --> float --> double

特别地:当byte、char、short三种类型的变量做运算时,结果为int型。

说明:此时的容量大小指的是,表示数的范围的大和小。比如float容量要大于long的容量。

class VariableTest2{
	public static void main(String[] args){
		byte b1 = 2;
		int i1 = 129;
		int i2 = b1 + i1;
		long l1 = b1 + i1;
		//byte b2 = b1 + i1;
		//编译不通过。
		System.out.println(i2);

		float f = b1 + i1;
		System.out.println(f);

		short s1 = 123;
		double d1 = s1;
		System.out.println(d1);

		//************************
		char c1 = 'a'; //97
		int i3 = 10;
		int i4 = c1 + i3;
		System.out.println(i4);

		short s2 = 10;
		//char c2 = c1 + s2; 编译不通过

		byte b2 = 10;
		//char c3 = c1 + b2; 编译不通过
		//short s3 = C1 + b2; 编译不通过
		//byete b3 = b1 + b2; 编译不通过

	}
}

2、强制类型转换:自动类型提升运算的逆运算。
①需要使用强转符:()
②注意点:强制类型转换,可能导致精度损失。

class VariableTest3 {
	public static void main(String[] args) {
		double d1 = 12.9;
		int i1 = (int)d1;
		//截断操作
		System.out.println(i1);
		//精度损失

		long l1 = 123L;
		short s1 = (short)l1;
		System.out.println(s1);
		//没有精度损失

		int i2 = 128;
		byte b1 = (byte)i2;
		System.out.println(b1);
		//精度损失
	}
}

引用数据类型:
类(class)
接口(interface)
数组(array)

String类型变量的使用:
1、String属于引用数据类型,翻译为:字符串。
2、声明String类型变量时,使用一对“”。
3、String可以和8种基础数据类型变量做运算,且运算只能是连接运算:+。
4、运算的结果仍然是String类型。

class  StringTest1{
	public static void main(String[] args) {

		String s1 = "Hello World!";

		System.out.println(s1);

		String s2 = "a";
		String s3 = "";

		//char c = '';
		//编译不通过

		//******************************
		int number = 1001;
		String numberStr = "学号:";
		String info = numberStr + number;
		//+: 连接运算
		System.out.println(info);

		boolean b1 = true;
		String info1 = info + b1;
		//+: 连接运算
		System.out.println(info1);

		//*******************************
		//练习1
		char c = 'a';//97  A:65
		int num = 10;
		String str = "hello";
		System.out.println(c + num + str);//107hello
		System.out.println(c + str + num);//ahello10
		System.out.println(str + num + c);//hello10a
		System.out.println(c + (num + str));//a10hello
		System.out.println((c + num) + str);//107hello

		//练习2
		//输出*   *
		System.out.println("*	*");
		System.out.println('*' + '\t' + '*');
		System.out.println('*' + "\t" + '*');
		System.out.println('*' + '\t' + "*");
		System.out.println('*' + ('\t' + "*"));
	
	}
}

二、变量在类中声明的位置:(面向对象部分)
成员变量 VS 局部变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MoerPerfect

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值