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); //实际参数



先看效果: https://renmaiwang.cn/s/jkhfz Hue系列产品将具备高度的个性化定制能力,并且借助内置红、蓝、绿三原色LED的灯泡,能够混合生成1600万种不同色彩的灯光。 整个操作流程完全由安装于iPhone上的应用程序进行管理。 这一创新举措为智能照明控制领域带来了新的启示,国内相关领域的从业者也积极投身于相关研究。 鉴于Hue产品采用WiFi无线连接方式,而国内WiFi网络尚未全面覆盖,本研究选择应用更为普及的蓝牙技术,通过手机蓝牙与单片机进行数据交互,进而产生可调节占空比的PWM信号,以此来控制LED驱动电路,实现LED的调光功能以及DIY调色方案。 本文重点阐述了一种基于手机蓝牙通信的LED灯设计方案,该方案受到飞利浦Hue智能灯泡的启发,但考虑到国内WiFi网络的覆盖限制,故而选用更为通用的蓝牙技术。 以下为相关技术细节的详尽介绍:1. **智能照明控制系统**:智能照明控制系统允许用户借助手机应用程序实现远程控制照明设备,提供个性化的调光及色彩调整功能。 飞利浦Hue作为行业领先者,通过红、蓝、绿三原色LED的混合,能够呈现1600万种颜色,实现了全面的定制化体验。 2. **蓝牙通信技术**:蓝牙技术是一种低成本、短距离的无线传输方案,工作于2.4GHz ISM频段,具备即插即用和强抗干扰能力。 蓝牙协议栈由硬件层和软件层构成,提供通用访问Profile、服务发现应用Profile以及串口Profiles等丰富功能,确保不同设备间的良好互操作性。 3. **脉冲宽度调制调光**:脉冲宽度调制(PWM)是一种高效能的调光方式,通过调节脉冲宽度来控制LED的亮度。 当PWM频率超过200Hz时,人眼无法察觉明显的闪烁现象。 占空比指的...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值