1. JAVA 2 SE 入门知识

复习篇:

1.Java中所有浮点类型默认情况下都是double,不能讲double类型的值赋给float类型的变量,即便该double类型的值处于float类的范围内,都是不行的。关键是要等号两边的类型是否一致。比如

float f = 1.2; //1.2默认是double,所以不能转为float

解决方法:

a)float f = 1.2F 或 float f = 1.2f    //告诉Java编译器,1.2是float类型

b)float f = (float)1.2;            //强制装换,可能会损失精度

c) double f = (float)1.2; //范围小的值,可以赋给范围大的变量


2.有若干个变量参与运算时,结果取决于变量中表示范围最大的那个变量类型,比如有int、double、short类型变量参与运算,最后的结果是double类型。

另外,下例中,通过(double)a 将 a 转换为一个匿名的变量,该变量的类型是double,但是 a 本身还是int,而不是double,所以(double)a/b就是double类型除以int类型,所以结果是double类型

int a = 1;

int b = 2;

double c = (double)a/b;


3 取模(求余数),用 % 表示,取模结果符号与被除数符号一样

int a = -5;

int b = 3;

int c = a % b;

结果是 -2

int a = 5;

int b = -3;

int c = a % b;

结果是 2


4.逻辑与:&&     逻辑或:||


5.条件运算法:

type d = a? b :c;       //假如a为真,则d = b,否则d = c

int d = 2 > 1? 3 : 4;   //d = 3


6.流程控制语句

第一种形式:

if(布尔表达式)

{}

第二种形式:

if(布尔表达式)

{}

else(布尔表达式)

{}

第三种形式:

if(布尔表达式)

{}

else if(布尔表达式)

{}

else if(布尔表达式)

{}

else //可加可不加

{}


7 switch(变量)//此处的变量可以为:byte,short,int,char

{

case 常量1:

//执行代码

break;

case 常量2:

//执行代码

break;

case 常量3:

//执行代码

break;

default:

//执行代码

}

虽然case中的break是可选的,但是绝大多数情况下,如果没有break,程序的逻辑会发生错误。

switch语句能做的if语句都能做!


8.while(布尔表达式)

{}


9.do...while循环

do{

//执行代码

}

while(布尔表达式);

while 和 do ..while区别,while先判断在执行代码,do ..while 先执行再判断


10.for(变量初始化;条件判断;步进)

{}

变量初始化 -> 条件判断(为真则往下,为假则跳出for循环) -> 花括号代码 -> 步进


11.break 语句:跳出整个当前循环语句,执行后面代码

continue 语句:跳出本次循环,执行下一次循环



1.类中的属性(数据)又叫做成员变量(member variablle),属性property或attribute

对数据的操纵,在类中称作方法(method)

如果一个Java源文件中定义了多个类,那么这些类中最多只能有一个类是 public 的,换句话说,可以没有一个 public


2.对象(Object)又叫做实例(Instance)。生成一个对象的过程叫做实例化

面向对象程序设计的三大基本特称:继承(Inheritence)、封装(Encapsulation)、多态(Polymorphism)

封装:类包含了数据与方法,将数据与方法放在一个类中就构成了封装


3.命名约定

a)类:首字母大写,如果一个类名由多个单词构成,那么每个单词首字母为大写,中间不能有任何连接符,如MemberTest,Test

b)方法:首字母小写,如果一个方法名由多个单词构成,那么除第一个单词首字母小写以外,每个单词首字母为大写,比如add,addPerson

c)属性:与方法相同


4.属性需要定义在类中,又叫做成员变量,定义在方法中的变量叫做局部变量


5.定义属性

public class Xxx

{

修饰符 类型 属性名称

}

使用属性,和方法一样,首先需要生成类的实例,然后使用 实例.属性 的方法来使用属性。如图



6.局部变量使用必须要声明并赋初始值,成员变量使用前必须要声明,但是可以不赋初始值


7.成员变量和局部变量的联系与区别:

a)使用前都要声明(定义)

b)局部变量需要初始化;成员变量使用前可以不初始化,如果不初始化,有一个默认值:

