北大X鸟|第一本书总结

第一章 初识Java

易错:

  1. public class 类名称 与 文件名称.java 必须相同
  2. void 不可少(这是无返回值的意思后面会讲)
  3. Java 对英文字母 大小写 敏感
  4. ; 注意英文的分号
  5. “ 注意英文的引号
  6. \t 为一个tab键
  7. \n 为换行

第二章 变量和数据类型

数据类型含义
int整型
double双精度浮点型
加粗样式字符型
String字符串型
boolean布尔类型

变量声明

语法:

变量类型变量名;
inttime;

##变量赋值
语法:

变量名 = 值;
time = 33;

声明并赋值

语法:

数据类型 变量名 = 值;
char sex = ‘女’;

扫描仪的使用
在这里插入图片描述

数据类型转换

  1. 自动数据类型转换 “放大转换”
    条件:a.类型兼容 b.小转大
    int score = 80;
    double newScore = score;

  2. 强制数据类型转换”缩小转换”
    double score = 123.23;
    int newScore – (int)score;

关系运算符

>小于
>=小于等于
==等于
<=大于等于
!=不等于

算术运算符

+
-
*
/取商
%取余
a++先运算后自加
a- -先运算后自减
++a先自加后运算
- -a先自减后运算

赋值运算符

下面是Java语言支持的赋值运算符:

操作符描述例子
=简单的赋值运算符,将右操作数的值赋给左侧操作数C = A + B将把A + B得到的值赋给C
+ =加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数C + = A等价于C = C + A
- =减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数C - = A等价于C = C - A
* =乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数C * = A等价于C = C * A
/ =除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数C / = A等价于C = C / A
(%)=取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数C%= A等价于C = C%A

逻辑运算符

&&
||
!

短路逻辑运算符

当使用与逻辑运算符时,在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了。

条件运算符(?:)

条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
语法:

变量x=(表达式) ? 值若为真 : 值若为假;
int a , b;
a = 10;
// 如果 a 等于 1 成立,则设置 b 为 20,否则为 30
b = (a == 1) ? 20 : 30;
System.out.println( "Value of b is : " + b );
//因为a=10,不为1,所以是false,b=30

优先级:算术>关系.>逻辑

第四章 选择结构

if选择结构

在这里插入图片描述

ifelse选择结构

在这里插入图片描述

elseif多重选择

在这里插入图片描述

嵌套if选择

在这里插入图片描述

switch选择结构

在这里插入图片描述在这里插入图片描述

[0,10 )的随机数

在这里插入图片描述

小结:if处理范围 switch处理定值


处理系统异常

如何让其输入数字hasNextInt判断判断是否输入为数字
在这里插入图片描述

第五章 循环结构

while循环

在这里插入图片描述

do-while循环

在这里插入图片描述

for循环

在这里插入图片描述

程序调试

  1. 分析错误,设置断点
  2. 启动调试,单步执行 点虫子
  3. 观察变量
  4. 消灭虫子
    F5单步跳入 会进入本行代码内部执行
    F6单步跳过 就执行你看见的本行代码,执行完跳到下一行

break 跳出循环体
continue跳出当前循环,进行下一次循环
return 跳出当前方法 返回一个值

第八章 数组

灵魂画手

  1. 标识符
  2. 数组元素
  3. 数组下标
  4. 元素类型

如何使用数组

声明数组

语法:

数据类型[]数组名;
int[]scores;

分配空间

语法:

数组名=new数据类型[数组长度];
scores=newint[30];

声明并分配空间

语法:

数据类型[]数组名=new数据类型[数组长度];
int[]scores=newint[30];

赋值

语法:

数组名[下标值]=XXX;
scores[12]=98;

声明分配空间并且赋值

语法

数据类型[] 数组名={值1,值2,值3};
intscores[]=
也等价于
int scores[]=new int[] {213,43,542,13};
注意int[这里为空]

数组元素初始值

char‘\u0000’
booleanfalse

数组排序

语法

Arrays.sort(数组名);

排列出来后是升序

比较字符串大小

语法:

这个是无视了大小写的
String1.compareToIgnoreCase(String2);
如果1>2就返回1
等于返回0
小于为-1

第九章 二重循环

