matlab中循环语句怎么写

if条件循环语句怎么写

1. IF是不是循环语句

if是判断语句。它的结构一般有以下几种形式:

一、

if …… then ……

二、

if …… then …… else ……

三、

if …… then

……

else

……

end if

四、

if …… then

……

elseif …… then

……

elseif …… then

……

……

else

……

end if

2. 按键精灵if循环语句

doifcolor cx,cy,col,0 //如果找到色,cx,cy就是此色的坐标(两者都会大于0),没找到,就是-1,-1end ifdelay 200 //大至每0.2秒判断一次,以减小资源占用。

loop until cx >0 and cy>0 //找到色就结束循环,没找到继续循环,直到找到为止。如果一直找不到,就会面为死循环。

//moveto cx,cy //鼠标移到到色点。// “do 循环体 loop until 循环结束条件”// 循环语句。

当until后的条件成立时,不再循环,而继续执行下一条语句。

3. JavaScript中if条件语句代码怎么写呢

html xmlns=headmeta ; charset=utf-8 /titleif语句/title/headbodyscript language=javascriptfor(a=10;a=15;a++)if(a%2==0) document.write(img src=8.gif width=,a,% height=,3*a,%);elsedocument.write(img src=9.gif width=,a,% height=,2*a,%);/script/body/html。

4. c语言中能不能只用if语句实现循环

基本概念学得不扎实啊。

程序设计的三种基本结构:顺序,条件,循环。

如果非要用if来做,可以写个递归的函数来求阶乘:

#include <stdio.h>

int F(int n)

{

if (n<=1)

return 1;

else

return n * F(n-1);

}

int main()

{

printf("%d\n", F(5));

return 0;

}

5. 条件循环代码怎么写

Do While 1

FindPic 0,0,1024,768,"C:\Users\Administrator\Desktop\无标题.bmp",1,oX,oY

If oX < 0 And oY < 0 Then

MessageBox "目标图像已消失"

Exit Do

End If

Delay 20

Loop

下面是ahk写的

CoordMode Pixel,Screen

Loop

{

ImageSearch ox,oy,0,0,1024,768,%A_Desktop%\无标题.bmp

if errorlevel=1

{

MsgBox 目标图像已消失

ExitApp

}

sleep 20

}

if条件循环语句怎么写

matlab怎么写循环语句

1. matlab 如何使用循环语句

原发布者:jinziyatoo

循环结构1.for语句for语句的格式为:for循环变量=表达式1:表达式2:表达式3循环体语句end其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略。for语句更一般的格式为:for循环变量=矩阵表达式循环体语句end执行过程是依次将矩阵的各列元素赋给循环变量,然后执行循环体语句,直至各列元素处理完毕。2.while语句while语句的一般格式为:while(条件)循环体语句end其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环。3.break语句和continue语句与循环结构相关的语句还有break语句和continue语句。它们一般与if语句配合使用。break语句用于终止循环的执行。当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句。continue语句控制跳过循环体中的某些语句。当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环。求[100,200]之间第一个能被21整除的整数forn=100:200ifrem(n,21)~=0continueendbreakendn4.循环的嵌套如果一个循环结构的循环体又包括一个循环结构,就称为循环的嵌套,或称为多重循环结构。例3-13若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求[1,500]之间的全部完数。form=1:500s=0;fork=1:m/2ifr

2. 怎样用MATLAB编一个循环语句

clear;clc;clf;

t=0:pi/20:2*pi;

R=10;r=2;

x=R*cos(t);

y=R*sin(t);

m=0;

kk=2*pi/6;

for k=0:kk:2*pi-kk

xi(m+1)=R*cos(k);

yi(m+1)=R*sin(k);

xx(:,m+1)=xi(m+1)+r*cos(t);

yy(:,m+1)=yi(m+1)+r*sin(t);

hold on

line([0 xi(m+1)],[0 yi(m+1)])

m=m+1;

end

plot(x,y,'r',xx,yy)

axis equal

再重复,就编一个子程序,不断调用。

3. matlab编程问题,循环语句怎么加

建议把主程序修改如下:

r=0.0425;

