Java学习系列(一)

一、概念
1.Java 是由 Sun Microsystems 公司1995 年 5 月推出的高级程序设计语言

2.Java 可运行于多个平台,如 Windows, Mac OS 及其他多种 UNIX 版本的系统。

3.移动操作系统 Android 大部分的代码采用 Java 编程语言编程。

4.Java分为三个体系:

  • JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
  • JavaEE(J2EE) (Java 2 Platform,Enterprise Edition,java平台企业版)
  • JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)

5.主要特性:

  • 面向对象:Java 语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。
  • 分布式:Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。
  • 健壮:Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。
  • 安全:Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵
  • 体系结构中立:Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
  • 可移植:这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。
  • 解释型:指源代码不需要预先进行编译,在运行时,要先进行解释再运行。解释型语言执行效率低,但跨平台性好。
  • 高性能:Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C++
  • 多线程:线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建
  • 动态:Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。

二、基础

1.类、对象、方法和实例变量的概念:

  • 对象:对象是类的一个实例,有状态和行为。
  • :类是一个模板,它描述一类对象的行为和状态。
  • 方法:方法就是行为,一个类可以有很多方法。
  • 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

2.注解

  • 单行注释://
  • 多行注释以 /*开始,以 */结束
  • 文档注释以 /** 开始,以 */ 结束,通常出现在类、方法、字段等的声明前面,用于生成代码文档,这种注释可以被工具提取并生成 API 文档

3.基本数据类型

  • byte 数据类型是8位、有符号的,以二进制补码表示的整数 默认值是 0  -128 ~ 127
  • short 数据类型是 16 位、有符号的以二进制补码表示的整数 默认值是 0 -32768 ~ 32767
  • int 数据类型是32位、有符号的以二进制补码表示的整数 默认值是 0 (-2^31)~ (2^31 - 1)
  • long 数据类型是 64 位、有符号的以二进制补码表示的整数 默认值是 0L(-2^63)~ (2^63 -1)
  • float 数据类型是单精度、32位、符合IEEE 754标准的浮点数 默认值是 0.0f
  • double 数据类型是双精度、64 位、符合 IEEE 754 标准的浮点数 默认值是 0.0d
  • boolean数据类型表示一位的信息 默认值是 false
  • char 类型是一个单一的 16 位 Unicode 字符 默认值是 'u0000' '\u0000' ~ '\uffff'

4.引用类型

  • 引用类型指向一个对象,指向对象的变量是引用变量。
  • 对象、数组都是引用数据类型。
  • 所有引用类型的默认值都是null。

5.常量

  • 使用 final 关键字来修饰常量,声明方式和变量类似:final double PI = 3.1415927
  • 为了便于识别,通常使用大写字母表示常量

6.特殊的转义字符序列

符号字符含义
\n换行 (0x0a)
\r回车 (0x0d)
\f换页符(0x0c)
\b退格 (0x08)
\0空字符 (0x0)
\s空格 (0x20)
\t制表符
\"双引号
\'单引号
\\反斜杠
\ddd八进制字符 (ddd)
\uxxxx16进制Unicode字符 (xxxx)

7.访问控制修饰符

  • default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。

  • private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

  • public : 对所有类可见。使用对象:类、接口、变量、方法.

  • protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

private 声明为私有访问类型的变量只能通过类中公共的 getter 方法被外部类访问

public 的类、方法、构造方法和接口能够被任何其他类访问

8.非访问修饰符

  • static 修饰符,用来修饰类方法和类变量。
  • final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
  • abstract 修饰符,用来创建抽象类和抽象方法。
  • synchronizedvolatile 修饰符,主要用于线程的编程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/230043.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Tkinter和OpenCV的目标检测程序源码+权重文件,实现摄像头和视频文件的实时目标检测采用YOLOv8模型进行目标检测

基于Tkinter和OpenCV的目标检测程序源码权重文件,实现摄像头和视频文件的实时目标检测采用YOLOv8模型进行目标检测 项目描述 本项目是一个基于Tkinter和OpenCV的目标检测应用程序,实现了摄像头和视频文件的实时目标检测。通过YOLOv8模型进行目标检测&a…

vue3 使用 element-plus 侧边菜单栏多开收起时 出现 迟滞、卡顿的问题

遇到问题 vue3 使用 element-plus 侧边菜单栏多开收起时 出现 迟滞、卡顿的问题 这里多开二级,当点击上面的回收时,出现了卡顿现象,找了很久才发现是因为引入了icon图标 具体原因不详!!!!坑啊 …

神经精神与遗传湘江论坛在湘召开,院士、专家共谋精神医学发展

12月15-17日,由中国遗传学会行为遗传学分会、湖南省遗传学会、湖南省神经科学学会和儿科罕见病教育部重点实验室共同主办的“神经精神与遗传湘江论坛”在湖南长沙召开,400余名参会代表齐聚一堂,为推动世界神经精神科学理念交融和前沿精神医学…

Windows C++ VS2022 OpenVINO 实例分割 Demo

目录 效果 模型信息 项目 代码 下载 其他 Windows C VS2022 OpenVINO 实例分割 Demo 效果 模型信息 Model Properties ------------------------- date:2023-09-07T17:11:46.798385 description:Ultralytics YOLOv8n-seg model trained on coco.…

为开发者设计的幻灯片演示工具Slidev

什么是 Slidev ? Slidev 是专为程序员打造的演示文稿工具。该项目是基于 Web 的幻灯片制作和演示工具,让用户可以使用 纯文本 Markdown 语法制作幻灯片,支持导出为 PDF 或 PNG 格式的文件,或以单页面展示幻灯片。对于大多数不擅长…

Linux 中的 waitqueue 机制详解

