背景

学习Java我们不仅要学会如何去打代码、程序。还要懂得他们每一个字符、字符串和类等等的含义与用途。虽然这些内容基础,但是我们一旦对这些内容的认识和理解加深,不仅会对 Java 进一步学习起到基石般的支撑作用,帮助我们更顺畅地理解各种代码示例和框架的实现原理。

—————————————————————————————————————————

目录一、基本数据类型引用数据类型的区分1.什么是基本数据类型与引用数据类型(1)基本数据类型:

定义:基本数据类型是编程语言中最基础的数据类型,它们通常用来表示简单的数据值。

分类:一共八个基本数据类型,分别为byte、short、int、long(整数类型),float、double(浮点类型),char(表示字符),boolean(表示真假)。

数据类型字节数取值范围(示例,不同环境下具体范围有标准定义)默认值示例代码声明方式

byte

1 字节(8 位)

-128到 127

byte num = 10;

short

2 字节(16 位)

-32768到 32767

short num = 100;

int

4 字节(32 位)

-2147483648到 2147483647

int num = 1000;

long

8 字节(64 位)

-9223372036854775808到 9223372036854775807

0L(注意要加 L 后缀表示长整型)

long num = 10000000000L;

float

4 字节(32 位)

大约 ±3.40282347×到 ±1.40129846×(有精度限制)

0.0f(注意要加 f 后缀表示单精度浮点数)

float num = 3.14f;

double

8 字节(64 位)

大约 ±1.7976931348623157×到 ±2.2250738585072014×(有精度限制)

0.0d(一般 d 可省略)

double num = 3.1415926;

char

2 字节(16 位)

‘u0000’(即 0)到 ‘uffff’(即 65535),表示 Unicode 字符

‘u0000’(空字符)

char ch = ‘A’;

boolean

理论上 1 位,但实际按字节对齐,通常占 1 字节

true或false

false

boolean flag = true;

(2)引用数据类型

类(Class)

   class Person {
       private String name;
       private int age;
       public Person(String name, int age) {
           this.name = name;
           this.age = age;
       }
       public String getName() {
           return name;
       }
       public void setName(String name) {
           this.name = name;
       }
       public int getAge() {
           return age;
       }

java框架基础知识__java的框架指的是什么

public void setAge(int age) { this.age = age; } }

接口(Interface)

   interface Shape {
       double getArea();
       double getPerimeter();
   }

数组(Array)

枚举(Enum)

   enum Season {
       SPRING, SUMMER, AUTUMN, WINTER
   }

注解(Annotation)

   import java.lang.annotation.ElementType;
   import java.lang.annotation.Retention;
   import java.lang.annotation.RetentionPolicy;
   import java.lang.annotation.Target;
   @Retention(RetentionPolicy.RUNTIME)
   @Target(ElementType.TYPE)
   @interface MyAnnotation {
       String value();
   }

2.区分基本数据类型和引用数据类型

(1.)存储方式不同:

基本数据类型:基本数据类型的值直接存储在栈内存中;

栈(Stack): 在 Java 中,栈是一种数据结构,用于存储数据。它遵循后进先出的原则,就像一个只允许在一端进行插入和删除操作的容器。比喻:有一叠盘子,最后放上去的盘子会最先被拿走,这就类似于栈的操作方式。

引用数据类型:引用数据类型存储的是对象的引用,而对象本身存储在堆内存中。

堆内存(Heap Memory):是计算机内存中的一块区域,主要用于动态分配对象的存储空间,是存储对象和动态分配的数据结构。

二、String的定义与作用

定义:在java中,String是一个类,是java中已经给我们定义好的类,用于表示字符序列,也就是我们通常所说的字符串。它是一种引用数据类型。

创建方式:

(1.)直接赋值:可以使用双引号将字符序列括起来直接赋值给String变量,这是最常见的方式。例如:String message = “Welcome to Java”;。在这种情况下,Java 会在字符串常量池中查找是否已经存在相同内容的字符串,如果存在,则直接复用该字符串对象;如果不存在,则在常量池中创建一个新的字符串对象。

(2.)使用new关键字构造:通过new关键字调用String的构造函数来创建对象。例如:String anotherMessage = new String(“Another String”);。这种方式会在堆内存中创建一个新的String对象,即使字符串内容与常量池中已有的字符串相同。不过,在实际开发中,除非有特殊需求,直接赋值的方式更加简洁高效。

字符串常量池

字符串常量池是 Java 内存中的一个特殊区域,用于存储字符串常量。它的存在是为了提高性能和节省内存。当使用直接赋值方式创建字符串时,Java 会先在常量池中查找是否有相同内容的字符串,如果有,就直接返回该字符串的引用,避免了重复创建相同内容的字符串对象。例如:

String str1 = "Java";
String str2 = "Java"; 
System.out.println(str1 == str2);

在实际开发中的应用场景

三、java的jre、jvm和特性

1.jre是Java 运行环境(Java Runtime Environment,JRE),是运行 Java 程序的最小环境。它主要由 Java 虚拟机(JVM)、Java 核心类库(Java Class Library)和支持文件组成。JRE 就像是一个 Java 程序的 “运行工具包”,提供了运行 Java 程序所必需的一切组件。

2.jvm是Java 程序和底层操作系统及硬件之间的一个中间层抽象。它就像是一个虚拟的计算机,为 Java 程序提供了一个统一的运行环境。先把java程序编译成字节码,而字节码是一种无关平台的表现形式,字节码的文件扩展名.class(例如,一个简单的HelloWorld程序经过编译后会生成HelloWorld.class文件。),jvm能够理解并运行这些字节码,再通过字节码解释器把字节码解释为机器码来运行,并且不会因为系统和和硬件的不同来重新编译。

3.特性:java可以实现跨平台,即java程序可以在windows、Linux、Mac上都可以正常运行。因为java有java虚拟机(jvm)这个重要因素的存在,所以可以跨平台运行。

总结:

1.数据类型

(1)八个基本数据类型:byte、short、int、long、float、double、char、boolean

(2)和引用数据类型:类、数组、枚举、注解、接口。

2.String是引用数据类型,也是一个类,即字符串。

3.jre是java的运行环境提供了java运行所需的一切组件;jvm是java虚拟机,能够让java实现跨平台运行。

#java之旅#

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。