重生之我要精通JAVA--第一周笔记

2024-04-21 19:52

本文主要是介绍重生之我要精通JAVA--第一周笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • JDK,JRE与JVM
      • JDK是什么
      • JRE是什么
      • JDK,JRE,JVM三者之间的包含关系
    • JAVA基础概念
      • 注释和关键字
        • 注释
        • 关键字
      • 字面量
        • 分类
      • 变量
        • 变量的定义格式
      • 标识符
        • 标识符命名规则
          • 硬性要求
          • 软性建议
      • 键盘录入
        • 介绍
        • 步骤
      • IDEA
        • IDEA项目结构介绍
    • 运算符
      • 算数运算符
        • 字符串 “+” 操作
        • 字符 “+” 操作
    • 判断和循环
    • 数组
      • 数组的定义
      • 数组静态初始化
      • 数组动态初始化

JDK,JRE与JVM

JDK是什么

JDK代表Java Development Kit(Java开发工具包),它是Java平台的核心开发工具。JDK包含了一系列工具和库,用于开发、编译、调试和运行Java程序。以下是JDK的主要内容组成:

  1. Java编译器(javac):用于将Java源代码编译成Java字节码,这是Java跨平台性的关键。
  2. Java运行时环境(JRE):JDK包含了完整的JRE,包括Java虚拟机(JVM)和Java类库,用于在计算机上运行Java程序。
  3. Java标准类库:包含了大量的Java类和API,用于开发各种类型的应用程序,例如I/O操作、网络编程、数据结构、图形用户界面等。
  4. 调试工具:JDK提供了一些调试工具,如Java调试器(jdb)和Java虚拟机监视器接口(JVMPI),用于调试Java应用程序和分析性能。
  5. Java文档生成工具(Javadoc):用于从Java源代码自动生成文档,这些文档描述了代码中的类、方法、参数等信息,方便其他开发人员阅读和理解代码。
  6. 其他实用工具:例如JAR打包工具(用于创建和管理Java归档文件)、Java序列化工具(用于将Java对象转换为字节序列以进行持久化或网络传输)等。

JRE是什么

JRE代表Java Runtime Environment(Java运行时环境),它是在计算机上运行Java程序所必需的软件环境。JRE包含了Java虚拟机(JVM)和Java类库,用于解释和执行Java字节码。以下是JRE的主要内容组成:

  1. Java虚拟机(JVM):JVM是Java程序的运行引擎,它负责解释Java字节码并在计算机上执行相应的操作。JVM是Java跨平台性的关键,因为它能够在不同的操作系统上运行相同的Java程序。
  2. Java类库:JRE包含了一组标准的Java类库,提供了丰富的API(应用程序编程接口),用于开发各种类型的Java应用程序。这些类库涵盖了各种功能,包括文件操作、网络通信、图形用户界面、数据结构等。
  3. Java运行时配置文件:JRE包含了一些配置文件,用于配置JVM的行为和设置Java程序的运行环境。这些配置文件可以调整内存分配、类加载路径、安全策略等参数。
  4. 其他运行时支持文件:JRE还可能包含一些支持文件,如本地化资源、安全策略文件、扩展类库等,这些文件对Java程序的运行起到支持和辅助作用。

JDK,JRE,JVM三者之间的包含关系

  1. JDK(Java Development Kit):JDK包含了JRE和其他开发工具,如编译器(javac)、调试器等。因此,JDK是最完整的Java开发环境,它包括了JRE提供的运行时环境以及用于开发Java应用程序的工具和库。
  2. JRE(Java Runtime Environment):JRE是Java运行时环境,包含了Java虚拟机(JVM)和Java类库。它提供了运行Java应用程序所需的基本环境,但不包括用于开发Java程序的工具和库。
  3. JVM(Java Virtual Machine):JVM是Java虚拟机,是Java程序的运行引擎。它负责解释和执行Java字节码,并在计算机上执行相应的操作。JVM是JRE的核心组件之一,因为JRE中的其他部分(如类库)都是为了支持JVM的正常运行。

