• 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
    
  • 相关阅读:
    Julia出现错误ERROR: LoadError: syntax: try without catch or finally
    tensorflow白话篇
    论秋招中的排序(排序法汇总-------中篇)
    论秋招中的排序(排序法汇总-------上篇)
    红包的收益(笔试)
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cli2/Option
    Spark 贝叶斯分类算法
    centos php Zookeeper kafka扩展安装
    SpringBoot tomcat
    flume 整合kafka
  • 原文地址:https://www.cnblogs.com/deer-cen/p/12109355.html
Copyright © 2020-2023  润新知