JavaSE——学习总结

一、初识Java

运行Java程序

Java是一门半编译型、半解释型语言

先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的,和平台无关、面向JVM的文件,最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行


JDK、JRE、JVM之间的关系:

JDK = JRE + 开发工具集(如:javac)

JRE = JVM + JavaSE标准类库

二、数据类型与变量

1、字面常量

2、数据类型

  • 基本数据类型:类型及其内存占用
  • 引用数据类型

三、运算符

1、算数运算符

基本四则运算符:加减乘除模

增量运算符:+=、-=、*=、%=

自增自减运算符:++、--

2、关系运算符

六个:==!=<><=>=

3、逻辑运算符(重点)

三个:&&||,运算结果都为boolean类型

&&||、短路求值的性质

4、位运算符(按二进制进行计算)

四个:&|~^,除 是一元运算符,其他都是二元运算符

5、位移运算

三个:<<>>>>>都是二元运算符

6、条件运算符(三目运算符)

表达式1?表达式2:表达式3

四、逻辑程序控制

1、顺序结构

2、分支结构

  • if语句
  • switch语句

3、循环结构

  • while循环
  • break
  • continue
  • for循环
  • do while循环

五、方法的使用

形参与实参的关系:在Java中,实参的值永远都是拷贝到形参中,形参和实参本质是两个实体

方法重载(重要)

递归

六、数组的定义与使用

数组:可以看成是相同元素的一个集合,在内存中是一段连续的地址

数组创建和初始化的方式

二维数组

七、类和对象

关键字:class

大驼峰

类的实例化,关键字:new

this引用

构造方法

局部变量在使用时必须初始化,成员变量会默认初始化,有默认值

就地初始化


封装

访问修饰限定符:private、default、protected、public

包的概念(导入包、自定义包)

static成员

代码块(普通代码块、构造代码块、静态代码块、同步代码块)

