2_基本语法_变量的使用

1.变量的分类

1.1 按数据类型分类

在这里插入图片描述
//1. 整型:byte(1字节=8bit) \ short(2字节) \ int(4字节) \ long(8字节)
//① byte范围:-128 ~ 127
// ② 声明long型变量,必须以"l"或"L"结尾
// ③ 通常,定义整型变量时,使用int型。
//④整型的常量,默认类型是:int型

public class ViriableTest {
	public static void main(String args[]) {
		//1整型:byte(1byte)/short(2byte)/int(4byte)/long(8byte)
		byte b1 = 12;
		System.out.println(b1);//12
		
		short s1 = 128;
		int i1 = 1234;
		long l1 = 1234556L;
		System.out.println(s1);//128
		System.out.println(i1);//1234
		System.out.println(l1);//1234556
		
	}
}

  1. 浮点型:float(4字节) \ double(8字节)
    //① 浮点型,表示带小数点的数值
    //② float表示数值的范围比long还大
    //③ 定义float类型变量时,变量要以"f"或"F"结尾
    //④ 通常,定义浮点型变量时,使用double型。
    //⑤ 浮点型的常量,默认类型为:double
//2 浮点型 
		double d1 = 123.1;
		System.out.println(d1+1);
		float f1 = 12.1F;
		System.out.println(f1);

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

//3 字符型 char(1字符=2字节)
		//定义char型变量,通常使用'',内部只能写一个字符
		char c1 = 'a';
		System.out.println(c1);//a
		//表示方式:声明一个字符;转义字符;直接使用Unicode
		char c2 = '\n';//换行符
		char c3 = '\t';//制表符
		System.out.print("hello"+c2);
		System.out.println("world");

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


//4 布尔类型 boolean
		//只能取两个值之一:true false
		// \\n == \n  就是字符的意思,不是换行符
		boolean bb1 = true;
		System.out.println(bb1);//true

2.定义变量的格式:

数据类型 变量名 = 变量值;

数据类型 变量名;
变量名 = 变量值;

public class identifierTest {
	public static void main(String args[]) {
		//定义变量
		int myAge = 12;
		//变量的使用
		System.out.println(myAge);//12
		
		//变量的声明
		int myNumber;
		//变量的赋值
		myNumber = 10086;
		System.out.print(myNumber);//10086
				
	}

}

3.变量使用的注意点:

① 变量必须先声明,后使用
② 变量都定义在其作用域内。在作用域内,它是有效的。

③ 同一个作用域内,不可以声明两个同名的变量

4.基本数据类型变量间运算规则

4.1 涉及到的基本数据类型:除了boolean之外的其他7种

4.2 自动类型转换(只涉及7种基本数据类型)

结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
byte 、char 、short --> int --> long --> float --> double
特别的:当byte、char、short三种类型的变量做运算时,结果为int型
说明:此时的容量大小指的是,表示数的范围的大和小。比如:float容量要大于long的容量

public class identifierTest2 {
	public static void main(String args[]) {
		byte b1 = 2;
		int i1 = 1;
		int i2 = b1+i1;
		long l1 = b1+i1;
		System.out.println(i2);//3
		System.out.println(l1);//3
	}
}

4.3 强制类型转换(只涉及7种基本数据类型):自动类型提升运算的逆运算。

1.需要使用强转符:()
2.注意点:强制类型转换,可能导致精度损失。

public static void main(String args[]) {
		double d1 = 12.9;
		//精度损失
		int i1 = (int)d1;//截断操作 12
		System.out.println(i1);
		
		//没有精度损失
		long l1 = 123;
		short s2 = (short)11;
		System.out.println(s2);//123

		//精度损失举例2 
		int i2 = 128;
		byte b = (byte)i2;
		System.out.println(b);//-128

	}
public static void main(String args[]) {
		//1 编码情况1:
		long l = 1234;//1234实际是被看做整型int
		//编译失败:过大的整数
		//long l1 = 12345678754234;
		long l1 = 12345678754234L;
		
		//***************************
		//编译失败
		//float f1 = 12.3;//12.3被看做double类型
		//2 编码情况2:
		//整型常量,默认类型为int型
		//浮点型常量,默认类型为double型
		byte b = 12;
		//byte b1 = b+1;//编译失败
		//float f1 = b+12.3;//编译失败
		
	}

4.4 String与8种基本数据类型间的运算

  1. String属于引用数据类型,翻译为:字符串
  2. 声明String类型变量时,使用一对""
  3. String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+
  4. 运算的结果仍然是String类型
public static void main(String args[]) {
		//声明String类型变量时,使用一对"";字符可以是0到多个
		String s1 = "hello world";
		String s2 = "";
		
		//char c = '';编译不通过
		
		//**********************************
		int number = 1001;
		String numberStr = "学号:";
		//连接运算-运算结果为String
		String info = numberStr+number;
		System.out.println(info);//学号:1001
				
	}
//练习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(c + (num + str));//a10hello
		System.out.println((c + num) + str);//107hello
		System.out.println(str + num + c);//hello10a
//练习二
		System.out.println("*       *");   //*       *
		System.out.println('*'+'\t'+'*');  //93
		System.out.println('*'+"\t"+'*');  //*       *
		System.out.println('*'+('\t'+"*"));//*       *
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值