随笔 - 39  文章 - 0  评论 - 0  阅读 - 5602

Java基础复习随笔

Java杂记

Java常量

常量在程序运行时是不能被修改的。在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似:

final double PI = 3.1415927;

自动转换类型

低  ------------------------------------>  高

byte,short,char—> int —> long—> float —> double 

满足规则

/*
- 1. 不能对boolean类型进行类型转换。
- 2. 不能把对象类型转换成不相关类的对象。
- 3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
- 4. 转换过程中可能导致溢出或损失精度,例如:
*/
int i =128;   
byte b = (byte)i;
/*因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。*/
//5.浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:
(int)23.7 == 23;        
(int)-45.89f == -45
/*转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。*/
public class 自动转换 {
    public static void main(String[] args) {
        char c1='a';//定义一个char类型
        int i1 = c1;//char自动类型转换为int
        System.out.println("char自动类型转换为int后的值等于"+i1);
        char c2 = 'A';//定义一个char类型
        int i2 = c2+1;//char 类型和 int 类型计算
        System.out.println("char类型和int计算后的值等于"+i2);
    }
}

强制类型转换

  1. 条件是转换的数据类型必须是兼容的。

  2. 格式:(type)value type是要强制类型转换后的数据类型

隐含强制类型转换

  1. 整数的默认类型是 int。

  2. 小数默认是 double 类型浮点型,在定义 float 类型时必须在数字后面跟上 F 或者 f。

类变量和实例变量的区别

成员变量:类内、方法体外定义的变量

成员变量分为实例变量和类变量(静态变量)两类

实例变量没有static修饰,这些成员变量是对象中的成员
有static修饰的,称为类变量(静态变量)
静态变量(类变量)特点:
1.随着类的加载而加载
2.优先于对象存在
3.被所有对象所共享
4.可以直接被类名调用

区别:

1.存放位置。

类变量随着类的加载而存在于方法区中。

实例变量随着对象的建立而存在于堆内存中。

2.生命周期:

类变量生命周期最长,随着类的消失而消失。

实例变量生命周期随着对象的消失而消失。

变量类型

声明格式:

type identifier [ = value][, identifier [= value] ...] ;

支持的变量类型有:

1.类变量:独立于方法之外的变量,用 static 修饰。

1.类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外。
2.类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外。
3.无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。
4.静态变量除了被声明为常量外很少使用,静态变量是指声明为 public/private,final 和 static 类型的变量。静态变量初始化后不可改变。
5.静态变量储存在静态存储区。经常被声明为常量,很少单独使用 static 声明变量。
6.静态变量在第一次被访问时创建,在程序结束时销毁。
7.与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为 public 类型。
8.默认值和实例变量相似。数值型变量默认值是 0,布尔型默认值是 false,引用类型默认值是 null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。
9.静态变量可以通过:ClassName.VariableName的方式访问。
10.类变量被声明为 public static final 类型时,类变量名称一般建议使用大写字母。如果静态变量不是 public 和 final 类型,其命名方式与实例变量以及局部变量的命名方式一致。

2.实例变量:独立于方法之外的变量,不过没有 static 修饰。

1.实例变量声明在一个类中,但在方法、构造方法和语句块之外;
2.当一个对象被实例化之后,每个实例变量的值就跟着确定;
3.实例变量在对象创建的时候创建,在对象被销毁的时候销毁;
4.实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息;
5.实例变量可以声明在使用前或者使用后;
6.访问修饰符可以修饰实例变量;
7.实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见;

局部变量:类的方法中的变量。访问修饰符不能用于局部变量

posted on   Cafune-Ding  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示