java基础--------java语法基础之语句
来源:互联网 发布:淘宝宝贝链接怎么缩短 编辑:程序博客网 时间:2024/05/17 04:00
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
java语句中的顺序结构,选择结构以及循环结构,三种结构的互相嵌套能够穷尽一切算法的事实,我在这里就不多赘述。下面我们直接正题:
第一:顺序结构
顺序结构是最容易的。就是按照从上到下的顺序依次实现。
<span style="font-size:14px;">int a=1;int b=3;int c=a+b;System.out.println(c);</span>
第二:选择结构
if语句、swithc语句
if语句有三种结构:在了解if语句的三种结构之前,我们需要了解if结构的构成。if是关键字,if后面的小括号里的内容,是if的判断表达式。如果括号内的判断表达式结果为true,就会执行紧紧接着的花括号里的内容。如果判断表达式的结果为false,就不执行花括号的内容。当然后面的花括号里如果只有一条语句的话,是可以省略的。如果有多条语句就不能省略。
第一种格式:if(){…………}这种情况的if只做一次判断,然后执行花括号的内容。
<span style="font-size:14px;">int a=2;if(a==2){System.out.println("我爱黑马");</span>
第二种格式:if(){…………}else{…………}。这一种格式相对第一种来说,多了一个else关键字。else在英语中是其余的意思。如果程序要执行else关键字后面的语句,就要满足if条件为false。因为只有if条件为false,按照顺序结构的流程,程序才能接下来执行else中的。else有一个潜在的隐含条件,就是否定其他的if条件。
int a=50;if(a>20){System.out.println(a);}else {System.out.println(a+1);}
第三种格式:f(){…………}else if(){…………}…………else{…………}第三种表达式可能被认为是最难的,因为这里的判断条件更多。而且第三种写法会有很多变体,需要考虑。else同样也是对前面多有条件的否定。比如
int a=20;if(a>10){System.out.println("我爱黑马");}if(a<10){System.out.println("我爱程序猿");}else{System.out.println("我就是爱黑马");}注意:这道题,就很有迷惑性,许多同学会想,这道题的输出只会有”我爱黑马“的四个字,因为第二个if判断的是(a<10);而else是对前面所有内容的否定,因此else的实际条件就是既不大于10,也不小于10,就是只有等于10的时候,才会输出”我就是爱黑马".但是真实的输出却是:
我爱黑马我就是爱黑马第一个if判断我们就不说了,因为是一定会打印的。而第二个输出语句,是因为else实际上否定的是其上面的一个if的判断条件(a<10).也就是说else的真实判断条件为(a>=10)。所以会输出这个结果。如果只想让其输出第一条语句,就可以再第二个if的前面加上else。也就是原代码改写为:
int a=20;if(a>10){System.out.println("我爱黑马");}else if(a<10){System.out.println("我爱程序猿");}else{System.out.println("我就是爱黑马");}
格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
格式解释说明:
switch:说明这是switch语句。
表达式:可以是byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是字符串
case:后面的值就是要和表达式进行比较的值
break:表示程序到这里中断,跳出switch语句
default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else
int x = 2,y=3;switch(x){default:y++;case 3:y++;break;case 4:y++;}System.out.println("y="+y);输出结果为:y=5;因为case都不满足,所以就走了default,但是default后面没有break;也就是没有结束,因此y++继续执行,直到遇到第一个break为止。
注意事项:
A: case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
B: default可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
特殊情况:
case就可以把值固定。
C: break可以可以省略,但是结果可能不是我们想要的。
会出现一个现象:case穿透。
D: default可以在任意位置。但是建议在最后。
E: switch语句的结束条件
a: 遇到break就结束了
b: 执行到末尾就结束了
if语句和switch语句各自的场景
A:if
针对boolean类型的判断
针对一个范围的判断
针对几个常量的判断
B:switch
针对几个常量的判断
for循环用途很多,比如当需要计算1到100之和的时候,就可以借助for循环。for循环最大的用处就是能够解决数组的遍历问题。这样能够让我们轻松获取需要的每个元素,并对其进行操作。对数组的遍历,当然还有其他方法,这里并不赘述。
第二种:while循环。while循环很简单while(){…………}。如果while后面的括号内的条件为true,就会执行方法体内容。这里也介绍一个死循环。
while(true){
<span style="white-space:pre"></span>System.out.println(我爱黑马死心塌地");
}有些同学在碰到死循环时,不知该如何结束程序,当然直接关闭控制台是一种,另一种就是ctrl+c,也可以让运行终止。while死循环也是比较常见的,因为在我们不知道需要循环几次的情况下,用for就比较麻烦,但是while就看起来很方便,只要不停的循环,等到需要我们想要的结果出现时,让那个结果做一个判断,如果满足,通过break关键字的使用,就可以轻易退出当前的while循环。
最后补充一下,用while与用for的场景。for循环一般用于知道要循环多少次,而while则是不知道要循环多少次。
/*while循环和for循环的区别?使用区别:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用for循环。 因为变量及早的从内存中消失,可以提高内存的使用效率。 其实还有一种场景的理解:如果是一个范围的,用for循环非常明确。如果是不明确要做多少次,用while循环较为合适。*/class WhileDemo {public static void main(String[] args) {//for循环实现for(int x=0; x<10; x++) {System.out.println("学习Java技术哪家强,中国北京找黑马");}//这里不能在继续访问了//System.out.println(x);//while循环实现int y = 0;while(y<10) {System.out.println("学习Java技术哪家强,中国北京找黑马");y++;}//这里是可以继续访问的System.out.println(y);}}
上面这个例子,就将while与for循环之间的特征表现出来了。
第三种循环 :do {循环体语句;}while(判断条件语句);
扩展格式:初始化语句;do {循环体语句;控制条件语句;}while(判断条件语句);
注意:
三种循环的区别:第一:do...while循环至少执行一次循环体,第二:for和while必须先判断条件是否是true,然后后才能决定是否执行循环体。
第四:控制跳转语句
break:用于switch语句及循环中。离开这些场景就无意义了。break跳出循环,是跳出单层循环。如果要跳多层循环,需要配合标签语句。
continue:用于循环中。表示此次循环到此为止,进行下一次循环。
return:用于结束方法,返回方法的结果。也可以用于控制循环。
- java基础--------java语法基础之语句
- Java语法基础之语句
- Java语法基础之for语句练习
- JAVA基础 之 语法基础
- Java基础之基础语法
- java基础之语法基础
- java基础语法循环语句
- java基础之语法
- Java之语法基础
- Java基础之语法
- Java基础之语法
- Java基础之语句
- Java基础之语句
- JAVA 之 java基础语法
- Java基础之二:Java语法基础
- day01--Java基础语法-Java分支语句
- day1-Java基础语法--Java循环语句
- Java语法基础之语句—for练习
- HDU 5104 - Primes Problem (枚举)
- 云网融合驱动数据中心技术聚变
- servlet3.0上传文件
- TableLayout(表格布局)
- 没有什么是一帆风顺的,发心工作即是如此
- java基础--------java语法基础之语句
- Hadoop技术博客
- 作为一个程序员,你的进步完全取决于你自己
- How to use SET in python
- 第十二周项目3-用递归的方法求解(汉诺塔)
- Java数据结构--跟着api学数据结构--arraylist
- EasyUI布局实战
- .y4m是什么格式?如何将.y4m转化成.yuv?
- 程序员的三行代码情书