JavaSE(二) —— 常量、变量

一.常量

和数学题中的常数大概是一个意思
就是在程序运行中不会变化的量
例如:

public class void test1{
    public static void main(String[] args) {
        System.out.println("Hello World!!!");
    }
}
“Hello World!!!”就是常量 他不会改变

往后学习就知道 常量声明时一般用final修饰

二.数据类型和变量

2.1 数据类型分类

2.1.1

Java的数据类型分为两大类:(不是基本就是引用,没有其他的)
基本数据类型 :(四类八种)
整数 :byte、short、int(默认)、long
浮点数 :float、double(默认)
符 :char
布尔 :boolean
引用数据类型 :包括 字符串、 类 、 数组 、 接口、Lambad 。
注意事项:
1. 字符串不是基本类型,而是引用类型。
2. 浮点型可能只是一个近似值,并非精确的值。
3. 数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但是float是4字节,long是8字节。
4. 浮点数当中默认类型是double。如果一定要使用float类型,需要加上一个后缀F。
如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L。推荐使用大写字母后缀。

定义所有基本数据类型的变量,代码如下:

public class Variable {
public static void main(String[] args){    
        //定义字节型变量
        byte b = 100;
        System.out.println(b);
        //定义短整型变量
        short s = 1000;
        System.out.println(s);
        //定义整型变量
        int i = 123456;
        System.out.println(i);
        //定义长整型变量
        long l = 12345678900L;
        System.out.println(l);
        //定义单精度浮点型变量
        float f = 5.5F;
        System.out.println(f);
        //定义双精度浮点型变量
        double d = 8.5;
        System.out.println(d);
        //定义布尔型变量
        boolean bool = false;
        System.out.println(bool);
        //定义字符型变量
        char c = 'A';(不要和字符串(String)的""弄混了)
        System.out.println(c);
}    
}

2.1.1

1 基本数据类型之间的转换分为以下两种:

  • 自动类型转换
    强制类型转换
    特殊:boolean 类型不能转换成任何其它基本数据类型。

2 自动类型转换:数据类型取值范围小的转为取值范围大的

  • byte —> short—>int—>long—>float —>double
  • char—> int
  • byte,short,char三者在计算时会转换成int类型 (了解)
  • int整型常量和字符常量在合理范围内可以直接赋值给 byte、short、int、char (了解)

3.强制类型转换:数据类型取值范围大的转为取值范围小的. 需要加强制转换符,也就是要转换的数据类型。(我理解强制类型转换只适用于基本数据类型之间,和父子转型中。。。暂时先这么写吧)
long l = 100L;
int i = (int) l;
但有可能造成精度降低或数据溢出,使用时要小心。
在这里插入图片描述

2.2 变量

2.2.1 变量的声明、初始化

变量:程序运行期间,内容可以发生改变的量。
创建一个变量使用的格式:
数据类型 变量名称;//创建了一个变量 (声明)
变量名称 = 数据值;//赋值,将右边的数据值,赋值交给左边的变量 (初始化/赋值)
举例:int i;
i=100;
i=200;
声明同时赋值
数据类型 变量名 = 变量值;
int j=20;

2.2.2 局部变量和成员变量

1.声明的位置不同: 局部变量的作用域就是它所在的方法或语句块 成员变量的作用域是整个类体。
2. 是否拥有默认值: 成员变量有默认值 局部变量没有默认值

public class Test5 {
	int i;
	public static void main(String[] args) {
		Test5 test5 = new Test5();
		int a = 0;
		System.out.println(test5.i);
		System.out.println(a);
	}

}
可以看到成员变量i没有赋值但是就有默认值,但是局部变量a没有默认值,必须初始化

1、在类中位置不同:成员变量:在类中方法外。局部变量:在方法定义中或者方法声明上。
2、在内存中的位置不同:成员变量:在堆内存。 局部变量:在栈内存。
3、生命周期不同:成员变量:随着对象的创建而存在,随着对象的消失而消失。 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失。
4、初始化值不同:成员变量:有默认值初始化。局部变量:没有默认值初始化,必须定义,赋值,然后才能使用。
5、注意事项:局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值