SCJP笔记整理(四)

说明:这是2007年复习SCJP期间的学习笔记(JavaSE 5.0),有部分遗失。现在整理一下发到Blog上,一方面做个备份,另一方面分享出来,希望对需要的人有用。

-------------------------------

 

第四部分 运算符

1、任何赋值表达式的结果都是赋值后的变量值,整数不能用于需要布尔值的地方。

2、测试null引用是否是一个类的实例是合法的,但其结果总是false

3、基本类型的数组也是对象,数组总是Object的实例。

4、如果一个操作数是String+运算符为连接运算符。如果两个操作符都是数字,则+运算符是加法运算符。

5&& 短路 与:若左边为false,则不计算右边的值。

   ||  短路 或:若左边为true,则不计算右边的值。

   &&| |只作用于布尔表达式:if(5&&6) {} 将导致编译失败。

6&|为非短路与或。

7^异或表达式为true:必须有且仅有一个操作数为true.

8instanceof测试必须在继承树中才能通过编:

   Short s= 15;

   Boolean b1=(s instanceof Number); //没问题

Boolean b2=(s instanceof String);  //编译失败。

9、数组变量比较时必须维数相同才能够通过编译。

If(42L==42.0f) {}//该测试返回为true.

10、测试表达式中赋值会影响到后面的测试:

   Boolean b=true;

   If((b=false) | (b&&true))  //该测试返回false.

{}

11、打印中数字在前先运算后连接:

   System.out.println(x+y+getMyString());

   //先计算加法再连接字符串。

System.out.println(getMyString()+x+y);

//直接连接各个串。

12、可以使用:x*=x; y+=y; 这样的语句。

先展示下效果 https://pan.quark.cn/s/a4b39357ea24 遗传算法 - 简书 遗传算法的理论是根据达尔文进化论而设计出来的算法: 人类是朝着好的方向(最优解)进化,进化过程中,会自动选择优良基因,淘汰劣等基因。 遗传算法(英语:genetic algorithm (GA) )是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。 进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择、杂交等。 搜索算法的共同特征为: 首先组成一组候选解 依据某些适应性条件测算这些候选解的适应度 根据适应度保留某些候选解,放弃其他候选解 对保留的候选解进行某些操作,生成新的候选解 遗传算法流程 遗传算法的一般步骤 my_fitness函数 评估每条染色体所对应个体的适应度 升序排列适应度评估值,选出 前 parent_number 个 个体作为 待选 parent 种群(适应度函数的值越小越好) 从 待选 parent 种群 中随机选择 2 个个体作为父方和母方。 抽取父母双方的染色体,进行交叉,产生 2 个子代。 (交叉概率) 对子代(parent + 生成的 child)的染色体进行变异。 (变异概率) 重复3,4,5步骤,直到新种群(parentnumber + childnumber)的产生。 循环以上步骤直至找到满意的解。 名词解释 交叉概率:两个个体进行交配的概率。 例如,交配概率为0.8,则80%的“夫妻”会生育后代。 变异概率:所有的基因中发生变异的占总体的比例。 GA函数 适应度函数 适应度函数由解决的问题决定。 举一个平方和的例子。 简单的平方和问题 求函数的最小值,其中每个变量的取值区间都是 [-1, ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值