byte、short、int、long类型的初始值为 0

float、double类型的初始值为 0.0

char类型的初始值为“\u0000”

boolean类型的初始值为false


8.引用类型(reference type):是用在对象上的,一个对象可以被多个引用所指向,但是同一个时刻,每个引用只能指向唯一的一个对象。如果一个对象被多个引用所指向,那么无论哪个引用对对象进行了修改,都会反映到其他引用中。

另外:Test test = new Test();

//test是引用类型的变量,真正的对象时new后面的Test,对象看不到摸不着,只能通过引用,通过对象的地址,赋给了test,也就是test指向了谁就可以操纵谁


有几种不同的情况,注意不同点:


输出:

20

30



输出:

20

30

20



输出:

10

20



输出:

10

10


9.参数:

int add(int a ,int b) //形式参数

{

return a + b;

}

int result = add(1,2); //实际参数



内容概要:本文深入探讨了Kotlin语言在函数式编程和跨平台开发方面的特性和优势,结合详细的代码案例,展示了Kotlin的核心技巧和应用场景。文章首先介绍了高阶函数和Lambda表达式的使用,解释了它们如何简化集合操作和回调函数处理。接着,详细讲解了Kotlin Multiplatform(KMP)的实现方式,包括共享模块的创建和平台特定模块的配置,展示了如何通过共享业务逻辑代码提高开发效率。最后,文章总结了Kotlin在Android开发、跨平台移动开发、后端开发和Web开发中的应用场景,并展望了其未来发展趋势,指出Kotlin将继续在函数式编程和跨平台开发领域不断完善和发展。; 适合人群:对函数式编程和跨平台开发感兴趣的开发者,尤其是有一定编程基础的Kotlin初学者和中级开发者。; 使用场景及目标:①理解Kotlin中高阶函数和Lambda表达式的使用方法及其在实际开发中的应用场景;②掌握Kotlin Multiplatform的实现方式,能够在多个平台上共享业务逻辑代码,提高开发效率;③了解Kotlin在不同开发领域的应用场景,为选择合适的技术栈提供参考。; 其他说明:本文不仅提供了理论知识,还结合了大量代码案例,帮助读者更好地理解和实践Kotlin的函数式编程特性和跨平台开发能力。建议读者在学习过程中动手实践代码案例,以加深理解和掌握。
内容概要:本文深入探讨了利用历史速度命令(HVC)增强仿射编队机动控制性能的方法。论文提出了HVC在仿射编队控制中的潜在价值,通过全面评估HVC对系统的影响,提出了易于测试的稳定性条件,并给出了延迟参数与跟踪误差关系的显式不等式。研究为两轮差动机器人(TWDRs)群提供了系统的协调编队机动控制方案,并通过9台TWDRs的仿真和实验验证了稳定性和综合性能改进。此外,文中还提供了详细的Python代码实现,涵盖仿射编队控制类、HVC增强、稳定性条件检查以及仿真实验。代码不仅实现了论文的核心思想,还扩展了邻居历史信息利用、动态拓扑优化和自适应控制等性能提升策略,更全面地反映了群体智能协作和性能优化思想。 适用人群:具备一定编程基础,对群体智能、机器人编队控制、时滞系统稳定性分析感兴趣的科研人员和工程师。 使用场景及目标:①理解HVC在仿射编队控制中的应用及其对系统性能的提升;②掌握仿射编队控制的具体实现方法,包括控制器设计、稳定性分析和仿真实验;③学习如何通过引入历史信息(如HVC)来优化群体智能系统的性能;④探索中性型时滞系统的稳定性条件及其在实际系统中的应用。 其他说明:此资源不仅提供了理论分析,还包括完整的Python代码实现,帮助读者从理论到实践全面掌握仿射编队控制技术。代码结构清晰,涵盖了从初始化配置、控制律设计到性能评估的各个环节,并提供了丰富的可视化工具,便于理解和分析系统性能。通过阅读和实践,读者可以深入了解HVC增强仿射编队控制的工作原理及其实际应用效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值