Java基础教程(五千字带你快速入门!)(一)

简介: Java基础教程(五千字带你快速入门!)(一)

一. Java语言介绍


1. Java语言的特点:

○ 开源           ○ 简单易学        ○ 平台无关性        ○ 面向对象

○ 支持网络    ○ 多线程机制    ○ 动态内存管理机制(只需申请内存空间,何时释放不用管)

○ 安全           ○ 生态丰富        ○ 高性能

2. Java语言的运行机制:

开发一个 .java文件 (源文件)

•  使用java编译器将 .java文件编译为标准统一的 .class文件(字节码文件)

•  把编译后的 .class文件交给对应平台的虚拟运行即可

3. Java语言如何实现跨平台?

在不同操作系统上安装不同java虚拟机;在window(开发),Linux(运行),mac上安装不同虚拟机只需开发一次,就可在不同操作系统上运行;相当于一次编写,到处执行。

4. 什么是虚拟机?

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一个虚构出来的计算机环境,是通过在实际的计算机上仿真模拟各种计算机功能来实现的,因为有了不同的JVM,所以同一个Java

程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性,也称为Java具有良好的可移植性, 但是前提是要具有不同的JVM。

5. 了解JDK,JRE,JVM三者之间的关系:

JDK(Java Development Kit Java开发工具包)

JDK是提供给Java开发人员使用的,其中包含了java的各种编译工具,打包工具等,也包括了JRE.

JRE(Java Runtime Environment Java运行环境)

JRE中包括 java程序运行所需要的核心类库,也包含Java虚拟机.

JVM(Java Virtual Machine Java虚拟机)

JVM是最终运行 java程序的核心环境

二. Java的基本语法


1. Java的数据类型

✎. java的数据类型分为基本数据类型 引用数据类型 两种.

基本类型有8种:

📖关于引用数据类型:


•  引用类型是面向对象编程中的一个重要概念,它表示的是对实际对象的引用,而不是直接存储对象的数据。


•  引用数据类型包括类、接口、数组、枚举和注解等...例如String就是Java中提供的一个类。


•  引用数据类型的值通常是按引用访问的,而不是按值访问,这意味着变量存储的是对象的地址,而不是对象本身的数据。


•  当修改引用数据类型的变量时,实际上是在修改它所引用的对象,而不是创建一个新的副本;此外,所有通过new关键字创建的对象都是引用数据类型。

2. 基本数据类型转换

✎. 基本数据类型转换(除boolean)分为两种:默认转换 强制转换

默认转换:小容量类型转为大容量类型.


(容量不是所占字节大小,如4个字节的float类型,容量大于8个字节的long类型)


byte/short/char ----> int ----> long ----> float ----> double      ( 容量由小到大 )


强制转换:大容量类型转为小容量类型 .


在使用强制转换时通常会出现两种问题: (1)溢出   (2)精度降低      使用时务必小心


📖 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。

int i = 'x';                  // 自动转换
char c = (char)60;            // 强制转换

3. 循环结构

(1)通常在不知道循环次数时用while循环

(2)若要求至少循环一次用do/while循环

(3)在知道循环次数时使用for循环


三. 数组


✎. 数组是一组相同类型数据的集合,本质是一个对象,数据存储在堆区,由引用指向数组首个元素的地址。

1. 创建数组

创建数组时,必须确定数组长度和类型;但如果储存的是基本类型,允许不赋初值(使用默认值)

int[] arr = new int[4];                    // 方法一
int[] arr = {1,2,3,4};                     // 方法二
int[] arr = new int[]{1,2,3,4};            // 方法三

2. 数组长度

在数组对象中,定义了 length 属性记录了数组长度。

int len = arr.length;                      // 返回数组长度  

📖Arrays类

✎. Java中为我们提供了Arrays类,是对数组进行操作的辅助类,实现了对数组的常用操作。

1. copyOf 方法

数组复制,将原数组内容复制到一个指定长度新数组中.

int[] arr1 = Arrays.copyOf(arr, 10);            // 复制数组:前 10 个单位
int[] arr2 = Arrays.copyOf(arr, 0, arr.length); // 复制数组:从 0 到 arr.length - 1

2. fill 方法

用指定的值 ,将指定数组中的值进行填充.

        int[]f = new int[5];
        Arrays.fill(f,6);
        System.out.println(Arrays.toString(f));//[6,6,6,6,6]

3. sort 方法

可以对数组排序,默认数组数值从小到大排列,用户可以自定义排列顺序.

Arrays.sort(arr);                           // 数组排序

4. binarySearch 方法

二分查找查找前需要先排序.

        int[] b ={5,4,6,8,2,1,7};
        Arrays.sort(b);  //排序后 b={1,2,4,5,6,7,8}
        int index =Arrays.binarySearch(b,6); //需要找6
        System.out.println(index);  //输出索引,排序后6对应的索引为4

5. toString 方法

将数组中的元素内容拼接成一个字符串输出.

        int[] a={1,2,3,4};
        System.out.println(a);  //输出数组首元素地址,不是数组的元素内容
        System.out.println(Arrays.toString(a));;//通过toString()输出元素内容

6. equals 方法

