java基础---2. 常量&变量

1.常量分类:

  • 字符串常量:双引号括起来的就是字符串常量,"abc"、"你好"
  • 整数常量:100、200...
  • 浮点数常量: 1.1、-3.14...
  • 字符常量:单引号括起来的就是字符常量,'A'、'中'...
  • 布尔常量:仅true、false
  • 空常量:null(没有任何数据)
public class Demo01Const{
	public static void main(String[] args){
		
		//字符串常量
		System.out.println("abc");
		System.out.println("");//字符串两双引号之间的内容为空,可以正常打印
		System.out.println("xyz");
		
		//整数常量
		System.out.println(-100);
		
		//浮点数常量
		System.out.println(3.14);
		
		//字符常量
		System.out.println('A');
		//System.out.println('');//两单引号之间不可以为空,否则出错
		//System.out.println('AB');//两单引号之间必须有且仅有一个字符,多了不行。
		
		//布尔常量
		System.out.println(true);
		System.out.println(false);
		
		//空常量 
		System.out.println(null);//空常量不可以用来直接打印输出
	}
}

1.1 数据类型

  • 基本数据类型
  • 引用数据类型:字符串、数组、类、接口、Lambda

1.1.1基本数据类型

  • 整数型 byte short int long
  • 浮点型 float double
  • 字符型 char
  • 布尔型 boolean
  • 一个字节是8位
  • byte (-27~27-1)
  • short (-215~215-1)
  • int (-231~231-1)
  • long (-263~263-1)
  • 2^31 = 2,147,483,648‬
  • 2^63 = 9,223,372,036,854,775,808

注意事项:

  • 字符串不是基本类型而是引用类型
  • 浮点型可能只是一个近似值,并非精确值。
  • 数值范围和字节数不一定相关,例如float数据范围比long更广,但float是4字节,long是8字节
  • 浮点数当中默认值是double,如果一定使用float类型,需要加上一个后缀F;如果是整数,默认为int型,如果一定要使用long类型,需要加上一个后缀L。推荐使用大写字母后缀。

2.变量

  • 判断是否会报错要首先检查右边:观察常量值大小是否在对应的数据类型范围(默认情况下是int/double)内,如果超过范围则直接报错。
  • 再看左边:观察被赋值的变量类型是否可以成功接收右边的常量
public class Demo02Var {
	public static void main(String[] args){
		int num1;
		num1=10;
		System.out.println(num1);
		int num2=20;
		System.out.println(num2 );
		
		byte num3=30;
		System.out.println(num3);
		//byte num4=400;
		//System.out.println(num4);//报错:400超出byte的范围是-128~127
		
		short num5=50;
		System.out.println(num5);
		
		char ch='A';
		System.out.println(ch);
		
		//long num6=3000000000;//会报错,没有加L默认是int(30亿超过了int的范围)
		long num6=3000000000L;
		System.out.println(num6);
		
		double num7=1.2;
		System.out.println(num7);
		
		float num8=1.2F;
		System.out.println(num8);
		
		boolean b1=true;
		System.out.println(b1);
		
	}
}

变量的注意事项:

  • 如果定义了重复的变量名,则程序会报错。
  • 对于float和long类型的变量,字母后缀F和L不要丢掉。
  • 变量不可以超出作用域的范围(作用域:从定义变量的第一行开始,一直到直接所属的大括号{}结束为止)
public class Demo03Var {
	public static void main(String[] args){
		{
			int num1=10;
			System.out.println(num1);//输出10
		}
		System.out.println(num1);//报错 在num1的作用域外,无法输出num1
	}
}
public class Demo03Var {
	public static void main(String[] args){
		int num1=20;
		{
			int num1=10;//报错  花括号外面已经定义了num1,而且还没消失,由于不可以有两个相同名字的变量同时存在 所以这里会报错
			System.out.println(num1);
		}		
	}
}
public class Demo03Var {
	public static void main(String[] args){
		{
			int num1=10;
			System.out.println(num1);//10
		}
                int num1=30;//此时上述花括号里的num1已经消失了,所以可以在外面重新定义另一个num1 不会报错
		System.out.println(num1);//30	
	}
}
  • 可以用一个语句同时创建多个变量,但是不推荐
//同时创建3个都是int类型的变量
int a,b,c;
a = 10;
b = 20;
c = 30;
System.out.println(a);//10
System.out.println(b);//20
System.out.println(c);//30
		
//同时创建三个int变量,并且同时各自赋值
int x=100,y=200,z=300;
System.out.println(x);//100
System.out.println(y);//200
System.out.println(z);//300
posted @ 2019-12-27 19:49  deer_cen  阅读(191)  评论(0)    收藏  举报