顺序结构:
<a href="https://www.jb51.cc/tag/fenlei/" target="_blank" class="keywords">分类</a>:
顺序结构
选择结构
循环结构
顺序结构:
从上往下,依次执行。
<span style="color: #008000;">*/<span style="color: #0000ff;">class<span style="color: #000000;"> ShunXuJieGouDemo {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
System.out.println("程序开始了"<span style="color: #000000;">);
System.out.println(</span>"我爱Java"<span style="color: #000000;">);
System.out.println(</span>"程序结束了"<span style="color: #000000;">);
}
}
if语句
(1
执行流程:
判断比较表达式的值,看是true还是false
如果是true,就执行语句体
如果是false,就不执行语句体
B:格式2
</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(比较表达式) {
语句体1;
}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"> {
语句体2;
}
执行流程:
判断比较表达式的值,看是true还是false
如果是true,就执行语句体1
如果是false,就执行语句体2
C:格式3
</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(比较表达式1) {
语句体1;
}</span><span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span><span style="color: #000000;">(比较表达式2){
语句体2;
}
...
</span><span style="color: #0000ff;">else</span><span style="color: #000000;"> {
语句体n</span>+1<span style="color: #000000;">;
}
执行流程:
判断比较表达式1的值,看是true还是false
如果是true,就执行语句体1
如果是false,就继续判断比较表达式2的值,看是true还是false
如果是true,就执行语句体2
如果是false,就继续判断比较表达式3的值,看是true还是false
...
如果都不满足,就执行语句体n</span>+1<span style="color: #000000;">
(</span>2<span style="color: #000000;">)注意事项
A<span style="color: #ff0000;">:比较表达式无论简单还是复杂,结果是boolean类型</span>
B:if语句控制的语句体如果是一条语句,是可以省略大括号的;如果是多条,不能省略。
<span style="color: #ff0000;">建议:永远不要省略大括号。</span>
C:一般来说,有左大括号,就没有分号,有分号,就没有左大括号。
D:else后面如果没有if,是不会出现比较表达式的。
<span style="color: #ff0000;">E:三种if语句其实都是一个语句,只要有一个执行,其他的就不再执行。</span>
(</span>3<span style="color: #000000;">)案例:
A:比较两个数是否相等
B:<a href="https://www.jb51.cc/tag/huoqu/" target="_blank" class="keywords">获取</a>两个数中的最大值
C:<a href="https://www.jb51.cc/tag/huoqu/" target="_blank" class="keywords">获取</a>三个数中的最大值(if语句的嵌套)
D:根据成绩<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" class="keywords">输出</a>对应的等级
E:根据月份,<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" class="keywords">输出</a>对应的季节
F:根据x计算对应y的值并<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" class="keywords">输出</a>
(</span>4<span style="color: #000000;">)三元运算符和if语句第二种格式的关系
所有的三元运算符能够实现的,if语句的第二种格式都能实现。
反之不成立。
如果if语句第二种格式控制的语句体是<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" class="keywords">输出</a>语句,就不可以。
因为三元运算符是一个运算符,必须要有一个结果返回,不能是一个<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" class="keywords">输出</a>语句。</span></pre>
if语句注意事项
C:一般来说:有左大括号就没有分号,有分号就没有左大括号
x = 10
System.out.println("over"<span style="color: #000000;">);
}
}
}
</span><span style="color: #0000ff;">if</span>(x == 10<span style="color: #000000;">) {
System.out.println(</span>"x等于10"<span style="color: #000000;">);
}
</span><span style="color: #0000ff;">if</span>((x > 5) || (x == 10<span style="color: #000000;">)) {
System.out.println(</span>"x大于或者等于10"<span style="color: #000000;">);
}
System.out.println(</span>"-------------------"<span style="color: #000000;">);
</span><span style="color: #0000ff;">int</span> a = 100<span style="color: #000000;">;
</span><span style="color: #008000;">/*</span><span style="color: #008000;">
if(a == 100) {
System.out.println("a的值是100");
}
</span><span style="color: #008000;">*/</span>
<span style="color: #0000ff;">if</span>(a != 100<span style="color: #000000;">) {
System.out.println(</span>"a的值是100"<span style="color: #000000;">);
System.out.println(</span>"over"<span style="color: #000000;">);
}
System.out.println(</span>"-------------------"<span style="color: #000000;">);
</span><span style="color: #0000ff;">int</span> b = 100<span style="color: #000000;">;
</span><span style="color: #0000ff;">if</span>(b != 100); <span style="color: #ff0000;">//这里其实是有语句体的,只不过是空语句体。
</span><span style="color: #008000;">//</span><span style="color: #008000;"><a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>块</span>
<span style="color: #000000;"> {
System.out.println(
System.out.println("over"<span style="color: #000000;">);
}
}
}
三元运算符合if语句的区别
效果。
所以,我们就认为他们可以完成一样的操作。
但是,他们就一点区别没有吗?肯定不是。
<span style="color: #0000ff;">class<span style="color: #000000;"> IfDemo4 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">获取两个数据的最大值
<span style="color: #0000ff;">int a = 10<span style="color: #000000;">;
<span style="color: #0000ff;">int b = 20<span style="color: #000000;">;
<span style="color: #ff0000;">区别:
三元运算符实现的,都可以采用if语句实现。反之不成立。
什么时候if语句实现不能用三元改进呢?
当if语句控制的操作是一个<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" class="keywords">输出</a>语句的时候就不能。
为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" class="keywords">输出</a>。
<span style="color: #008000;">*/<span style="color: #0000ff;">class<span style="color: #000000;"> IfDemo4 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">获取两个数据的最大值
<span style="color: #0000ff;">int a = 10<span style="color: #000000;">;
<span style="color: #0000ff;">int b = 20<span style="color: #000000;">;
</span><span style="color: #008000;">//</span><span style="color: #008000;">用if语句实现</span>
<span style="color: #0000ff;">int</span><span style="color: #000000;"> max1;
</span><span style="color: #0000ff;">if</span>(a ><span style="color: #000000;"> b) {
max1 </span>=<span style="color: #000000;"> a;
}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"> {
max1 </span>=<span style="color: #000000;"> b;
}
System.out.println(</span>"max1:"+<span style="color: #000000;">max1);
</span><span style="color: #008000;">//</span><span style="color: #008000;">用三元改进</span>
<span style="color: #0000ff;">int</span> max2 = (a > b)?<span style="color: #000000;"> a: b;
System.out.println(</span>"max2:"+<span style="color: #000000;">max2);
System.out.println(</span>"----------"<span style="color: #000000;">);
</span><span style="color: #008000;">//</span><span style="color: #008000;">判断一个数据是奇数还是偶数,并<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" class="keywords">输出</a>是奇数还是偶数</span>
<span style="color: #0000ff;">int</span> x = 100<span style="color: #000000;">;
</span><span style="color: #0000ff;">if</span>(x%2 == 0<span style="color: #000000;">) {
System.out.println(</span>"100是一个偶数"<span style="color: #000000;">);
}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"> {
System.out.println(</span>"100是一个奇数"<span style="color: #000000;">);
}
</span><span style="color: #008000;">//</span><span style="color: #008000;">用三元改进
</span><span style="color: #ff0000;">//这种改进是<a href="https://www.jb51.cc/tag/cuowu/" target="_blank" class="keywords">错误</a>的。因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" class="keywords">输出</a>。</span></pre>
if语句需要考虑正确数据,错误数据,边界数据。
执行流程:
首先计算比较表达式1看其返回值是true还是false,
如果是true,就执行语句体1,if语句结束。
如果是false,接着计算比较表达式2看其返回值是true还是false,
如果是true,就执行语句体2,if语句结束。
如果是false,接着计算比较表达式3看其返回值是true还是false,
...
如果都是false,就执行语句体n+1。
<span style="color: #008000;">*/<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.Scanner;
<span style="color: #0000ff;">class<span style="color: #000000;"> IfDemo5 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">需求:键盘录入一个成绩,判断并输出成绩的等级。
<span style="color: #008000;">/<span style="color: #008000;">
90-100 优秀
80-90 好
70-80 良
60-70 及格
0-60 不及格
<span style="color: #008000;">/
<span style="color: #008000;">//</span><span style="color: #008000;">创建<a href="https://www.jb51.cc/tag/jianpan/" target="_blank" class="keywords">键盘</a>录入对象</span>
Scanner sc = <span style="color: #0000ff;">new</span><span style="color: #000000;"> Scanner(System.in);
</span><span style="color: #008000;">//</span><span style="color: #008000;">录入数据</span>
System.out.println("请输入你的考试成绩:"<span style="color: #000000;">);
</span><span style="color: #0000ff;">int</span> <a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a> =<span style="color: #000000;"> sc.nextInt();
</span><span style="color: #008000;">/*</span><span style="color: #008000;">
if(score>=90 && <a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a><=100) {
System.out.println("优秀");
}else if(score>=80 && <a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a><90) {
System.out.println("好");
}else if(score>=70 && <a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a><80) {
System.out.println("良");
}else if(score>=60 && <a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a><70) {
System.out.println("及格");
}else {
System.out.println("不及格");
}
</span><span style="color: #008000;">*/</span>
<span style="color: #008000;">//</span><span style="color: #008000;">这样写已经满足我的基本要求,但是可能别人在使用的时候,不会按照你要求的数据给出了。
</span><span style="color: #ff0000;">//在做一个程序的基本测试的时候,一定要考虑这样的几个问题:
//正确数据,<a href="https://www.jb51.cc/tag/cuowu/" target="_blank" class="keywords">错误</a>数据,边界数据。
//而我们刚才写的程序并没有处理<a href="https://www.jb51.cc/tag/cuowu/" target="_blank" class="keywords">错误</a>数据,所以这个程序不是很好,要改进</span>
<span style="color: #008000;">/*</span><span style="color: #008000;">
if(score>=90 && <a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a><=100) {
System.out.println("优秀");
}else if(score>=80 && <a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a><90) {
System.out.println("好");
}else if(score>=70 && <a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a><80) {
System.out.println("良");
}else if(score>=60 && <a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a><70) {
System.out.println("及格");
}else if(score>=0 && <a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a><60){
System.out.println("不及格");
<span style="color: #ff0000;">}else {
System.out.println("你输入的成绩有误");
}
</span></span><span style="color: #008000;">*/</span>
<span style="color: #ff0000;"> //另一种判断改进</span>
<span style="color: #0000ff;">if</span>(<a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a><0 || score>100<span style="color: #000000;">) {
System.out.println(</span>"你输入的成绩有误"<span style="color: #000000;">);
}</span><span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span>(<a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a>>=90 && <a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a><=100<span style="color: #000000;">) {
System.out.println(</span>"优秀"<span style="color: #000000;">);
}</span><span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span>(<a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a>>=80 && <a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a><90<span style="color: #000000;">) {
System.out.println(</span>"好"<span style="color: #000000;">);
}</span><span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span>(<a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a>>=70 && <a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a><80<span style="color: #000000;">) {
System.out.println(</span>"良"<span style="color: #000000;">);
}</span><span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span>(<a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a>>=60 && <a href="https://www.jb51.cc/tag/score/" target="_blank" class="keywords">score</a><70<span style="color: #000000;">) {
System.out.println(</span>"及格"<span style="color: #000000;">);
}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"> {
System.out.println(</span>"不及格"<span style="color: #000000;">);
}
}
}
原文链接:https://www.f2er.com/java/403358.html