比较两个数组内容是否相等,返回值为boolean类型

        int[] a={1,2,3,4};
        int[] b={1,2,3,4};
        System.out.println(Arrays.equals(a,b));//true

7. asList 方法

将数组转化为列表(List 类)但数组数据必须是包装类型

调用该方法将数组转换为列表后, 在内存中实际还是以数组形式存储, 这可能会导致以下两个问题:

  • 调用 List 类的 add 方法向列表中插入数据,会导致异常;
  • 对原数组进行更改,也会导致列表中的数据发生变化。
arr[] = new Integer[]{1, 2, 3, 4};                 // 数组必须是包装数据类型
List list = Arrays.asList(arr);                    // 将数组转换为集合(有问题)               
List list = new ArrayList<>(Arrays.asList(arr));   // 将数组转换为集合(推荐)  


Java基础教程(五千字带你快速入门!)(二):

相关文章
|
6天前
|
JavaScript NoSQL Java
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
144 96
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
|
30天前
|
存储 Java 索引
Java快速入门之数组、方法
### Java快速入门之数组与方法简介 #### 一、数组 数组是一种容器,用于存储同种数据类型的多个值。定义数组时需指定数据类型,如`int[]`只能存储整数。数组的初始化分为静态和动态两种: - **静态初始化**:直接指定元素,系统自动计算长度,如`int[] arr = {1, 2, 3};` - **动态初始化**:手动指定长度,系统给定默认值,如`int[] arr = new int[3];` 数组访问通过索引完成,索引从0开始,最大索引为`数组.length - 1`。遍历数组常用`for`循环。常见操作包括求和、找最值、统计特定条件元素等。
|
26天前
|
消息中间件 Java 数据库
自研Java框架 Sunrays-Framework使用教程「博客之星」
### Sunrays-Framework:助力高效开发的Java微服务框架 **Sunrays-Framework** 是一款基于 Spring Boot 构建的高效微服务开发框架,深度融合了 Spring Cloud 生态中的核心技术组件。它旨在简化数据访问、缓存管理、消息队列、文件存储等常见开发任务,帮助开发者快速构建高质量的企业级应用。 #### 核心功能 - **MyBatis-Plus**:简化数据访问层开发,提供强大的 CRUD 操作和分页功能。 - **Redis**:实现高性能缓存和分布式锁,提升系统响应速度。 - **RabbitMQ**:可靠的消息队列支持,适用于异步
自研Java框架 Sunrays-Framework使用教程「博客之星」
|
1月前
|
Java
Java快速入门之判断与循环
本文介绍了编程中的流程控制语句,主要包括顺序结构、判断结构(if语句和switch语句)以及循环结构(for、while和do...while)。通过这些语句可以精确控制程序的执行流程。if语句有三种格式,分别用于简单条件判断、二选一判断和多条件判断。switch语句适用于有限个离散值的选择判断,而循环结构则用于重复执行某段代码,其中for循环适合已知次数的情况,while循环适合未知次数但有明确结束条件的情况,do...while则是先执行后判断。文中还提供了多个示例和练习,帮助读者理解并掌握这些重要的编程概念。
|
26天前
|
Java
Java快速入门之类、对象、方法
本文简要介绍了Java快速入门中的类、对象和方法。首先,解释了类和对象的概念,类是对象的抽象,对象是类的具体实例。接着,阐述了类的定义和组成,包括属性和行为,并展示了如何创建和使用对象。然后,讨论了成员变量与局部变量的区别,强调了封装的重要性,通过`private`关键字隐藏数据并提供`get/set`方法访问。最后,介绍了构造方法的定义和重载,以及标准类的制作规范,帮助初学者理解如何构建完整的Java类。
|
28天前
|
Java 数据库连接 数据处理
探究Java异常处理【保姆级教程】
Java 异常处理是确保程序稳健运行的关键机制。它通过捕获和处理运行时错误,避免程序崩溃。Java 的异常体系以 `Throwable` 为基础,分为 `Error` 和 `Exception`。前者表示严重错误,后者可细分为受检和非受检异常。常见的异常处理方式包括 `try-catch-finally`、`throws` 和 `throw` 关键字。此外,还可以自定义异常类以满足特定需求。最佳实践包括捕获具体异常、合理使用 `finally` 块和谨慎抛出异常。掌握这些技巧能显著提升程序的健壮性和可靠性。
47 4
|
28天前
|
存储 移动开发 算法
【潜意识Java】Java基础教程:从零开始的学习之旅
本文介绍了 Java 编程语言的基础知识,涵盖从简介、程序结构到面向对象编程的核心概念。首先,Java 是一种高级、跨平台的面向对象语言,支持“一次编写,到处运行”。接着,文章详细讲解了 Java 程序的基本结构,包括包声明、导入语句、类声明和 main 方法。随后,深入探讨了基础语法,如数据类型、变量、控制结构、方法和数组。此外,还介绍了面向对象编程的关键概念,例如类与对象、继承和多态。最后,针对常见的编程错误提供了调试技巧,并总结了学习 Java 的重要性和方法。适合初学者逐步掌握 Java 编程。
52 1
|
2月前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
1328 1
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
2月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
181 26
|
28天前
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
38 0