解释解释的话,就是循环里套循环
在这里插入图片描述
当然也可以for里套while

二重循环里的break和while
都是跳出本层循环

第十一章 类和对象

面向对象

Java是一种面向对象的编程语言(Object Oriented Programming Language,OOPL)

身边的对象
对象静态特征静态特征的值动态特征
顾客对象:姓名小明购买商品
收银员对象:员工号10012收款

对象的属性和方法

在面向对象的编程思想中,把对象多的 静态特征 和 动态特征
分别称为对象的对象的 属性方法
对象:用来描述客观事物的一个实体,由一组属性方法构成。

封装

就是把一个事物包装起来,并尽可能隐藏内部细节
对象具有封装性

类定义了对象会具有的属性(特征)方法(行为)

=抽象概念
对象=实体

Java类的模板

在这里插入图片描述

  • 不能使用Java中的关键字
  • 不能包含任何嵌入的空格或“.”,以及除下划线“_”,字符“$”外的特殊符号
  •  不能以数字开头
    记忆法: 想赚钱下载apptry$_123

定义方法

访问修饰符 返回值类型 方法名(){
//方法体

方法或变量名先小后大
全大

如何创建和使用对象

创建

语法

类名 对象名=new 类名();
School sch=new School();

赋值

语法

对象名.属性 = xxx;
对象名.方法名();
sch.name = “孤独自学”;
sch.Dream();

面向对象的优点

  1. 与人类思维一致
  2. 信息隐藏,提高了程序的可维护性和安全性
  3. 提高了程序的可重用性

第十二章 类的无参方法

什么是类的方法

如何定义类的方法

在这里插入图片描述
语法:
public 返回值类型 方法名(){
//方法的主体
}

方法名字先小后大
类名全大

方法执行后返回一个结果,结果的类型称为称为返回值类型,使用return语句返回

语法:
return 表达式;

方法的调用

语法:

对象名.方法名();
AutoLion		lion	=	new	AutoLion();
Lion.run();
  • 同一类中的方法,直接使用方法名调用该方法。
  • 不同类的方法,先创建对象,再使用对象名.方法名()来调用

易错

  • 返回值为void,方法不能有return
  • return不能返回多个值(除非数组或对象什么的)
  • 多个方法不能嵌套
  • 不能在方法外部直接写 逻辑代码

变量的作用域

成员变量和局部变量

成员变量:在类中定义的变量称为类的成员变量

  1. 在类本身里可直接使用,其他类的方法要访问,在访问权限允许的情况下,必须先创建对象,然后通过”.”来引用,
  2. Java会给其赋默认值

局部变量:在方法中定义的变量称为局部变量

  1. 只能在本方法内使用
  2. Java不会给其赋默认值
  3. 同一个方法内不能有同名局部变量,不同方法里可以有

PS:局部变量可以和成员变量同名,并且在使用时,局部比成员具有更高的优先级
小声哔哔:除非你用this语句,可以选择调用同名的成员和局部变量

JavaDoc注释

/**
*@xxx
*/
File—export—导出—Java—JavaDoc

第十四章 带参数的方法

定义带参的方法

语法:
<访问修饰符> 返回值类型 <方法名> (<(参数列表)>){
//方法的主体

public void addName(String name){
//增加学生的姓名

调用带参方法

语法:
对象名.方法名(参数1,参数2……参数n)
 要先实例化对象,再调用
 实参的类型,数量,顺序要与形参一一对应
在这里插入图片描述

常见错误

  1.  在传递的实参前添加数据类型如show.sayHello(String name,int time)
  2.  实参形参数据类型不一致
  3.  实参形参数量不一致
  4.  有返回值但调用该方法后没有对返回值做任何处理

数组作为参数的方法

在这里插入图片描述

对象作为参数的方法

在这里插入图片描述

对象数组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

用来分类管理

声明包

语法

package 包名
package cn.gdzx.learning;

导入包

语法

import 包名.类名;
import 包名.*;

第十五章 字符串

String
str.length()返回长度
str1.equals.str2判断值相等
str.equalsIgnoreCase(str2)不区分大小写
str1.compareToIgnoreCase(str2)无视大小写 比较字符串顺序 1比2大返回1 等于为0 小于为-1
str.toUpperCase()转大写
str.toLowerCase()转小写
str1.contact(str2)连接字符串 等同于 + => str1+str2
str.indexOf(“1”)从前往后开始查找 字符 如果找到返回下标 未找到返回-1 PS:只返回第一次出现的下标
str.lastIndexOf(“1”)从后往前开始查找 字符 如果找到返回下表 未找到返回-1 PS:只返回第一次出现的下标
str.subString(0,5)截取字符串从下标0开始到5结束 ps:不包括下标5
str.trim()去除字符串前后空格
str.split(String类型 “分离的标志”,int类型 返回的个数)根据引号里的参数 拆分字符串,返回字符串数组有几个元素
StringBuffer
toString()转成String类型
append("")追加
insert(0,“xx”)将字符串插入到指定位置

总结不容易,青鸟出来的学长学姐们望关照

【电力系统】单机无穷大电力系统短路故障暂态稳定Simulink仿真(带说明文档)内容概要:本文档围绕“单机无穷大电力系统短路故障暂态稳定Simulink仿真”展开,提供了完整的仿真模型与说明文档,重点研究电力系统在发生短路故障后的暂态稳定性问题。通过Simulink搭建单机无穷大系统模型,模拟不同类型的短路故障(如三相短路),分析系统在故障期间及切除后的动态响应,包括发电机转子角度、转速、电压和功率等关键参数的变化,进而评估系统的暂态稳定能力。该仿真有助于理解电力系统稳定性机理,掌握暂态过程分析方法。; 适合人群:电气工程及相关专业的本科生、研究生,以及从事电力系统分析、运行与控制工作的科研人员和工程师。; 使用场景及目标:①学习电力系统暂态稳定的基本概念与分析方法;②掌握利用Simulink进行电力系统建模与仿真的技能;③研究短路故障对系统稳定性的影响及提高稳定性的措施(如故障清除时间优化);④辅助课程设计、毕业设计或科研项目中的系统仿真验证。; 阅读建议:建议结合电力系统稳定性理论知识进行学习,先理解仿真模型各模块的功能与参数设置,再运行仿真并仔细分析输出结果,尝试改变故障类型或系统参数以观察其对稳定性的影响,从而深化对暂态稳定问题的理解。
本研究聚焦于运用MATLAB平台,将支持向量机(SVM)应用于数据预测任务,并引入粒子群优化(PSO)算法对模型的关键参数进行自动调优。该研究属于机器学习领域的典型实践,其核心在于利用SVM构建分类模型,同时借助PSO的全局搜索能力,高效确定SVM的最优超参数配置,从而显著增强模型的整体预测效能。 支持向量机作为一种经典的监督学习方法,其基本原理是通过在高维特征空间中构造一个具有最大间隔的决策边界,以实现对样本数据的分类或回归分析。该算法擅长处理小规模样本集、非线性关系以及高维度特征识别问题,其有效性源于通过核函数将原始数据映射至更高维的空间,使得原本复杂的分类问题变得线性可分。 粒子群优化算法是一种模拟群社会行为的群体智能优化技术。在该算法框架下,每个潜在解被视作一个“粒子”,粒子群在解空间中协同搜索,通过不断迭代更自身速度与位置,并参考个体历史最优解和群体全局最优解的信息,逐步逼近问题的最优解。在本应用中,PSO被专门用于搜寻SVM中影响模型性能的两个关键参数——正则化参数C与核函数参数γ的最优组合。 项目所提供的实现代码涵盖了从数据加载、预处理(如标准化处理)、基础SVM模型构建到PSO优化流程的完整步骤。优化过程会针对不同的核函数(例如线性核、多项式核及径向基函数核等)进行参数寻优,并系统评估优化前后模型性能的差异。性能对比通常基于准确率、精确率、召回率及F1分数等多项分类指标展开,从而定量验证PSO算法在提升SVM模型分类能力方面的实际效果。 本研究通过一个具体的MATLAB实现案例,旨在演示如何将全局优化算法与机器学习模型相结合,以解决模型参数选择这一关键问题。通过此实践,研究者不仅能够深入理解SVM的工作原理,还能掌握利用智能优化技术提升模型泛化性能的有效方法,这对于机器学习在实际问题中的应用具有重要的参考价值。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值