第2章 Java编程基础

字符:Java中使用Unicode字符集
ASCII:8位,最多能表示256种状态
乱码:同样值的不唯一性
Unicode:将世界上所有的符号都纳入其中
缺:只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储
UTG-8:可以使用1-6字节表示一个符号,根据不同的符号来变化字节长度(广泛使用)
程序:代码段{}→句→符号
分隔符可以分为两类:空白符(没有确定意义)普通分隔符(拥有确定含义)
标识符:处理变量,常量,方法,对象和类,以便通过名字进行访问第二章 后续
Java中的标识符由字母,数字,下划线或美元符组成,且必须以字母,下划线或美元符开头,数字不可以开头,不可以使用关键字和保留字,但能包含关键字和保留字,区分大小写,不能有空格
Java中的命名规范:包名(都小写),类名,接口名(首字母大写),变量名,方法名(xxxYyyZzz第一个单词首字母小写,第二个单词首字母大写)常量名(都大写)
关键字:小写
变量:先声明在使用,数字类型,十六进制
常量:final数据类型量名=初始值 大写
变量分为局部变量和成员变量(全局变量)
第二章 后续
数据类型分为基本类型和引用类型
字节型 byte 8位
短整型 short 16位
长整型 long 64位
整形 int 32位
浮点型 float 32位
双精度 double 64位
布尔型 boolean 1位
字符型 char 16位
整型常量默认为int型,声明long型常量后加"l"或"L"
以补码去存储空间
浮点类型:单精度(float)4B双精度(double )8B默认为双精度,声明float型常量后加’F’ 或’f ’
字符型char是采用16位的unicode字符集作为编码。转义字符\b 退格符, \t制表符, \n换行符, \r回车, " 双引号, \ ’ 单引号, \ \ 反斜杠。
布尔型:boolean ,boolean 只允许取值TRUE和FALSE。
引用类型,变量中的值是指向内存堆中的指针,即该变量所表示数据的地址。区别: 堆内存计算效率比栈内存高。
常用引用类型:
①数组:具有相同数据类的变量集合。
②类class:变量和方法的集合。
③接口interface:一系列方法的声明,方法特征的集合。
④枚举enum :一种独特的值的类组用于声明一组命名的常数。
类型转换方式:
①自动类型转换
注意:byte, short, char之间不能互相转换,数据类型容量大小排序,容量小的类型自动转换为大容量的数据类型。
②强制类型转换
是自动转换类型的逆过程,将大容量转化为小容量,使用时要加上强制转换符(())boolean 型不能转换。
格式:数据类型 变量名=值
操作符
也称为运算符是一种特殊的符号,用来将一个或多个操作数连接成执行语句
操作符类型:
一元:只操作一个操作数
自增, 自减
++,在原来基础上加1
前缀自增1再操作,后缀先操作再自身加1。
非运算
!是逻辑非作数为true返回false或反之
~按位非运算
二元:操作两个操作数
&&逻辑与一个为假则为假
||逻辑或一个为真则为真
三元:只操作三个操作数
算数运算位运算
∧异或相同为假,不同为真. 关系运算符,返回真假值。
赋值:用于为变量指定变量值JAVA 中使用=作为赋值运算符。
语法:表达式?value 1: value2
表达式值为true 则返回value 1
值为FALSE则返回value 2
运算符优先级
表达式返回运算结果,值是不同的。
顺序结构:程序从上到下逐行的执行,中间没有任何判断和跳转。
分支结构:根据条件,选择性的执行其代码。
循环结构:根据循环条件,重复兴的执行其段代码。有while,do…while,for三种循环语句。
顺序结构
JAVA 中定义成员变量时采用合法的向前引用。
分支结构是根据表达式条件的成立与否,决定执行那些语句的结构,作用让程序根据具体情况有选择性的执行代码级。
分支语句:if条件,switch多分支
if条件语句
if(条件表达式1){语句块1}
[else if(条件表达式2){语句块2}]
[else if(条件表达式3){语句块3}]
……
[else {一句块n}]
. 所有条件表达式的结果为布尔值(TRUE或FALSE)
当条件表达式成立时执行if语句中语句块1,不成立继续向下判断,当所有为FALSE则执行else
[]括起来的elseif可省略.
if单路
语法 if(条件语句){代码块}
分支语句switch-case结构
判定结果有限的且值是明确的。
case情况:switch由一个控制表达式和多个case标签组成,与if不同它后面表达式的数据类型只能是byte , short, char, int 。
语法:switch(表达式){
case value 1: 语句1; break ;
case value 2: 语句2; break ; …
case value n : 语句n ; break ; [default:默认语句;]}
循环结构
在满足循环条件的情况下反复执行某段代码这段被重复执行的代码被称为循环体。
三种循环语句:
for(明确执行固定次数)
while(先判定再执行)
do…while(至少循环一遍)
循环语句的四个组成部分:
初始化部分2. 循环条件部分3. 循环体部分4. 迭代部分
初始化部分> 循环条件部分>true 或FALSE,true 则循环体部分>迭代部分>初始化部分,FALSE>其他
for循环
语法for([初始化表达式];[条件表达式];[迭代表达式]){循环体}
①初始化只执行一次
②初始化表达式,条件表达式,迭代表达式都可以省略但分号不能省,则死循环。
③初始化表达式,迭代表达式中可以使用逗号隔开多个语句for(i=0,j = 1; ~ ; ~ )
println : 换行符,print : 不换行
嵌套循环(多重循环)最多3个
将一个循环放在另一个循环内,形成了嵌套循环其中for,while,do…while均可以作为外层循环和内层循环。
嵌套循环就是把内循环当成外循环的循环体,当只有内循环条件为FALSE才完全跳出内,才可结束外的当次循环,开始下一次。
设外层循环次数为m次,内层循环为n次则内层循环体实际上需要执行m* n= mn
特殊关键字的使用
break contiue
转移语句三种
break 语句
用于终止分支结构和循环结构只用于switch语句和循环
contiue
与break 类似区别是它只是忽略本次循环体剩下的语句,接着进入下一次循环,并不终止循环而break完全终止循环。(只用于循环)
return
单独一个return关键字。
return后可以跟变量常量表达式
数组
常见的一种数据结构通常数组用来存储一组大小固定,并且类型相同的数据来存储一组大小固定,并且类型相同的数据这些数据可以通过索引进行访问根据数组存放元素的组织结构可分为一维数组,二维数组以及三维数组。
数组长度:a.length(属性) 遍历
方法:完成一段功能的代码块
初始化数组:程序应用中数组元素的值经常是指定值,而非默认值,此时就需要将数组进行初始化,JAVA数组的初始化方式有两种:静态初始化和动态初始化
二维数组
数据类型【】(下一个维度地址)【】(值)数组名;
不规则数组:每一列数组可不同
foreach遍历数组
语法:for(数组类型 变量名:数组名)
方法:功能的封装
public class Fcun{
public static int add(int a,int b){
return a+b;}
public static void main(String args[]){
int s=add(3,4)}
}

