java什么是复合语句 java中switch语句
大家好,如果您还对java什么是复合语句不太了解,没有关系,今天就由本站为大家分享java什么是复合语句的知识,包括java中switch语句的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
java中switch语句
switch语句的格式:
switch(整型或字符型变量)
{
case变量可能值1:
分支一;
break;
case变量可能值2:
分支二;
break;
case变量可能值3:
分支三;
break;
...
default:
最后分支;
}
在 switch的语法里,我们要学到4个关键字:switch、case、break、default。
在switch(变量)这一行里,变量只能是整型或字符型。程序先读出这个变量的值,然后在各个"case"里查找哪个值和这个变量相等,如果相等,就算条件成立,程序执行相应的分支,直到碰上break或者switch语句结束。
了解一下switch,case,break,default的意思,对理解前面的一切也会有帮助,它们分别是:开关,情况,中断,默认(值)。那么用一句话套起来的说法就是:根据开关值的不同,执行不同的情况,直到遇上中断;如果所有的情况都不符合开关值,那么就执行默认的分支。
最后说一下关于switch中非常重要的几个注意点。
第一、switch(整型或字符型变量)中,变量的类型如文中所标,只能是整型和字符类型。它们包含 int,char。当然无符类型或不同的长度整型(unsigned int,short,unsigned char)等都可以。另外,枚举类型(enum)内部也是由整型或字符类型实现。所以也可以。实型(浮点型)数就不行,如:
float a= 0.123;
switch(a)//错误!a不是整型或字符类型变量。
{
....
}
第二、case之后可以是直接的常量数值,如例中的1、2、3、4,也可以是一个使用常量计算式,如2+2等,但不能是变量或带有变量的表达式,如 a* 2等。当然也不能是实型数,如4.1,或2.0/ 2等。
switch(formWay)
{
case 2-1://正确
...
case a-2://错误
...
case 2.0://错误
...
}
另外,在case与常量值之后,需要一个冒号,请注意不要疏忽。
第三、break的作用。
break使得程序在执行完选中的分支后,可以跳出整个switch语句(即跳到switch接的一对{}之后),完成switch。如果没有这个break,程序将在继续前进到下一分支,直到遇到后面的break或者switch完成。
比如,假设现在程序进入case 1:中的分支,但case 1的分支这回没有加break:
case 1:
System.out.println("您是通过搜索引擎来到本网站的。");
case 2:
System.out.println("您是通过朋友介绍来到本网站的。");
那么,程序在输出"您是通过搜索引擎来到本网站的。"之后,会继续输出case 2中的"您是通过朋友介绍来到本网站的。"。
请大家将前面实例中的代码片段改为如下(红色部分,即将所有的break都通过加//使之无效。):
...
case 1:
System.out.println("您是通过搜索引擎来到本网站的。");
//break;
case 2:
System.out.println("您是通过朋友介绍来到本网站的。");
//break;
case 3:
System.out.println("您是通过报刊杂志来到本网站的。");
//break;
case 4:
System.out.println("您是通过其它方法来到本网站的。");
//break;
default:
System.out.println("错误的选择!请输入1~4的数字做出选择。");
...
运行后,结果会是如何?请大家动手试试,然后在作业中回答我。
第四、default是可选中,前面我们已经说过它的用处,及如果没有default,程序在找不到匹配的case分支后,将在switch语句范围内不做什么事,直接完成switch。大家也可以在实例中将default的代码注释掉,然后试运行,并且在选择时输入5。
...
//default:
//cout<<"错误的选择!请输入1~4的数字做出选择。"<< endl;
...
第五、必要时,可在各个case中使用{}来明确产生独立的复合语句。
前面我们在讲if...语句和其它流程控制语句时,都使用{}来产生复合语句:
if(条件)
{
分支一;
}
除非在分支中的语句正好只有一句,这里可以不需要花括号{}。但在switch的各个case语句里,我们在语法格式上就没有标出要使用{},请看:
switch(整型或字符型变量)
{
case变量可能值1:
分支一;
break;
case变量可能值2:
....
}
一般教科书上只是说 case分支可以不使用{},但这里我想提醒大家,并不是任何情况下case分支都可以不加{},比如你想在某个case里定义一个变量:
switch(formWay)
{
case 1:
int a=2;//错误。由于case不明确的范围,编译器无法在此处定义一个变量。
...
case 2:
...
}
在这种情况下,加上{}可以解决问题。
switch(formWay)
{
case 1:
{
int a=2;//正确,变量a被明确限定在当前{}范围内。
...
}
case 2:
...
}
java语句具有空体是什么意思
语句编写方式
在 Java中,语句是最小的组成单位,每个语句必须使用分号作为结束符。除此之外,Java对语句无任何其他限制,开发人员可以很随意地用符合自己风格的方式编写语句。
例如,可以将一个语句放在多行中,示例如下:
String str="Apple"
+"Banner"+"Pear"
+" Orange";
由于 Java使用分号作为语句的结束符,所以上面的 3行代码会被 Java认为是一条语句,因为这 3行中只有一个分号。但是,我们不推荐使用这种方式来编写语句。
同样,因为使用分号作为分隔符,将多个语句放在一行来编写也是允许的。例如,下面的示例代码也是正确的。
int a=0,b,c;b=a+10;b++;c=a*b;System.out.println(c);
上面将 5个语句放在一行中。
为了使程序语句排列得更加美观、容易阅读和排除错误,一般使用如下规则格式化源代码。
在一行内只写一个语句,并采用空格、空行来保证语句容易阅读。
在每个复合语句内使用 Tab键向右缩进。
大括号总是放在单独的一行,便于检查是否匹配。
空语句
所谓空语句(Empty Statement),它在程序中什么都不做,也不包含具有实际性的语句。在程序中,空语句主要用来作为空循环体。
空语句的语法格式如下:
;//其实就是一个分号
执行一个空语句就是将控制转到该语句的结束点。这样,如果空语句是可到达的,则空语句的结束点也是可到达的。
表达式语句
在很多的高级语言中,有专门的赋值语句。而在 Java中将赋值作为一个运算符,因此只有赋值表达式。在赋值表达式后面添加分号就成了独立的语句。
以下是一些表达式的示例语句:
3.1415926;
(a+b)/2;
x*y*z-y+(20-x);
这些表达式能够被 Java编译器识别,但是由于没有对程序进行任何操作,因此无任何意义。
一般表达式语句应该能完成一个操作,如修改变量的值或者作为函数参数等。具体方法是,在表达式的左侧指定一个变量来存储表达式的值,或者将表达式传递给函数。
以下是修改后的表达式语句:
pi= 3.1415926;
output(pi);//将pi的值传递到output()函数中作为参数
sum=(a+b)/2;
printf("%f",sum);//将sum的值传递到printf()函数输出
temp= x*y*z-y+(20-x);//将表达式的值保存到temp变量中
复合语句
复合语句又称为语句块,是很多个语句的组合,从而可以将多个语句看作单个语句。
复合语句的语法格式如下:
{
statement-list//语句列表
}
可以看到由一个扩在大括号内的可选 statement-list组成。statement-list是由一个或者多个语句组成的列表,如果不存在 statement-list,则称该语句块是空的。
它的执行规则如下:
如果语句块是空的,控制转到语句块的结束点。
如果语句块不是空的,控制转到语句列表。当控制到达语句列表的结束点时,控制转到语句的结束点。
例 1
创建一个语句块,该语句块包含 3条语句。
{
width= 10;//为width变量赋值
height= 90;//为height变量赋值
area= width* height;//计算width变量和height变量的乘积
}
上述代码执行后,sum变量的值为 900。上述的语句块中大括号内包含了 3条语句。第一条语句为 width变量赋值,第二条语句为 height变量赋值,第三条语句则将 width和 height相乘,结果保存在 sum变量中。
什么是逻辑运算符
逻辑运算符用来表示日常交流中的“并且”,“或者”,“除非”等思想。
逻辑运算符:在形式逻辑中,逻辑运算符或逻辑连接词将语句连接成更复杂的语句。例如,假设有两个逻辑命题,即“下雨了”和“我在屋里”。可以把它们变成复杂的命题:“下雨了,我在屋里”或“没下雨”或“如果下雨了,我在屋里”。由两个语句组成的新语句或命题称为复合语句或复合命题。“与”和“或”有两种不同形式运算符的原因是它们运算的优先级不同。运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。
扩展资料:
逻辑运算符&(并且),|(或者),!(非), ^(异或),&&(短路与),||(短路或)之间的关系:
&(并且)有false则false
|(或者)有true则true。
!(非)非false则true,非true则false
^(异或)相同为false,不同为true
&&(短路与)有false则false,若&&左边表达式或者值为false则右边不进行计算
||(短路或)有true则true,若||左边表达式或者值为true则右边不进行计算
参考资料来源:百度百科-逻辑运算符
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!