%T: Time to expiration

T=2;%输入年数

%DP:Defaut point

%SD: short debt, LD: long debt

in = xlsread('数据-修改后.xls','b2:e118');

n = size(in,1);

out = cell(n+1,5);

out(1,:) = {'', 'Va', 'AssetTheta', 'DD', 'EDF'};

for ii=1:n

SD=in(ii,1);%输入

LD=in(ii,2);%输入

%计算违约点

%DP=SD+0.5*LD;

DP=SD+0.5*LD;

%D:Debt maket value

D=DP;%债务的市场价值,可以修改

%theta: volatility

%PriceTheta: volatility of stockprice

PriceTheta=in(ii,3);%(输入)

%EquityTheta: volatility of Theta value

EquityTheta=PriceTheta;

%AssetTheta: volatility of asset

%E:Equit maket value

E=in(ii,4);%(输入)

%Va: Value of asset

%to compute the Va and AssetTheta

[Va,AssetTheta]=KMVOptSearch(E,D,r,T,EquityTheta)

%计算违约距离

DD=(Va-DP)/(Va*AssetTheta);

%计算违约率

EDF=normcdf(-DD);

out(ii+1,:) = {ii, Va, AssetTheta, DD, EDF};

end

xlswrite('Out.xls',out);

说明:

1、我的系统里直接读xlsx文件有点问题,原因懒得查了,另存成xls文件操作。

2、程序运行后生成Out.xls文件,题主可以根据自己的需要进行修改。

4. matlab里多个for循环的嵌套循环语句怎么写

不知道参数具体数值无法运行,这里给你指出编程错误。

1

2

3

4

5

6

7

8

9

10

if s1>s2

for i=150:15:0;%应修改为i=150:-15:0

new1=AFFT(im1,i);

s10=AS(new1);

if abs(s10-s2)subplot(1,2,1),imshow(new1,[])

subplot(1,2,2),imshow(im2,[])

%这里你是否只需画一幅图?根据你的表达退出所有循环这里要加个break

end

end%最后仍缺个end

修改程序如下:

1

2

3

4

5

6

7

8

9

10

11

if s1>s2

for i=150:-15:0

new1=AFFT(im1,i);

s10=AS(new1);

if abs(s10-s2)subplot(1,2,1),imshow(new1,[])

subplot(1,2,2),imshow(im2,[])

break

end

end

end

5. matlab中如何写循环

disp('Please enter the value:\n');

j=1;

b=input('Enter the value of b:\n');

while b(j)~='|'

j=j+1;

b(j)=input('Enter the value of b:\n'); % 输入数据当输入‘|’时结束输入

end

n=length(b(1:end-1));

b=b(1:end-1);

a=zeros(n,1); %建立输出矩阵

%使用矩阵思维 小数据和c语言思维没什么差别但是大量数据时会有明显差别

k=find(b>=90);

a(k)=5;

k1=find((b>=80).*(b<90)); %注这是数组点乘 .*

a(k1)=4;

k2=find((b>=70).*(b<80));

a(k2)=3.5;

k3=find((b>=60).*(b<70));

a(k3)=3;

k4=find(b<60);

a(k4)=0;

disp(a)

% 下面用的是c语言的思维

% for i=1:n

% if (b(i)>=90) % 几个分级判断,可以根据你的具体规定修改

% a(i)=5;

% elseif (b(i)<90 && b(i)>=80)

% a(i)=4;

% elseif (b(i)<80 && b(i)>=70)

% a(i)=3.5;

% elseif (b(i)<70 && b(i)>=60)

% a(i)=3.0;

% else

% a(i)=0;

% end

% end

6. matlab中for循环怎么写

在classpath(例如web-inf\classes)中放一个log4j.properties就可以了。

例子如(这是是打在stdout中的):

log4j.rootLogger=INFO, CONSOLE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

log4j.appender.CONSOLE.Target=System.out

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p - [%t] %c{2} - %m%n

oracle的循环语句怎么写

1. 请问这个oracle的for循环语句怎么写

