Java基础学习之变量与常量

Java基础学习之变量与常量
一、变量
(一)变量的性质
1、可以操作的一段存储空间
2、变量的三要素:变量类型、变量名称、变量的作用域
3、变量声明规范:每行声明一个且增加相应的注释以说明
4、变量必须在声明之后才能够开始使用
(二)变量的分类
1、局部变量(使用前需要进行初始化,驼峰原则命名):在方法当中或语句块当中定义的变量,该变量的作用域从定义该变量开始到方法或语句块结束。
2、成员变量:在方法的外部、类的内部定义的变量,从属于对象,伴随着对象的执行,能够自动进行初始化。
3、静态变量:使用static进行修饰,属于类,声明周期伴随着类的开始结束,生命周期是最长的。

二、常量:通常指的是固定的值,在使用final修复之后,该常量的值不能被再次改变
1、命名规范:全部使用的大写字母并运用下划线全部隔开
2、用final进行修饰

三、基本数据类型
(一)基本数据类型
1、数值型:
①整数类型:byte(1个字节)、short(2个字节)、int(4个字节)、long(8个字节)
②浮点类型:float(4个字节)、double(8个字节)
③字符型:char(两个字节)
④布尔型(Boolean):true/false(1位)

(二)整形变量/常量
整形数据类型

/**
* 测试基本数据类型
* @author 14323
*
*/
public class TestprimitiveDateType {
       public static void main(String[] args){
       //测试整形变量
       int a = 15;
       int b = 015;//0开头的是八进制
       int c = 0x15;//0x开头的是十六进制
       int d = 0X15;//0X开头的是十六进制
       int v = 0b110001;//0b开头的是二进制
       int x = 0B110001;//0B开头的是二进制
       System.out.println(a);
       System.out.println(b);
       System.out.println(c);
       System.out.println(d);
       System.out.println(v);
       System.out.println(x);
       
       byte age = 20;
       short salary = 30000;
       int papulation = 2000000000;//整型常量默认为int类型
       long globaPopulation = 7400000000L;//后面加L表示为一个long类型,要将默认的int改为long类型
       }
}

(三)浮点型常量、变量在这里插入图片描述
⭐给float赋值时的注意事项

/**
* 测试浮点型
* @author 14323
*
*/
public class TxstPrimitDataType2 {
       public static void main(String[] args) {
             //float b = 3.14; 错误,需要添加f/F后缀
             float a = 3.14f;
             float c = 3.14F;
             double d = 6.28;
             double e = 628e-2;//科学计数法
             
             System.out.println(a);
             System.out.println(c);
             System.out.println(d);
             System.out.println(e);
             
             //浮点数是不精确的,不能用于比较
             //案例1:两个相等的值显示不等
             float q = 0.1f;
             double p = 1e-1;
             System.out.println(p==q);
             
             //案例2,两个不相等的值显示相等
             float testNumberOne = 423432423F;
             double testNumberTwo = testNumberOne+1;
             if(testNumberOne==testNumberTwo) {
                    System.out.println("两者相等");
             }else {
                    System.out.println("两者不相等");
             }
                           
       }
}

在这里插入图片描述
不能这样给float赋值,因为小数点默认的数据类型是double。
解析
1、浮点型默认的数据类型为double
2、浮点数都是不精确的
3、Java表示数据类型的方式:
①十进制:3.14、314
②科学计数法:314e(E)-2、3.14e(E)2
4、使用float=x赋值时需要在数据的末尾加上l或L(最好大写)
5、若想精确比较浮点数,可以利用Java中的BigInteger(大整形,任意精度整数运算)和BigDecimal(大浮点,任意精度浮点运算)

             //精确浮点运算
             BigDecimal bd = BigDecimal.valueOf(1.0);
             bd = bd.subtract(BigDecimal.valueOf(0.1));
             System.out.println(bd);
             System.out.println(1.0-0.1);
             
             //精确浮点比较
             BigDecimal ab = BigDecimal.valueOf(0.1);
             BigDecimal ac = BigDecimal.valueOf(10E-2);
             System.out.println(ab.equals(ac));

(四)字符型变量/常量
在这里插入图片描述

/**
* 测试字符类型
* @author 14323
*
*/
public class TestPrimitiveDateType3 {
       public static void main(String[] args) {
             char a = 't';//表示一个字母字符
             char b = '成';//表示一个汉字字符
             char c = '\u0061';
             System.out.println(c);
             
             //转义字符
             System.out.println(""+'a'+'\r'+'b');//打印空格
             System.out.println(""+'a'+'\''+'b');//打印一个单引号
             System.out.println(""+'a'+'\"'+'b');//打印一个双引号
             System.out.println(""+'a'+'\b'+'b');//打印退格
             System.out.println(""+'a'+'\n'+'b');//打印换行
             System.out.println(""+'a'+'\\'+'b');//打印反斜
             System.out.println(""+'a'+'\t'+'b');//打印制表符
             
             //定义字符串用String,实质上是一串字符序列
             String okHaha="zuihouyizhichengdu";
       }
}

解析
1、字符常量长度为两个字节,但是其中不能存储字符串
2、在存储字符串时需要用到String,这实质上是一串字符序列

(五)Boolean类型
⭐Boolean只占一位,常量值为true/false

/**
* 测试布尔类型
* @author 14323
*
*/
public class TestPrimitiveDataType4 {
       public static void main(String[] args) {
             boolean man = true;
             if(man==true) {
                    System.out.println("男性");
             }
       }
}
发布了6 篇原创文章 · 获赞 3 · 访问量 198

猜你喜欢

转载自blog.csdn.net/weixin_43855187/article/details/104130265