使用优化算法,以优化VMD算法的惩罚因子惩罚因子 (α) 和分解层数 (K)。 1、将量子粒子群优化(QPSO)算法与变分模态分解(VMD)算法结合 VMD算法背景: VMD算法是一种自适应信号分解算法,主要用于分解信号为不同频率带宽的模态。 VMD的关键参数包括: 惩罚因子 α:控制带宽的限制。 分解层数 K:决定分解出的模态数。 QPSO算法背景: 量子粒子群优化(QPSO)是一种基于粒子群优化(PSO)的一种改进算法,通过量子行为模型增强全局搜索能力。 QPSO通过粒子的量子行为使其在搜索空间不受位置限制,从而提高算法的收敛速度与全局优化能力。 任务: 使用QPSO优化VMD的惩罚因子 α 和分解层数 K,以获得信号分解的最佳效果。 计划: 定义适应度函数:适应度函数根据VMD分解的效果来定义,通常使用重构信号的误差(例如均方误差、交叉熵等)来衡量分解的质量。 初始化QPSO粒子:定义粒子的位置和速度,表示 α 和 K 两个参数。初始化时需要在一个合理的范围内为每个粒子分配初始位置。 执行VMD分解:对每一组 α 和 K 参数,运行VMD算法分解信号。 更新QPSO粒子:使用QPSO算法更新粒子的状态,根据适应度函数调整粒子的搜索方向和位置。 迭代求解:重复QPSO的粒子更新步骤,直到满足终止条件(如适应度函数达到设定阈值,或最大迭代次数)。 输出优化结果:最终,QPSO算法会返回一个优化的 α 和 K,从而使VMD分解效果最佳。 2、将极光粒子(PLO)算法与变分模态分解(VMD)算法结合 PLO的优点与适用性 强大的全局搜索能力:PLO通过模拟极光粒子的运动,能够更高效地探索复杂的多峰优化问题,避免陷入局部最优。 鲁棒性强:PLO在面对高维、多模态问题时有较好的适应性,因此适合海上风电时间序列这种非线性、多噪声的数据。 应用场景:PLO适合用于优化VMD参数(α 和 K),并将其用于风电时间序列的预测任务。 进一步优化的建议 a. 实现更细致的PLO更新策略,优化极光粒子的运动模型。 b. 将PLO优化后的VMD应用于真实的海上风电数据,结合LSTM或XGBoost等模型进行风电功率预测。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值