Java(1.5 day 5)

一.类型转换

关于基本数据类型之间的互相转换:转换规则

1、八种基本数据类型当中除布尔类型之外剩下的7种类型之间都可以互相转换

2、小容量向大容量转换,称为自动类型转换,容量从小到大排序:

byte<short<int<long<float<double

         char<

注:

任何浮点类型不管占用多少个字节,都比整数型容量大。

char和short可表示的种类数量相同,但是char可以取更大的正整数

3、大容量转换成小容量,叫做强制类型转换,需要加强制类型转换符,程序

才能编译通过,但是在运行阶段可能会损失精度,所以谨慎使用。

4、当整数字面值没有超出byte,short,char的取值范围,可以直接赋值给byte,short,char类型的变量

5、byte,short,char混合运算的时候,各自先转换成int类型再做运算。

6、多种数据类型混合运算,先转换成容量最大的那种类型再做运算·

二.面向对象-对象的创建和使用

通过一个类可以实例化N个对象

实例化对象的语法:new 类名();

new是java当中的一个运算符

new运算符的作用是创建对象,在JVM堆内存当中开辟新的内存空间

方法区内存:在类加载的时候,class字节码代码片段被加载到该内存空间当中;

栈内存(局部变量):方法代码片段执行的时候,会给该方法分配内存空间,在栈内存中压栈

堆内存:new的对象在堆内存中存储

Student s=new Student();

Student是一个引用数据类型

s是一个变量名

new Student()是一个学生对象

s是一个局都变量〖在栈内存中存储〗

什么是对象?new运算符在堆内存中开辟的内存空间称为对象.

什么是引用?引用是一个变量,只不过这个变量中保存了另一个java对象的内存地址

1.JVM(va拟机)主要包括三块内存空间,分到是:栈内存,堆内存,方法区内存。

2、堆内存和方法区内存各有1个。一个线程一个栈内存。

3、方法调用的时候该方法所需要的内存空间在栈内存中分配,称为压栈。方法执行结束之后,该方法所属的内存空间释放,称为弹栈。

4、栈中主要存的方法体当中的局部变量。

5、方法的代码片段以及整个类的代玛片段都被存储到方法区内存当中,在类加载的时候这些代码片段会载入。

6、在程序执行过程中使用new运算符创建的java对象存储在堆内存当中。对象内部有实例变量,所以实例变量存储在堆内存中。

7、变量分类

-局部变量[方法体中声明〕

-成员变量〔方法体外声明〕

.实例变量〔前边修饰符没有static)

.静态变量(前边修饰符有static)

8、静态变量存储在方法区内存中.[先背会]

9、三块内存当中变化最频繁的是栈内存,最先有数据的是方法区内存,垃圾回收器主要针对的是堆内存。

10、垃圾回收器〔自动垃圾回收机制、GC机制〕什么时候会考虑将某个java对象的内存回收呢?

-当堆内存当中的java对象成为垃圾数据的时候

-什么时候堆内存中的java对象会变垃圾呢?

.没有更多的引用指向它的时候

.这个对象无法被访问,因为访问对象能通过引用的方式访问

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Java 1.5及之后的枚举类是一种特殊的类,用于定义一组命名的常量(枚举值),并可以通过自己的方法和属性对枚举值进行管理和处理。枚举类具有类型安全性,可以防止误用不正确的常量,并可以在编译时对其进行验证。在Java 1.5及之后,枚举类可以方便地在代码中使用,并且可以与其他Java类结合使用,以创建更具灵活性和可扩展性的程序。 ### 回答2: Java 1.5之后引入了枚举类,枚举类是一种特殊的类,用于定义一组有限的常量。 枚举类有以下特点: 1. 枚举常量:枚举类中的常量是预先定义的、有限的实例,每个常量都有一个名称和一个值。 2. 枚举实例:每个枚举常量都是枚举类的实例,可以像普通类一样调用其方法和属性。 3. 迭代器:枚举类提供了一个迭代器(Iterator)来遍历枚举常量集合。 4. switch语句:可以使用switch语句根据枚举常量的值进行分支选择。 5. 扩展性:可以在枚举类中添加新的常量,而不会影响已有的代码。 使用枚举类可以提高程序的可读性和可维护性,因为通过枚举常量可以清晰地表达意图。另外,枚举类还可以防止常量的重复定义和误用。 以下是一个使用枚举类的示例: ```java public enum Weekday { MONDAY("星期一"), TUESDAY("星期二"), WEDNESDAY("星期三"), THURSDAY("星期四"), FRIDAY("星期五"), SATURDAY("星期六"), SUNDAY("星期日"); private String chineseName; private Weekday(String chineseName) { this.chineseName = chineseName; } public String getChineseName() { return chineseName; } } public class Main { public static void main(String[] args) { Weekday today = Weekday.MONDAY; System.out.println("今天是" + today.getChineseName()); switch (today) { case MONDAY: case TUESDAY: case WEDNESDAY: case THURSDAY: case FRIDAY: System.out.println("工作日"); break; case SATURDAY: case SUNDAY: System.out.println("周末"); break; default: System.out.println("未知"); break; } for (Weekday day : Weekday.values()) { System.out.println(day.getChineseName()); } } } ``` 在上述示例中,通过枚举类Weekday定义了一组星期常量,每个常量都有对应的中文名称。在main方法中,我们可以获取常量的中文名称,使用switch语句根据常量的值进行分支选择,以及使用迭代器遍历所有枚举常量。这样可以使代码更加清晰和易于理解。 ### 回答3: Java 1.5之后的枚举类是Java语言中引入的一种特殊数据类型,用于定义一组固定的常量值。在Java 1.5之前,常常使用一组静态常量来表示枚举类型,但这种做法不够优雅和安全。而Java 1.5之后,引入了枚举类的概念,使得枚举类型的定义更加简洁和易读。 枚举类的定义格式如下: ```java enum 枚举类名 { 常量1, 常量2, ... } ``` 枚举类中的常量是枚举类的实例,可以通过枚举类名和常量名来访问。例如,假设定义了一个颜色的枚举类Color,其中包含红色(RED)、绿色(GREEN)和蓝色(BLUE)三个常量: ```java enum Color { RED, GREEN, BLUE } ``` 我们可以使用Color.RED、Color.GREEN和Color.BLUE来访问这三个常量。 枚举类的好处是可以很容易地遍历其中的常量,可以使用枚举类的values()方法来获得一个包含所有常量的数组。例如,可以通过如下方式遍历Color枚举类中的所有常量: ```java for (Color c : Color.values()) { // 依次输出RED、GREEN和BLUE System.out.println(c); } ``` 此外,枚举类还可以有自己的构造方法、实例方法和静态方法等成员,使得枚举类型的定义更加灵活。枚举类还可以实现接口,从而支持多态性。 综上所述,Java 1.5之后的枚举类提供了一种更加优雅、安全和易读的方式来定义一组固定的常量值,使代码更加可维护和易于理解。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值