create table temp_tab( id number primary key not null, name varchar2(50) not null, age number not null);declare ids number(30) :=0; names varchar2(50) :='卡卡'; age number(30) :=5;begin for i in 1..15 loop ids :=ids+1; age :=age+1; insert into temp_tab values(ids,names,age); end loop;end;。

2. 请问这个oracle的for循环语句怎么写

create table temp_tab

(

id number primary key not null,

name varchar2(50) not null,

age number not null

);

declare

ids number(30) :=0;

names varchar2(50) :='卡卡';

age number(30) :=5;

begin

for i in 1..15 loop

ids :=ids+1;

age :=age+1;

insert into temp_tab values(ids,names,age);

end loop;

end;

3. 请教大神,oracle数据库循环语句怎么写

假设表中字段分别为:

student 中字段:class_id, student_name,score,pass(number类型)

class中字段:class_id,class_name

select c.class_name,count(*) total ,sum(pass) as pass_count,sum(pass)/count(*) as pass_ratio

from student s,class c

where s.class_id=c.class_id

group by c.class_name

4. oracle sql怎么写循环语句

declare

sql_tem Varchar2(4000);

a number;

b number;

i number;

begin

a := 1;

for i in 1 .. 3 loop

b := a + 4;

sql_tem := 'insert into A2 (ID,NAME) (select ID,NAME from A1 WHERE ROWNUM between :1 and :2)';

EXECUTE IMMEDIATE sql_tem

USING a, b;

commit;

a := a + 5;

end loop;

end;

试试上面的代码看一下能不能满意你的要求先呗。

5. 哪位大侠知道怎么写oracle sql 循环语句

循环结构

简单循环【经常使用】:loop……end loop

语法格式:

loop

plsql语句;

[exit when 条件;]

end loop;

说明:exit when 条件,表示当条件成立时退出。

范例:求1~100的和。

declare

i number;

sum1 number;

begin

i:=1;

sum1:=0;

loop

exit when i>100;

sum1:=sum1+i;

i:=i+1;

end loop;

dbms_output.put_line(sum1);

end;

/

范例:向emp表中插入999条记录

declare

i number:=1;

begin

loop

exit when i>999;

insert into emp(empno,ename,deptno) values(i,'jack'||i,40);

dbms_output.put_line('第'||i||'记录已添加');

i:=i+1;

end loop;

end;

/

while循环:while loop……end loop

语法格式

while 条件 loop

plsql语句;

end loop;

例:使用while循环显示1~10

declare

i number;

begin

i:=1;

while i

6. Oracle循环语句的写法有哪些呢

如果您对Oracle循环语句方面感兴趣的话,不妨一看。

loop循环: 1。 create or replace procedure pro_test_loop is 2。

i number; 3。 begin 4。

i:=0; 5。 loop 6。

ii:=i+1; 7。 dbms_output。

put_line(i); 8。 if i》5 then 9。

exit; 10。 end if; 11。

end loop; 12。 end pro_test_loop; while循环: 1。

create or replace procedure pro_test_while is 2。 i number; 3。

begin 4。 i:=0; 5。

while i《5 loop 6。 ii:=i+1; 7。

dbms_output。 put_line(i); 8。

end loop; 9。 end pro_test_while; for循环1: 1。

create or replace procedure pro_test_for is 2。 i number; 3。

begin 4。 i:=0; 5。

for i in 1。

5 loop 6。 dbms_output。

put_line(i); 7。 end loop; 8。

end pro_test_for; for循环2: 1。 create or replace procedure pro_test_cursor is 2。

userRow t_user%rowtype; 3。 cursor userRows is 4。

select * from t_user; 5。 begin 6。

for userRow in userRows loop 7。 dbms_output。

put_line(userRow。Id||','||userRow。

Name||','||userRows%rowcount); 8。 end loop; 9。

end pro_test_cursor;。

7. SQL 语句简单的循环怎么写啊

**************

修改了一下:

**************

declare @month_tmp varchar(2);

declare @day_tmp varchar(2);

set @month_tmp = '1';

set @day_tmp = '1';

while(@month_tmp < '13')

begin

while(@day_tmp < '30')

begin

select * from table1 where month=@month_tmp and day=@day_tmp