源码基于:Linux5.10 0. 前言 等待队列(waitqueue) 这个机制在Linux 内核中使用的频率很高,与进程调度机制紧密相关联,可以用来同步对系统资源的访问、异步事件通知、跨进程通信等。网上关于等待队列使用的优秀文章也很…

JavaScript中统计字符串中某种类型的数量

// 统计字符串中汉字数量function countChinese(str) {if (!str) {return 0;}var reg /[\u4e00-\u9fa5]/g; // 匹配中文字符的正则表达式var count str.match(reg); // 匹配字符串中所有的中文字符return count ? count.length : 0; // 返回中文字符的数量,如果未…

Nginx location+Nginx rewrite(重写)(新版)

Nginx locationNginx rewrite(重写) Nginx locationNginx rewrite(重写)一、location1、常用的Nginx 正则表达式2、location的类型3、location 的匹配规则4、location 优先级5、location 示例说明5.1只修改网页路径5.2修改nginx配置文件和网页路径5.3一般前缀5.4正则匹配5.5前缀…

百分比组件 - elementui改动

<el-slider v-model"value2" style"width: 87%;position: absolute;bottom: 9px;" disabled :show-tooltip"false"></el-slider>value2: 0,// 百分比条 ::v-deep .el-slider__runway.disabled .el-slider__bar {background-color: #…

JAVA基础知识:多线程编程

Java多线程编程是现代软件开发中的重要概念之一。通过充分利用多核处理器的并行能力&#xff0c;多线程编程可以提高程序的性能和响应能力。本文将详细介绍Java多线程编程的基础知识&#xff0c;包括线程的创建、同步、通信以及常见的多线程编程模式。同时&#xff0c;我们还将…

「NLP主题分析」LDA隐含狄利克雷分布(Latent Dirichlet Allocation)

是基于贝叶斯思想的无监督的聚类算法&#xff0c;广泛用于文本聚类&#xff0c;文本分析&#xff0c;文本关键词等场景。LDA主题模型主要用于推测文档的主题分布&#xff0c;可以将文档集中每篇文档的主题以概率分布的形式给出根据主题进行主题聚类或文本分类。 LDA主题模型不…

Qt C++ 将qDebug打印输出到D盘的log.txt文件下

要将 qDebug 的输出重定向到 D 盘下的 log.txt 文件中&#xff0c;你可以使用 Qt 提供的消息处理机制来捕获和处理输出消息。 以下是一个示例的实现&#xff1a; #include <QCoreApplication> #include <QDebug> #include <QFile> #include <QTextStrea…

linux应急响应基础和常用命令

linux应急响应 linux应急响应基础和常用命令基于linux系统本身进行应急响应。 系统基础信息获取 获取linux服务器基本信息 命令&#xff1a; uname -a内存cpu信息 cat /proc/cpuinfo cat /proc/meminfo lscpu free -m lsmod #查看载入的模块信息进程查看 动态进程查看 …

7.实现任务的rebalance

1.设计 1.1 背景 系统启动后&#xff0c;所有任务都在被执行&#xff0c;如果这时某个节点宕机&#xff0c;那它负责的任务就不能执行了&#xff0c;这对有稳定性要求的任务是不能接受的&#xff0c;所以系统要实现rebalance的功能。 1.2 设计 下面是Job分配与执行的业务点…

基于PyCharm实现串口GUI编程

工具效果如下如所示 下面简单介绍一下操作流程 1.打开PyCharm软件 2.创建一个工程 3.给该工程命名 4.在main.py里面黏贴如下的代码 # This is a sample Python script. # Press ShiftF10 to execute it or replace it with your code. # Press Double Shift to search everyw…

【LeetCode刷题笔记(3)】【Python】【最长连续序列】【中等】

文章目录 最长连续序列题目描述示例示例 1示例 2 提示 解决方案解决方案1&#xff1a;【集合去重】【遍历数组查找元素】避免无效计数方案1的可行性分析 解决方案2&#xff1a;【集合去重】 【遍历集合查找元素】运行结果复杂度分析 结束语 最长连续序列 最长连续序列 题目描述…

c语言 文件与文件操作

&#x1f3e0; 一.引言 我们日常生活中会将我们制作的ppt,word等存放在文件里进行归类&#xff0c;你是否知道我们能用cC语言对文件进行操作呢(比如文件的打开&#xff0c;关闭和读写等)&#xff1f;那接下来跟博主一起来学习下吧。 &#x1f3e0;二.什么是文件 磁盘上的文件就…

<VR串流线方案> PICO 4 Pro VR串流线方案 Oculus Quest2 Link串流线方案

虚拟现实技术(英文名称&#xff1a;Virtual Reality&#xff0c;缩写为VR)&#xff0c;又称虚拟实境或灵境技术&#xff0c;是20世纪发展起来的一项全新的实用技术。虚拟现实技术囊括计算机、电子信息、仿真技术&#xff0c;其基本实现方式是以计算机技术为主&#xff0c;利用并…

cisco packet tracer 路由器之间连线

Connections接口线 Automatically Choose Connection Type自动连接设备接口 Console线缆&#xff1a;​​一端为RJ45水晶头&#xff0c;另一端为串口接头&#xff0c;一般用于电脑与设备连接 Copper Straight-Through铜轴线缆&#xff1a;直通线 Copper Cross-Over铜轴线缆…

MES系统工单进度查询:提升生产控制与监控

在MES系统中&#xff0c;工单进度查询是一个至关重要的功能&#xff0c;它为企业提供了实时、准确地追踪和监控生产工单进度的能力。 一、MES系统工单进度查询的重要性 1. 实时监控生产进度&#xff1a;通过工单进度查询&#xff0c;企业能够随时了解每个工单的进展情况&#…