内部类(实例内部类、静态内部类、局部内部类、匿名内部类

八、继承和多态

继承:共性抽取、代码复用

关键字:extends、super、final

super和this的区别

各种代码块及构造方法的执行顺序

继承与组合


多态:完成某个行为,不同的对象去完成会产生不同的状态

多态实现条件:

  • 必须在继承体系下
  • 子类必须对父类中方法进行重写
  • 通过父类的引用调用重写的方法

重写

重载与重写的区别

向上转型和向下转型

动态绑定

九、抽象类和接口

抽象类:如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类

关键字:abstract

抽象类的特性

接口:多个类的公共规范,是一种引用数据类型

关键字:interface

接口的特性

Java中不支持多继承,但是一个类可以实现多个接口

Cloneable接口和深浅拷贝

抽象类和接口的区别

Object类:使用Object类可以接收所有类的对象

方法:equals、hashcode、toString

十、String类

字符串构造

方法:equals

StringBuilder 和 StringBuffer

String、StringBuilder、StringBuffer之间的区别

十一、认识异常

异常的体系结构

异常的分类:运行时异常、编译时异常

异常的处理:

        1. 防御式编程(EAFP)

        2. 异常的抛出(throw)

        3. 异常的捕获

                3.1 异常声明throws

                3.2 try-catch捕获并处理

                3.3 finally

异常的处理流程

自定义异常类

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CRT 安装过程出现许可证向导未成功完成

在下载使用SecureCRT和SecureFX时&#xff0c;SecureCRT按照教程很容易破解&#xff0c;而SecureFX使用补丁无法正常破解。 就是会出现了这个问题 The license wizard did not complete successfully. Possible errors include: -The license is for a different version of…

systemctlm-cosim-demo项目分析

概述 systemctlm-cosim-demo项目是Xilinx的systemc库的demo工程。 环境安装 qemu安装 cd xilinx_proj/Downloads git clone https://github.com/Xilinx/qemu.git cd qemu git checkout 74d70f8008# Configure and build # zynq7000 # ./configure --target-list"arm-s…

唯众智联网(AIoT)应用开发教学实训解决方案

一、引言 随着信息技术的飞速发展&#xff0c;物联网&#xff08;IoT&#xff09;和人工智能&#xff08;AI&#xff09;技术逐渐融合&#xff0c;形成了智联网&#xff08;AIoT&#xff09;这一新兴领域。智联网通过智能化设备、传感器、云计算等技术手段&#xff0c;实现了数…

[数据集][目标检测]道路圆石墩检测数据集VOC+YOLO格式461张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;462 标注数量(xml文件个数)&#xff1a;462 标注数量(txt文件个数)&#xff1a;462 标注类别…

懒人开发者的福音,轻松开发应用无需搭建服务!

近日&#xff0c;一款轰动开发圈的神器正以“太硬核了&#xff01;疯传开发圈&#xff01;”的口碑迅速走红&#xff0c;那就是Memfire Cloud&#xff01;这款一站式开发应用&#xff0c;不仅让懒人开发者尽享便利&#xff0c;更为开发者们带来了前所未有的开发体验。 对于懒人…

【IC验证】UVM实验lab01

1. 工厂的注册、创建和覆盖 1.1 注册 object组件使用宏uvm_obeject_ultis(string name)来创建&#xff0c;component组件使用uvm_object_ultis(string name, parent)来创建 class trans extends uvm_object;/*定义*/bit[31:0] data;uvm_object_ultis(trans)/*注册*/function …

工业无线wifi系统搭配高速路由,解决联网及数据传输

​面对日益复杂的工业应用场景,企业对无线网络的高速、可靠和安全提出了更高要求。星创易联SR600系列多网口4G路由器应运而生,为工业无线WiFi系统提供了一个性能卓越的高速路由方案。&#xff08;key-iot.com/iotlist/sr600-5.html&#xff09; SR600路由器集4G LTE、虚拟专用…

机器学习算法 —— 基于鸢尾花数据集的逻辑回归分类

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 目录 实践演示基于鸢尾花&#xff08;iris&#xff09;数据集的逻辑回归分类库函数导入数据读取/载入数据信息简单查看可视化展示利用逻辑回归模…

香橙派 Orange AIpro 测评记录视频硬件解码

香橙派 Orange AIpro 测评记录视频硬件解码 香橙派官网&#xff1a;http://www.orangepi.cn/ 收到了一块Orange Pi AIpro开发板&#xff0c;记录一下我的测评~测评简介如下&#xff1a;1.连接网络2.安装流媒体进行硬件解码测试3.安装IO测试 简介 Orange Pi AI Pro 是香橙派联合…

Python爬虫协程批量下载图片

import aiofiles import aiohttp import asyncio import requests from lxml import etree from aiohttp import TCPConnectorclass Spider:def __init__(self, value):# 起始urlself.start_url value# 下载单个图片staticmethodasync def download_one(url):name url[0].spl…

【前端 - Vue】Vuex基础入门,创建仓库的详细步骤

&#x1f680; 个人简介&#xff1a;6年开发经验&#xff0c;现任职某国企前端负责人&#xff0c;分享前端相关技术与工作常见问题~ &#x1f49f; 作 者&#xff1a;前端菜鸟的自我修养❣️ &#x1f4dd; 专 栏&#xff1a;vue从基础到起飞 &#x1f308; 若有帮助&…

云手机定位切换,带来的不只是便利

当我们利用云手机的定位切换时&#xff0c;首先感受到的确实是极大的便利。 我们就像是拥有了瞬间移动的超能力&#xff0c;可以自由地在不同城市、甚至不同国家的虚拟场景中穿梭。无论是为了更精准地获取当地的信息&#xff0c;比如实时的交通状况、特色店铺等&#xff0c;还…

Redis位图

简介 在我们平时开发过程中&#xff0c;会有一些bool型数据需要存取&#xff0c;比如用户一年的签到记录&#xff0c;签了是1&#xff0c;没签是0&#xff0c;要记录365天。如果使用普通的key/value&#xff0c;每个用户要记录365个&#xff0c;当用户上亿的时候&#xff0c;需…

Git存储库的推送保护

Git存储库的推送保护 昨天有一个提交一直提示&#xff1a;Push rejected Push rejected Push master to origin/master was rejected by remote起初在网络上找各种解决办法&#xff0c;先列举以下找到的各类方法 提交用户的用户名和邮箱与Git不一致&#xff0c;这个只需要通…

MATLAB设计ATF教程

打开Control System Designer 在MATLAB命令行窗口输入sisotool 出现如下Control System Designer窗口 基础Compensator 打开工具后&#xff0c;Compensator初始为1&#xff0c;需要按照需求进行设计。本示例的传递函数为&#xff1a; 基于上述传递函数的Bode图进行后续的设计…

SecureFX[po破] for Mac FTP/SSH传输工具[解] 安装教程

Mac分享吧 文章目录 效果一、准备工作二、开始安装注意&#xff1a; SecureFX 和 SecureCRT 不能同时都放在应用程序中安装&#xff0c;一定要一个在应用程序中&#xff0c;另一个在桌面上使用&#xff01;否则会导致一个操作不成功&#xff01;将SecureFX软件拖到桌面&#x…

Docker桥接网络分析

前言 《虚拟局域网(VLAN)》一文中描述了虚拟网卡、虚拟网桥的作用&#xff0c;以及通过iptables实现了vlan联网&#xff0c;其实学习到这里自然就会联想到目前主流的容器技术&#xff1a;Docker&#xff0c;因此接下来打算研究一下Docker的桥接网络与此有何异同。 猜测 众所周知…

将Java程序打包为为.exe文件

将Java程序打包为为.exe文件 将Java程序打包为为.exe文件分为俩个步骤&#xff1a; 1、将Java程序打包成Jar包&#xff08;此时就可复制桌面便于使用&#xff09; 2、打包为.exe文件&#xff08;需要借助工具&#xff09; 一、打包为.exe文件 1. file -> Project Structure…

linux网络基础 DHCP和ftp 02

一、DHCP DHCP&#xff1a;动态主机配置协议。 1、DHCP原理 服务端和客户端 服务端&#xff1a;提供某种特定的服务客户端&#xff1a;使用这种特定的服务c/s client/servre 客户端 服务端 应用程序之间通过端口进行通信&#xff0c;实现c/sb/s browser/server 浏览器 服务…

深度学习——卷积神经网络(CNN)

深度学习 深度学习就是通过多层神经网络上运用各种机器学习算法学习样本数据的内在规律和表示层次&#xff0c;从而实现各种任务的算法集合。各种任务都是啥&#xff0c;有&#xff1a;数据挖掘&#xff0c;计算机视觉&#xff0c;语音识别&#xff0c;自然语言处理等。‘ 深…