set @day_tmp = @day_tmp + 1

end

set @month_tmp = @month_tmp + 1

set @day_tmp = 1

end

*********************************************************

select * from table1 where

month in('1','2','3','4','5','6','7','8','9','10','11','12'

and

day in('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30');

---

以上,希望对你有所帮助。

sql循环语句怎么写

1. SQL中循环语句怎样写

Transact-SQL附加语言Transact-SQL附加语言元素不是SQL的标准内容,而是Transact-SQL语言为了编程方便而增加的语言元素。

这些语言元素包括变量、运算符、函数、流程控制语句和注释等内容。1. 变量变量对1种语言来讲是必不可少的组成部份。

Transact-SQL语言允许使用两种变量:1种是用户自己定义的局部变量(Local Variable),另外一种是系统提供的全局变量(Global Variable)。(1) 局部变量局部变量使用户自己定义的变量,它的作用范围近在程序内部。

通常只能在1个批处理中或存储进程中使用,用来存储从表中查询到的数据,或当作程序履行进程中暂存变量使用。局部变量使用DECLARE语句定义,并且指定变量的数据类型,然后可使用SET或SELECT语句为变量初始化;局部变量必须以“@”开头,而且必须先声明后使用。

其声明格式以下:DECLARE @变量名 变量类型[,@变量名 变量类型…]其中变量类型可以是SQL Server 2000支持的所有数据类型,也能够是用户自定义的数据类型。局部变量不能使用“变量=变量值”的格式进行初始化,必须使用SELECT或SET语句来设置其初始值。

初始化格式以下:SELECT @局部变量=变量值SET @局部变量=变量值。

2. SQL 语句简单的循环怎么写啊

**************

修改了一下:

**************

declare @month_tmp varchar(2);

declare @day_tmp varchar(2);

set @month_tmp = '1';

set @day_tmp = '1';

while(@month_tmp < '13')

begin

while(@day_tmp < '30')

begin

select * from table1 where month=@month_tmp and day=@day_tmp

set @day_tmp = @day_tmp + 1

end

set @month_tmp = @month_tmp + 1

set @day_tmp = 1

end

*********************************************************

select * from table1 where

month in('1','2','3','4','5','6','7','8','9','10','11','12'

and

day in('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30');

---

以上,希望对你有所帮助。

3. oracle sql怎么写循环语句

declare

sql_tem Varchar2(4000);

a number;

b number;

i number;

begin

a := 1;

for i in 1 .. 3 loop

b := a + 4;

sql_tem := 'insert into A2 (ID,NAME) (select ID,NAME from A1 WHERE ROWNUM between :1 and :2)';

EXECUTE IMMEDIATE sql_tem

USING a, b;

commit;

a := a + 5;

end loop;

end;

试试上面的代码看一下能不能满意你的要求先呗。

4. 看下这个SQL循环语句怎么写

tsql(就是sqlserver的),亲测成功:-----------------------------------declare @res varchar(100)declare @c varchar(10)set @res=''declare c1 cursor for select B from topen c1fetch next from c1 into @cwhile @@fetch_status=0begin set @res=@res+@c fetch next from c1 into @cendclose c1deallocate c1select @res。

5. 帮忙写个SQL循环语句

DECLARE @IDS VARCHAR(100)

SET @IDS = '100,200,30,8,3459,1'

DECLARE @ID INT

DECLARE @INDEX INT

WHILE LEN(@IDS) > 0

BEGIN

SET @INDEX = CHARINDEX(',',@IDS,1)

IF @INDEX > 1

BEGIN

SET @ID = CAST(LEFT(@IDS,@INDEX - 1) AS INT)

SET @IDS = SUBSTRING(@IDS,@INDEX+1, LEN(@IDS) - @INDEX)

END

ELSE

BEGIN

SET @ID = CAST(@IDS AS INT)

SET @IDS = NULL

END

INSERT INTO TABLES(ID) VALUES(@ID)

SET @INDEX = CHARINDEX(',',@IDS,1)

END

6. sql中类似循环方法语句怎么写

create table a_lyh_test

as

select 'A' as "字段1" , 500 as "字段2" from dual

union all

select 'B' as "字段1" , 300 as "字段2" from dual

union all

select 'B' as "字段1" ,400 as "字段2" from dual

union all

select 'B' as "字段1" , 600 as "字段2" from dual

union all

select 'A' as "字段1" , 200 as "字段2" from dual

;

select f.字段1

,ltrim(max(sys_connect_by_path(f.字段2,','))

keep (dense_rank last order by f.pnum),',') as 字段2

from

(

select t.字段1

,t.字段2

,row_number() over(partition by t.字段1 order by t.字段1) as pnum

,row_number() over(partition by t.字段1 order by t.字段1)-1 as lnum

from

(

select a.字段1,a.字段2

from a_lyh_test a

) t

) f

group by f.字段1

connect by f.lnum = prior f.pnum and f.字段1 = prior f.字段1

start with f.pnum = 1;

7. SQL 循环语句

可以使用游标。MS SQL语句如下:

--定义一个接收数值及一个累加数值的临时变量

DECLARE @level INT,

@levelcount INT

SET @levelcount = 0

--定义游标,表名及列名根据实际进行修改

DECLARE cus_count CURSOR FOR

SELECT level FROM dbo.grouptemp

--打开游标

OPEN cus_count

--定位到下一行。打开后未定位游标定位到首行

FETCH NEXT FROM cus_count INTO @level

--循环游标,条件为小于某个数值并且游标循环未结束。@@FETCH_STATUS = 0表示游标未循环结束。

WHILE (@levelcount < 100) AND (@@FETCH_STATUS = 0)

BEGIN

SET @levelcount = @levelcount+@level

FETCH NEXT FROM cus_count INTO @level

END

--关闭游标

CLOSE cus_count

--释放游标

DEALLOCATE cus_count

--数值打印出来以便调试,正式方法中可不打印

PRINT @levelcount

sql循环语句怎么写

转载请注明出处育才学习网 » matlab中循环语句怎么写

知识

罗梅芬用日文怎么写(罗钰潇日语怎么写)

阅读(21445)

本文主要为您介绍罗梅芬用日文怎么写,内容包括伊蕾娜日语怎么写,王雪菲用日文怎么说,张佳怡在日语中怎么写啊怎么读啊。罗 ら ラ ra钰 ぎょく ギョク gyoku潇 しょう シヨウ shou第一列:日语汉字,写法同汉字,都要用繁体,这三个都挺难写的,看

知识

邓先生的英文怎么写(1~40的英文怎么说)

阅读(10465)

本文主要为您介绍邓先生的英文怎么写,内容包括“邓先生”用英语怎么写,1~40的英文怎么说,漂亮英文beautiful缩写怎么写。1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8 eight 8 nine 10 te

知识

一个人布满皱纹怎么写(描写人物皱纹的句子)

阅读(9544)

本文主要为您介绍一个人布满皱纹怎么写,内容包括描写人物皱纹的句子,描写人物皱纹的句子,皱纹怎么描写。、老人脸上布满了皱纹,那一条条曲折不均的像是墙上斑驳的印迹,爬满了面容,留下了岁月的痕迹。2、外祖父是一位年过六旬的白发老人。在他

知识

登录接口怎么写(php登录的接口怎么写)

阅读(7782)

本文主要为您介绍登录接口怎么写,内容包括php登录的接口怎么写,网页登陆接口怎么做,网站登录接口程序怎么做。PHP 接口 接口 使用接口(interface),你可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。我们可以通过int

知识

档案奖惩情况怎么写(奖惩情况怎么写)

阅读(9620)

本文主要为您介绍档案奖惩情况怎么写,内容包括奖惩情况怎么写,个人简历及奖惩情况怎么填写,个人简历里面奖惩情况怎么写。在简历里的“奖励”部分,列出与你所获得的并与你的求职目标相关的荣誉、奖励和奖金。你既可以按时间顺序排列,也可以按

知识

头孢克肟拼音怎么写(头孢克肟的肟念什么)

阅读(8022)

本文主要为您介绍头孢克肟拼音怎么写,内容包括头孢克肟片全名拼音,头孢克肟片全名拼音,头孢克肟的肟念什么。肟[wò] :是含有羰基的醛、酮类化合物与羟胺作用而生成的有机化合物,可以参与许多有机化学反应,例如经典的Beckmann重排就是肟为底

知识

一库搜用日语怎么写(日语一库是什么意思)

阅读(8025)

本文主要为您介绍一库搜用日语怎么写,内容包括日语大神来,看动漫里的主人公说一句:恰,一库搜这是什么意思,一库一库;一搜库这两个日语是什么意思怎么写,看片都有“一库”(日语)是什么意。一库的意思就是“出发,出去”的意思。日语「行く」的音译

知识

外租无人机广告怎么写(植保无人机广告语)

阅读(7020)

本文主要为您介绍外租无人机广告怎么写,内容包括求一个无人机创意广告词谢谢巨友们了,求一关于无人机的广告标语,求一关于无人机的广告标语我们公司是做无人机的,新成立的公司,求。DJI大疆创新研发的的MG-1农业植保机专为农村作业环境设计,

知识

河南话que怎么写(河南话的nenna怎么写)

阅读(6550)

本文主要为您介绍河南话que怎么写,内容包括que怎么写,河南话的nenna怎么写,que怎么写。尿一壶(niào yī hú)关系密切,观点一致。例:“他俩今天尿一壶啦。”●尿(niào)⑴、从尿道排泄的液体。⑵、排泄小便。⑶、不放

知识

国学经文的论文怎么写(国学征文该怎么写)

阅读(7139)

本文主要为您介绍国学经文的论文怎么写,内容包括国学征文该怎么写,弟子规的400论文,关于国学经典的征文怎么写。“子曰:“温故而知新,可以为师”……小时,总是觉得国学就是没用的,古人写的话,我们还需要背,每次老师教给我们时,我总是会让思想开一

知识

化学实验总结怎么写(化学实验报告小结怎么写)

阅读(5417)

本文主要为您介绍化学实验总结怎么写,内容包括化学实验总结怎么写,化学实验报告小结怎么写,化学实验小结怎么写。化学实验报告的书写: 一般情况下化学实验报告是根据实验步骤和顺序从七方面展开来写的: 1.实验目的:即本次实验所要达到的目标或

知识

蝴蝶豌豆拼音怎么写(豌豆的拼音是什么)

阅读(5844)

本文主要为您介绍蝴蝶豌豆拼音怎么写,内容包括蝴蝶怎么拼音的,豌豆的拼音是什么,蝴蝶的拼音是什么。豌豆的拼音是[wān dòu]。豌豆是豆科一年生攀援草本,高0.5-2米。全株绿色,光滑无毛,被粉霜。叶具小叶4-6片,托叶心形,下缘具

知识

海绵宝宝用英文怎么说(海绵宝宝用英文怎么说)

阅读(6531)

本文主要为您介绍海绵宝宝用英文怎么说,内容包括海绵宝宝用英语怎么说,海绵宝宝用英文怎么说,海绵宝宝英文名是什么。1. SPONGEBOB SQUAREPANTS 近期很夯的一步卡通影片《海绵宝宝》(SpongeBob SquarePants)是一系

知识

茶盏怎么用(茶盏在茶道中干嘛用)

阅读(5445)

本文主要为您介绍茶盏怎么用,内容包括茶盏怎么用我要写一篇200字左右的茶盏的使用说明,求指教,茶盏在茶道中干嘛用,问一下斗笠盏如何使用现在是不是很少有人使用它,它的意义。苏东坡的名句"从来佳茗似佳人",典型地代表了唐宋及以后的文人墨客,

知识

thinkpad小红点怎么用(怎么学习使用thinkpad小红点)

阅读(7606)

本文主要为您介绍thinkpad小红点怎么用,内容包括怎么学习使用thinkpad小红点,thinkpad小红点怎么用,求教:THINKPAD的小红点使用方法。Thinkpad 小红点最高效的使用方法为:左手拇指按左键,无操作时在左键待命2、右手拇指按右键,同时兼按空格键及