JAVA基础概念

注释和关键字

注释

单行注释: // 注释信息

多行注释: /* 注释信息 */

文档注释: /** 注释信息 */

关键字

被Java赋予了特定含义的英文单词。

特点:字母全部小写。

class关键字表示定义一个类,后面跟随类名。

字面量

分类

整数类型,小数类型,字符串类型,字符类型,布尔类型,空类型。

null不能直接打印。

‘\t’(制表符)会把前面字符串长度补齐到8或者是8的整数倍,最少补1个空格,最多8个。

变量

变量的定义格式

数据类型 变量名 = 数据值;

String为字符串类型

标识符

标识符命名规则
硬性要求
  • 由数字、字母、下划线(_)和美元符($)组成
  • 不能以数字开头
  • 不能是关键字
  • 区分大小写
软性建议

小驼峰命名法方法变量

  • 标识符是一个单词的时候全部小写
  • 标识符是由多个单词组成的时候,第一个单词字母小写,其他单词字母大写

大驼峰命名法类名

  • 标识符是一个单词的时候,首字母大写
  • 标识符由多个单词组成的时候,每个单词的首字母大写

键盘录入

介绍

Java帮我们写好了一个类叫Scanner,这个类可以接收键盘输入的数字。

步骤

1.导包 – Scanner这个类

import java.until.Scanner;

导包动作必须出现在类定义的上面

2.创建对象 – 表示开始用Scanner这个类

Scanner sc = new Scanner(System.in);

上面这个格式里面,只有sc是变量名,可以改变,其他的都不能变

3.接收数据 – 真正开始干活

int i = sc.nextInt();

只有i是变量名,可以变,其他的都不能变

IDEA

IDEA项目结构介绍

​ project(项目)

​ module(模块)

​ package(包)

​ class(类)


运算符

运算符:对字面量或者变量进行操作的符号

表达式:用运算符把字面量或者变量连接起来,符合java语法的式子。

算数运算符

隐式转换:取值范围小->取值范围大

byte,short,char在进行运算的时候都会先提升为int再计算。

字符串 “+” 操作
  • 当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算符了。

  • 连续进行“+”操作时,从左到右逐个执行。

下面举两个特殊的例子:

int age = 18;
System.out.println("我的年龄是" + age + "岁");//答案是"我的年龄是18岁"
System.out.println("我的年龄是" + "age" + "岁");//答案是"我的年龄是age岁"
System.out.println(1 + 2 + "abc" + 2 + 1);//"3abc21"
字符 “+” 操作

先查找到为ASCII码再参与计算。

举例:

System.out.println(1 + 'a');//98
System.out.println('a' + "abc");//"aabc"

判断和循环

switch新特性:

switch(){case 1 -> {;}case 2 -> {;}default -> {;}
}
//防止case穿透

数组

数组容器在存储数据的时候,需要结合隐式转换来考虑–向下兼容

数组的定义

格式一:数据类型 [ ] 数组名

格式二:数据类型 数组名[ ]

数组静态初始化

完整格式:数据类型[] 数组名 = new 数据类型[]{ , , , };

int[] array = new int[]{11, 22, 33};

简化格式:数据类型[] 数组名 = { , , , };

int[] array = {11, 22, 33};

地址值的格式含义 [D@776ec9df

[:表示当前是一个数组

D:表示数组里面的元素都是double类型

@:表示一个间隔符号

776ec9df:才是数组真正的地址值

arr.lenth直接就是arr数组大小。

数组动态初始化

格式:数据类型[] 数组名 = new 数据类型[数组长度];

int[] arr = new int[3];

Java第一周的学习笔记到这里就结束啦!

已经到底啦!!

这篇关于重生之我要精通JAVA--第一周笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/923900

相关文章

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