范文一:JS中冒号的作用
JS中冒号的作用
1.声明对象的成员
2.switch语句分支
3.三元表达式
1.声明对象的成员
var Book =
{
Name: '法',
Price: 100,
Discount : function(rate)
{
this.Price *= rate;
}
};
alert(Book.Price);
Book.Discount(0.8); // 8折
alert(Book.Price);
2.switch语句分支
var a = 2;
switch (a)
{
case 0:
alert('0');
break;
case 1:
alert('1');
break;
case 2:
alert('2');
break;
default:
alert('_');
}
3.三元表达式
var a = 2;
var b = 4;
var k = (a >; b ? 1 : 2);
范文二:JAVA语言中冒号的用法
JAVA语?言中冒号的?用法
(2011-05-24 11:46:41)
转载?
标签: 分类: 技术文章
java
冒号
it
JAVA语言中冒号的??用法
autho?r : aoyou?satuo?/傲游洒脱
from : http://blog.sina.com.cn/aoyou?satuo ?
近来由于本?人要介入a?ndroi?d平台的开?发,所以就买了?本JAVA?语言的书学?习。学习一段时?间来,我的感觉是?谭浩强就是?厉害,编写的《C编程语言?》系列丛书不?愧是经典。书中对C语?言的介绍既?系统又全面?。几乎C语言?规范的每一?个技术细节?都可以介绍?到,而且全书给?人的感觉就?像做数学证?明题,系统性很强?。而反观JA?VA语言方?面的书籍,可能是本人?看得不多,感觉介绍得?都不全面,并且没有系?统性,许多规范细?节往往简单?介绍一下,然后给个程?序事例就草?草结束了,让人不容易?理解,更有些细节?扎根就没有?涉及到。这种感觉就?像大学里的?英语考试,我们总在稀?里糊涂中通?过或者挂掉?。所以本人一?度有自己也?写一本类似?谭教授C语?言介绍一样?的JAVA?工具书的想?法。(嘿嘿,这恐怕只是?
想法而已。)
书不一定能?出,但在学习过?程中收集研?究一些细节?知识我还是?可以做到的?。下面就简单?介绍一下 JAVA语?言中冒号的 ?用法。
>用法1 :
用于问号表?达式 条件表达式? ,程序块1 :程序块2 ;
解释:如果条件表?达式为真,则本程序语?句执行程序?块1,程序块1的?值即为整个?表达式的值?, 否则为表达?式 2的值。
注意,java只?有问号表达?式,而没有问号?语句,问号表达式?加分号不能?构成程序语 ?句。
>用法2 :
用于开关语?句(switc?h语句)的条件标签 ?
switc?h(变量 )
{
case value?1 :
程序块 ;
case value?2 :
程序块 ;
……
defau?lt :
程序块 ;
}
解释:程序从上到?下判断每一?个case?后的val?ue值是否?和swit?ch后的变?量值是否相?等,如果不相等?则继续判断?下一个ca?se,否则从该c?ase后程?序块开始执?行程序。如果所有c?ase后的?值都和变量?的值不相等?,如果有,则执行de?fault?后的程序块 ?。
>用法3 :
用于con?tinue?语句的跳转? 标签
JAVA语?句的con?tinue? 语句有些特?殊,有两种用法? 1. 不带标签 2.带标签。不带标签的?用法和C语?言一样,表示循环语?句中的程序?执行到此不?再执行后面?的语句,而是直接执?行下一次循?环。而带标签的?用法类似于?C语言的g?oto语句?,当程序执行?到此处直接?跳转到指定?的标签处执?行标签后的?程序。
>用法4 :
用于循环中?集合元素的?遍历
for(元素变量 : 元素集合)
{
程序块 ;
}
解释:如果元素集?合中所有元?素都被遍历?则结束此循?环,否则执行程?序块。
程序示例 :
impor?t java.util.*;
publi?c class? sampl?e {
priva?te void print?()
{
Strin?g[] str = {"*************************************",
"The sampl?e show four usage?s of ':'",
" 1. switc?h sente?nce", " 2. ? condi?tion",
" 3. conti?nue skipp?ing",
" 4. eleme?nt reach? in the colle?ction?",
"*************************************"} ;
for(Strin?g e : str)
Syste?m.out.print?ln(e) ;
}
publi?c stati?c void main(Strin?g[] args)
{
Rando?m rand = new Rando?m(10) ;
int val = 0 ;
boole?an tmp = false? ;
label? :
for(int i = 0; i < 10;)="">
{
switc?h(i)
{
case 0 :
case 1 :
case 2 :
Syste?m.out.print?ln("for loop" + i + " ") ;
i++ ;
break? ;
defau?lt :
Syste?m.out.print?ln() ;
while?(true)
{
val = rand.nextI?nt(10) ;
if(val > 5 ? true : false?)
{
i = 10 ;
Syste?m.out.print?ln() ;
conti?nue label? ;
}
Syste?m.out.print?ln("[conti?nue while? loop]" + " val = "
+ val) ;
}
}
}
sampl?e s = new sampl?e() ;
s.print?() ;
}
}
运行结果 :
for loop0?
for loop1?
for loop2?
[conti?nue while? loop] val = 3
[conti?nue while? loop] val = 0
[conti?nue while? loop] val = 3
[conti?nue while? loop] val = 0
*************************************
The sampl?e show four usage?s of ':'
1. switc?h sente?nce
2. ? condi?tion
3. conti?nue skipp?ing
4. eleme?nt reach? in the colle?ction?
*************************************
范文三:matlab中冒号的用法
matlab
最近不少网友问冒号的用法的一些问题,我按照自己的理解总结一些冒号用法,如果有没讲
到的,望高手补充。首次发这种贴,望指点。 1)a:b 表示[a,a+1,……,b]
:
>> A=1:5
A =
1 2 3 4 5 2)当然如果b-a不是整数的话,则向量的最后一位数是n+a,且n=fix(b-a)
:
>> A=1.2:4.9
A =
1.2000 2.2000 3.2000 4.2000
3)上面的前提是ab则会出现空值
:
>> A=5:1
A =
Empty matrix: 1-by-0 此时 A是空矩阵,看workspace也可以看到A 4)a:c:b表示[a,a+c,……,a+n*c],其中n=fix((b-a)/c)
:
>> A=1:3:11
A =
1 4 7 10
5)a:c:b在以下情况为空值
c>0,且a<><0,且a>b
:
>> A=11:3:1
A =
Empty matrix: 1-by-0 6)A(:)表示以一列的方式显示A中所有元素
:
>> A=[1 2 3;4 5 6]
A =
1 2 3
4 5 6
>> A(:)
ans =
1
4
2
5 3
67)b=A(i, :)表示把矩阵A的第i行存入b
:
>> b=A(1,:)
b =
1 2 3 8)b=A( :,j)表示把矩阵A的第j列存入b
:
>> b=A(:,1)
b =
1
4
9)b=A(J :K)表示把矩阵A中[A(J),A(J+1),...,A(K)]这些元素存入b中
:
>> b=A(3:5)
b =
2 5 3 10)b=A(:,c:d)表示把矩阵A的第c到第d列存入b中,当然c,d大于A的列数则出错
(b=A(c:d,:)表示取行) :
>> A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> b=A(:,2:3)
b =
2 3 5 6
8 9补充下
当需要 10 9 8 7 6 5 4 3 2 1这样的数时
用A=[10:1] 会产生空矩阵 >> A=[10:-1:1]
A =
10 9 8 7 6 5 4 3 2 1
>> 就可以了
有时 当矩阵很大时 不知道矩阵的维数
可以用end
>> A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> b=A(:,2:end)
b =
2 3
5 6
8 9
当我们需要 A矩阵第右上角的数时 即
2 3
5 6 这时用‘ :’很难实现 可以用end和冒号一起来实现 >> b=A(1:2,2:end)
b =
2 3
5 6
范文四:c++中冒号(:)的用法
(1)表示机构内位域的定义(即该变量占几个bit空间)
typedef struct _XXX{
unsigned char a:4;
unsigned char c;
} ; XXX
(2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。
struct _XXX{
_XXX() : y(0xc0) {}
};
(3) public:和private:后面的冒号,表示后面定义的所有成员都是公有或私有的,直到下一个"public:”或"private:”出现为止。"private:"为默认处理。
(4)类名冒号后面的是用来定义类的继承。
class 派生类名 : 继承方式 基类名
{
派生类的成员
};
继承方式:public、private和protected,默认处理是public。
2、类构造函数(Constructor)的初始化列表
先说下什么叫构造函数吧(是不是啰嗦了?C++的人应该都知道了吧,还是以防万一一下)。所谓构造函数,就是与类同名的函数,它与普通函数的区别在于,它没有返回类型。
在构造函数后面紧跟着冒号加初始化列表,各初始化变量之间以逗号(,)隔开。下面举个例子。
class myClass
{
public :
myClass();// 构造函数,无返回类型,可以有参数列表,这里省去
~myClass();// 析构函数
int a;
const int b;
}
myClass::myClass():a(1),b(1)// 初始化列表
{
}
上面的例子展示了冒号的这个用法,下面对这个用法进行几点说明:
1)初始化列表的作用相当于在构造函数内进行相应成员变量的赋值,但两者是有差别的。
在初始化列表中是对变量进行初始化,而在构造函数内是进行赋值操作。两都的差别在对于像const类型数据的操作上表现得尤为明显。我们知道,const类型的变量必须在定义时进行初始化,而不能对const型的变量进行赋值,因此const类型的成员变量只能(而且必须)在初始化列表中进行初始化,即下面的代码将会出错:
myClass::myClass()
{
a = 1;// 没错,效果相当于在初始化列表中进行初始化
b = 1;// 出错,const变量不能进行赋值操作;
}
2)初始化的顺序与成员变量声名的顺序相同。
先看一下下面的程序:
myClass::myClass():b(1),a(b)
{
}
这样的执行结果a,b各是多少呢?b=1,a=1?不是,b=1而a是个随机数。这一点是相当重要的哦,一般在初始化列表中进行初始化时,初始化的顺序应与声明的顺序保持一致,防止出现不必要的错误。
3)对于继承的类来说,在初始化列表中也可以进行基类的初始化,初始化的顺序是先基类初始化,然后再根据该类自己的变量的声明顺序进行初始化。
范文五:JAVA语言中冒号的用法
author :aoyousatuo/傲游洒脱
from :http://blog.sina.com.cn/aoyousatuo
近来由于本人要介入android平台的开发,所以就买了本JAVA语言的书学习。学习一段时间来,我的感觉是谭浩强就是厉害,编写的《C编程语言》系列丛书不愧是经典。书中对C语言的介绍既系统又全面。几乎C语言规范的每一个技术细节都可以介绍到,而且全书给人的感觉就像做数学证明题,系统性很强。而反观JAVA语言方面的书籍,可能是本人看得不多,感觉介绍得都不全面,并且没有系统性,许多规范细节往往简单介绍一下,然后给个程序事例就草草结束了,让人不容易理解,更有些细节扎根就没有涉及到。这种感觉就像大学里的英语考试,我们总在稀里糊涂中通过或者挂掉。所以本人一度有自己也写一本类似谭教授C语言介绍一样的JAVA工具书的想法。(嘿嘿,这恐怕只是想法而已。)
书不一定能出,但在学习过程中收集研究一些细节知识我还是可以做到的。下面就简单介绍一下 JAVA语言中冒号的用法。
>用法1 :
用于问号表达式? 条件表达式 ?程序块1 :程序块2 ;
解释:如果条件表达式为真,则本程序语句执行程序块1,程序块1的值即为整个表达式的值, 否则为表达式2的值。
注意,java只有问号表达式,而没有问号语句,问号表达式加分号不能构成程序语句。
>用法2 :
用于开关语句(switch语句)的条件标签
switch(变量)
{
case value1 :
程序块 ;
case value2 :
程序块 ;
……
default :
程序块 ;
}
解释:程序从上到下判断每一个case后的value值是否和switch后的变量值是否相等,如果不相等则继续判断下一个case,否则从该case后程序块开始执行程序。如果所有case后的值都和变量的值不相等,如果有,则执行default后的程序块。
>用法3 :
用于continue语句的跳转标签
JAVA语句的continue 语句有些特殊,有两种用法 1. 不带标签2.带标签。不带标签的用法和C语言一样,表示循环语句中的程序执行到此不再执行后面的语句,而是直接执行下一次循环。而带标签的用法类似于C语言的goto语句,当程序执行到此处直接跳转到指定的标签处执行标签后的程序。
>用法4 :
用于循环中集合元素的遍历
for(元素变量 : 元素集合)
{
程序块 ;
}
解释:如果元素集合中所有元素都被遍历则结束此循环,否则执行程序块。
程序示例 :
import java.util.*;
public class sample {
private void print()
{
String[] str = {"*************************************",
"The sample show four usages of ':'",
"? 1. switch sentence", "? 2. ?condition",
"?3. continue skipping",
"? 4. element reach in the collection",
"*************************************"} ;
for(String e : str)
System.out.println(e) ;
}
publicstatic void main(String[] args)
{
Randomrand = new Random(10) ;
int val = 0 ;
boolean tmp = false ;
label :
for(int i = 0; i <>
{
switch(i)
{
case 0 :
case 1 :
case 2 :
System.out.println("for loop" + i + " ") ;
i++ ;
break ;
default :
System.out.println() ;
while(true)
{
val = rand.nextInt(10) ;
if(val > 5 ? true : false)
{
i = 10 ;
System.out.println() ;
continue label ;
}
System.out.println("[continue while loop]" + " val = " + val);
}
}
}
sample s = new sample() ;
s.print() ;
}
}
运行结果 :
forloop0
forloop1
forloop2
[continuewhile loop] val = 3
[continuewhile loop] val = 0
[continuewhile loop] val = 3
[continuewhile loop] val = 0
*************************************
The sampleshow four usages of ':'
1. switchsentence
2. ?condition
3. continueskipping
4. elementreach in the collection
*************************************
0,且a>