Java基础知识总结(二)

EtherCAT从站协议栈---- sampleappl.c 文件解析 这个源文件实际上包含该项目的入口函数main函数。 那么如何找到入口函数呢? 可以进入debug的simulator模式,选中run to main(), 当执行完启动文件startup_cm3.s后就进入了main函数(注意在main函数之前还进入了SystemInit函数), 如下图所示: 这个main函数主要架构如下: int main(void) { HW_Init(); /*PDI(过程数据接口)初始化,这里用的是MCI接. 阅读详情

1. 多态

一句话就是在设计一个方法时,该方法拥有一定的通用性。在同一个方法中,这种由于参数类型不同而导致执行效果各异的现象就是多态,继承是多态得以实现的基础。为实现多态允许父类类型的变量来引用一个子类类型的对象。 优点: 解决方法同名的问题,可拓展,可维护。

  • 对象类型的转换
    将子类对象当作父类类型来使用(Java环境中叫向上转型)
    注意此时不能通过父类变量调用子类的特有方法
    如果想用 强制父类转化子类对象(Java环境中叫向下转型)
    传入的参数是否是所需要的类 判断 关键字(入 instance of 要)

1.1 Object类

类层次结构的根类
常见方法:

  • equals()
  • getClass()
  • hashCode()
  • toString()

1.2 匿名内部类

在类里面定义的类称为内部类,它是外部类一个成员
成员内部类,方法内部类,匿名内部类 →→实现接口
方法中的参数有一个类构成即 add(new person(){…});

2.异常(Exception)

解释:程序运行过程中,磁盘空间不足,网络连接中断,被装载的类不存在等情况
大量的异常类都extends java.lang.Throwable类 就是抛出异常
关系图如下:
在这里插入图片描述
Throwable 常用方法

  • String getMessage()
  • void printStackTrace()
  • void printStackTrace(PrintStream s)

2.1 try…catch…和finally 异常的捕获

finally 无论是否发生异常都执行finally{…}代码,比如说释放系统资源
如果调用别人的方法不知道有没有异常,请用throws关键字抛出异常
比较 编译时异常 与 运行时异常
1.Exception类中除了RuntimeException和其他子类都是编译异常

  • 使用try…catch…或者throws关键字抛出异常,调用者对其处理
    2.RuntimeException和其他子类都是运行时异常一般由程序中的逻辑错误引起,程序运行时无法恢复
    自定义异常(网站设计404页面,个性化)
    必须继承自Exception或者其子类

3.访问控制

一张表格解决:
在这里插入图片描述

4. JavaAPI 常见

4.1 String类和StringBuffer类

  • String类常见操作
    int indexOf(int ch),int length(),char[] toCharArray(),int lastIndexOf(int ch),String toLowerCase(),
    String [] split("_"),int indexOf(String str),String toUpperCase()…

  • StringBuffer类的常见操作
    内容和长度可变,字符缓冲区
    StringBuffer append(char c), StringBuffer insert(2,“123”), StringBuffer reverse()…
    区别:

  • String类时字符串常量,StringBuffer字符容器

  • String类覆盖Object类的equals方法, StringBuffer类没有

  • String类可以用“+”拼接, StringBuffer不能

4.2 System类和Runtime类

1.System类常用方法

  • static void exit(int status)

  • static void gc() 垃圾回收机制

  • getProperties()方法
    用于获取当前系统的全部属性,该方法会返回一个Properties对象,封装了系统的全部属性,以键值对的形式存在

  • currentTimeMillis()
    返回的是一个long类型的值,就是时间戳

4.3 Rumtime类

用于封装Java虚拟机进程

4.4 Math类和Random类

1.Math类
两个静态常量 PI 和 E 表示数学常量Π和e
方法:abs() 绝对值,floor()最大整数,ceil()最小整数,round()四舍五入
2.Random类
两个构造方法:无参构造 Random(),有参构造Random(long seed)指定种子,相同的序列
常见方法:
Boolean nextBoolean()
double nextDouble()
float nextFloat()
int nextInt()
int nextInt(int n)
long nextLong()

4.5 包装类

通过这些包装类可以将基本的数据类型的值包装为引用数据类型的对象
由此引入了“装箱”和“拆箱”的概念

基本数据类型对应的包装类
byteByte
charCharacter
intInteger
shortShort
longLong
floatFloat
doubleDouble
booleanBoolean

5.集合

Java中的集合类就像一个容器,专门用来存储Java类的对象,位于util包中

  • 单列集合Collection,是根接口,重要的子接口是List和Set
    List接口实现类有ArrayList和LinkedList
    Set接口实现类有HashSet和TreeSet
  • 双列集合Map是根接口,存储(Key)、值(Value)映射关系的元素
    实现类有HashMap和TreeMap
    一张图看懂关系:
    在这里插入图片描述
    各自的优缺点???
    遍历集合 迭代器Iterator 或者 高级for循环

1.ArrayList和LinkedList

  • ArrayList是一个长度可变的数组对象,底层是数组,增删效率低,查询快
  • LinkedList为克服上述缺点,集合内部采用的是双向循环链表,修改引用关系即可
    set接口和List接口一样extends Collection,但标准更严格无序,唯一
    HashSet 根据对象的哈希值确定元素中存储位置(存取,查找)
    TreeSet 基于二叉树,集合元素排序

2.双列集合Map常见方法
存 void put()
取 Object get()
键值组 Set keySet()
值组 Collection values()
映射关系 Set<Map.Entry<K,V>> entrySet()
遍历Map集合

  • 遍历Map集合中所有的键,键找值
.
.
.
Set keySet = map.keySet();
Iterator it = keySet.iterator();
while(it.hasNext()){
	Object key = it.next();
	Object value = map.get(key);
	syso("")
}
  • 获取集合中所有的映射关系,再取出键值对
.
.
.
Set entrySet = map.entrySet();
Iterator it = keySet.iterator();
while(it.hasNext()){
	Map.Entry entry = (Map.Entry)(it.next());
	Object key = entry.getKey();
	Object value = entry.getValue();
	syso("")
}

其实程序写出来发现HashMap迭代元素顺序和存入的顺序不一致,可以用子类LinkedHashMap,采用的是双向链表维护元素关系
Map接口中还有一个实现类HashTable,和HashMap相似,但其线程是安全的,存取元素慢,掌握其子类Properties,它是用来存储字符串类型的键值对,setProperty(),getProperty()

6.泛型(Parameterized Type)

集合可以存储任何类型的对象,但是把一个对象存入集合后忘记这个对象的类型,强制转换时易出错,引入参数类型,指定改类中方法操作的数据类型
ArrayList< parameterized type> list = new ArrayList< p…m… type>();
限定只能存储p…m… type 类型的数据

1篇1章4节:生成对抗网络GAN和图像生成领域的StyleGAN AI图像生成技术的革命性突破:从GAN到StyleGAN 近年来,人工智能在图像生成领域取得显著进展,尤其是生成对抗网络(GAN)的发展推动了技术的飞跃。从早期的基础GAN到渐进式GAN(Progressive GAN),再到革命性的StyleGAN,AI生成图像的逼真度已接近人类创作水平。StyleGAN通过引入风格潜向量和自适应实例归一化,实现了对图像风格与内容的精细控制,广泛应用于人脸生成、艺术创作及影视行业。后续的StyleGAN2解决了“斑点”问题,StyleGAN3进一步优化纹理过渡,提升了图像 阅读详情

相关推荐

Win10自动更新怎么永久关闭?有效的Win10强制更新关闭方法

之前小编为大家分享过一些Win10彻底关闭Windows Update自动更新的方法,主要是通过一些如设置流量计费或借助一些专门的小工具来实现,但往往会发现,Win10自动更新就像打不死的小强,不管怎么关闭,之后还是会自动更新,让不少小伙伴颇为不爽。今天小编带来了这篇改进型教程,通过全方位设置,彻底关闭Win10自动更新,感兴趣的小伙伴不妨试试吧。 ...

jianai0602的博客 108万+

java基础知识二

java基础知识二

qq_44616158的博客 1764

多思计算机组成原理实验:模型机课程设计

计算机组成原理实验教程 基于多思网络虚拟实验系统 张雯雰

Nick的博客 2万+

JAVA基础知识总结(二)

java基础

USAcownoodle的博客 1794

OCR开发实战:如何用PaddleOCR C++版实现本地文字识别(附模型文件处理技巧)

本文详细介绍了如何使用PaddleOCR C++版实现本地文字识别,包括环境搭建、工程编译、运行时优化等全流程。重点讲解了在VS2019/VS2022环境下配置PaddleOCR的CPU推理性能优化技巧,以及模型文件处理的实际应用方法,帮助开发者高效完成OCR本地化部署。

devops8pract的博客 335

RT-Thread网络编程:基于STM32F407的TCP客户端实现(含完整代码解析)

本文详细介绍了在STM32F407平台上,基于RT-Thread操作系统和LWIP协议栈实现工业级可靠TCP客户端的完整过程。内容涵盖底层ETH驱动配置、Socket编程、连接保活与断线重连机制、数据收发协议设计以及资源管理,提供了可应用于实际项目的健壮代码框架与调试技巧。

weixin_29184371的博客 492

二、JAVA的基础知识

一、关键字 关键字基本都是由小写字母组成 Java语言规定关键字不能作为标识符 目前公有五十个关键字 二、标识符 标识符定义:Java对包、类、方法、参数和变量等要素命名时使用的字符序列称为标识符。 简而言之就是给类,接口,方法,变量起名字。 标识符的命名规则 由字母、数字、下划线_ 和美元符号 $ 组成 不能以数字开头 区分大小写 不能是Java中的关键字 驼峰式命名法,例如...

weixin_44502750的博客 353

IC 时钟设计核心问题与高质量系统设计指南(附源码)

本文深入探讨了IC时钟设计的核心问题与高质量系统设计方法。时钟系统作为IC的"心脏",其性能直接影响时序稳定性、功耗效率和可靠性。文章从五个维度展开分析:时钟源选择与性能匹配、时钟分配网络设计、抖动抑制、多时钟域管理和功耗优化。针对高质量时钟系统设计,提出了时钟源优化、时钟树结构优化、干扰抑制与仿真验证等具体方法。同时,系统阐述了时钟与复位的协同设计关系,强调异步复位同步释放等技术的重要性。文章还总结了高质量IC系统设计的综合要点,包括电源/信号完整性、时序功耗平衡、可靠性设计及全流程验

Open 1060

java基础知识总结(二)

一.有符号数据的表示法(次重点) 原码,反码(原码取反),补码(反码+1)。 二.函数 定义:函数就是定义在类中的具有特定功能的一段独立小程序。 特点: 定义函数可以将功能代码进行封装 便于对该功能进行复用 函数只有被调用才会被执行 函数的出现提高了代码的复用性 对于函数没有具体返回值的情况,返回值类型用关键字void表示, 那么该函数中的return语句如果在最后一行可...

java领域分享 6922

基于ZYNQ的HP总线与DDR交互:实现PL与PS高效数据传输的完整指南

本文将深入探讨如何通过AXI HP总线实现PL与PS的DDR交互,结合代码示例、硬件配置与创新优化,助力开发者掌握这一关键技术。ZYNQ内部通过AXI HP接口直接连接PL与DDR控制器,PL通过AXI协议发送读写请求,绕过PS的CPU直接操作DDR。通过AXI HP总线实现PL与PS的DDR交互,开发者可充分发挥ZYNQ异构架构的优势。在Xilinx ZYNQ系列芯片中,PS(Processing System)与PL(Programmable Logic)的协同设计是其核心优势。

QQ_778132974的博客 1223

深度学习在传感器数据分析中的创新应用

传感器是物理世界与数字世界的“接口”,其生成的高维、时序、多源数据蕴含着设备状态、环境变化、用户行为等关键信息。传统传感器数据分析依赖手工特征工程与简单机器学习模型,难以应对复杂场景下的非线性、长程依赖与实时性需求。深度学习通过自动特征提取非线性建模与端到端学习,成为传感器数据处理的革命性工具。本文从概念基础理论框架架构设计实现机制到实际应用,系统拆解深度学习与传感器数据的融合逻辑,结合工业预测维护医疗健康监测智能交通等场景,揭示其技术边界与未来演化方向。

大数据洞察的博客 568

二、Java基础知识1

Java基础知识1 java源文件以".java"为扩展名 源文件的基本组成部分是类(class) Java应用程序的执行入口是main()方法,有固定的书写格式:public static void main(String[] args){.............} public class Test{ public static void main(String[] args){ System.out.print("HelloWorld!")

无他,惟手熟尔 201

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

JAVA基础知识(二)

JAVA基础知识(二) ● 请你讲讲数组(Array)和列表(ArrayList)的区别?什么时候应该使用Array而不是ArrayList? 考察点:Array 参考回答: Array和ArrayList的不同点: Array 可以包含基本类型和对象类型,ArrayList 只能包含对象类型。 ArrayList 存储基本类型时,会自动装箱成对应的包装类,只存其引用,而不能存基本类型! Array 大小是固定的,ArrayList 的大小是动态变化的(动态扩容数组)。 ArrayLis

三横同学的博客 787

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Java基础知识(二)

你已经学会了一个简单的Java语句。

2503_92804185的博客 803

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

java基础知识总结二

java基础知识总结二 基础知识总结一 Redis 批量删除Redis的key 正则匹配删除 [Redis 批量删除Redis的key 正则匹配删除] 1.退出redis 2.匹配CCPAI:开头的所有key*删除 redis-cli -a 密码 -h host -p 端口号 --scan --pattern 'CCPAI:*' | xargs redis-cli -a ...

昆仔的博客 348

Java基础知识(二)

在循环结构中,当循环条件不满足或者循环次数达到要求时,循环会正常结束。,官方文档未明确定义,它依赖于 JVM 厂商的具体实现。逻辑上理解是占用 1 位,但是实际中会考虑计算机高效存储因素。:通常用于解释方法内某单行代码的作用。用于跳出所在方法,结束该方法的运行。:通常用于生成 Java 开发文档。(三) 基本数据类型与包装类型的区别。:通常用于解释一段代码的作用。装箱其实就是调用了 包装类的。(四) 自动装箱和自动拆箱。方法,拆箱其实就是调用了。

午夜后是黎明,风雨后是骄阳 1047

JAVA 基础知识(二)

脑瓜子嗡嗡的

weixin_48622530的博客 750

Java基础知识 、二

二、java中的注释、标识符、关键字、变量 2.1.什么是注释? 注释---标注解释说明 标注--提醒[自己/其他人] 解释说明---解释说明java代码的含义 注释就是标注解释说明java代码的含义。 2.2.注释的作用是什么? 1.解释说明java代码的含义。 为了让其他人能够看懂理解java代码的含义。 为了给将来的自己能够看懂理解java代码的含义。 2.调试程序 因为注释的内容是不会被执行。 例如: public class Zhu...

weixin_52192654的博客 223

二、Java基础知识

qq_43619063的博客 158

Java基础知识题(二)

本文主要讲解Java的基础知识1.值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参 数的值。2.引用传递:也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改变将会影响实际参数的值。以上就是今天的内容~如有问题、建议,请您在评论区留言💬哦。最后:转载请注明出处!!!

张小鱼的博客 494

Java基础知识二

u013111776的博客 170

Java基础知识总结【二】

优点性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。缺点没有面向对象易维护、易复用、易扩展优点易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护缺点性能比面向过程低面向过程是具体化的,流程化的,解决一个问题,你需要一步一步的分析,一步一步的实现。多态的实现Java实现多态有三个必要条件继承、重写、向上转型。继承。...

zf888999666的博客 90

Java 基础知识(二)

到目前为止,我们已经了解了 Java 的基础知识以及如何使用简单的构造,如条件语句和循环语句,以及如何在 Java 中实现方法。理解这些基本概念非常重要,并且在构建简单程序时非常有用。然而,要构建和维护大型和复杂的程序,基本类型和构造是不够的。使 Java 真正强大的是它是一种面向对象的编程语言。它允许您有效地构建和集成复杂的程序,同时保持一致的结构,使其易于扩展、维护和重用。在本课中,我们将介绍一种称为面向对象编程(OOP)的编程范式,它是 Java 的核心。

龙哥盟 1159

Java基础知识复习(二)

对最近java基础知识理解不足的方面进行了巩固,写个博客记录一下!???? 1.java中基本数据类型所占字节和默认值 基本数据类型相关知识点 数据类型 所占字节 默认值 byte 1 0 short 2 0 int 4 0 long 8 0 float 4 0.0 double 8 0.0 char 2 ‘\u0000’ boolean 没有规定 false 注意: java中使用的是十六进制的UNICODE编码,该编码可以保存汉字。(每一个中文在java

qq_43941925的博客 1393
上一篇: Java编程基础总结(一)
下一篇: Java编程基础(三)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拉丁是我扔掉的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值