首先在谈到java流程控制语句之前,我们必须要有一个认知:程序结构是什么样的?
首先在谈到java流程控制语句之前,我们必须要有一个认知:程序结构是什么样的?
程序的三种结构
顺序结构:自上而下地逐行执行代码。
————————>输入数据——————>处理数据——————>输出结果。
选择结构:根据逻辑判断代码的执行顺序.
if(条件表达式){
语句块1
}else {
语句块2
<pre class="java" name="code">class Example {
public static void main(String[] args) {
int a=1;
if(a==2){
System.out.println("a等于2");
}else{
System.out.println("a不等于2");
}
}
}
class aaa {
public static void main(String[] args) {
int a=1;
if(a==2){
System.out.println("a等于2");
}else{
System.out.println("a不等于2");
}
}
}
循环结构:根据逻辑重复执行某个代码块
三元运算符与if-else的区别
expression1? expression2 : expression3
布尔表达式,
expresion1为真,则expresion2被求值
expresion1为假,则expresion3被求值
class Example3_6 {
public static void main(String[] args) {
int x = 2;
int y;
//使用if-else语句来判断
if(x<0){
y=x;
}else{
y=-x;
}
System.out.println("使用if语句得到的y="+y);
y=x<0?x:-x;
System.out.println("使用三元运算符得到的y="+y);
}
}
if-else内部嵌套
if(条件表达式){
语句块1
}else{
语句块2
}
if(条件表达式){
if(条件表达式){
语句块1
}else{
语句块2
}
}else{
if(条件表达式){
语句块1
}else{
语句块2
}
}
if-else内部嵌套
class Example3_9 {
public static void main(String[] args) {
//定义年龄变量
int age = 4;
if(age<18){//当年龄在18岁以下时执行
System.out.println("未成年");
}else{//年龄大于8岁进入else。
if(age>=18 && age<35){//当年龄在18~35之间时执行
System.out.println(“成年");
}else{
if(age>=35 && age<55){//当年龄在35~55之间时执行
System.out.println(“中年");
}else{
System.out.println("老年");
}
}
}
}
}
if-else多级嵌套
if(条件表达式){
语句块1
}else if(条件表达式){
语句块2
}else{
语句块3
}
class Example3_7 {
public static void main(String[] args) {
//定义年龄变量
int age = 4;
if(age<18){//当年龄在18岁以下时执行
System.out.println("未成年");
}else if(age>=18 && age<35){//当年龄在18~35之间时执行
System.out.println(“成年");
}else if(age>=35 && age<55){ //当年龄在35~55之间时执行
System.out.println(“中年");
}else{//当年龄大于55时
System.out.println("老年");
}
}
}
switch-case语句
switch (表达式)
{
case 取值1: 语句块1;
break;
case 取值2 : 语句块2;
break;
........
default : 语句块n;
}
表达式必须为byte、short、int或char类型
在表达式可以得出多个值的情况下,使用switch-case语句会带来更好的效果
default: 语句块n 可选,用于匹配所有case定义的以外的值
与if-else比较,switch-case的优点在于
可以利用switch的开关功能来实现批处理
增加了代码的可读性
使代码更容易编写
性能更高
循环结构:
while循环
while(条件表达式){
循环体
}
只要表达式为true,就一直执行循环体
int counter=1;
int sum=0;
while (counter<=100){
sum=sum+counter;
++counter;
}
System.out.println("1+2+......+100="+sum);
do-while语句
for循环
for(initialization; condition; iteration) {
循环体
} <span style="color:black;">initialization:<span style="color:black;">最先执行,仅被执行一次</span></span>
<span style="color:black;">condition</span>:必须是布尔表达式
<span style="color:black;">iteration</span>:增加或减少循环变量的一个表达式
<pre class="java" name="code">int sum=0;
for(int i=0;i<=10;i++){
sum=sum+i;
}
System.out.println("1+2+......+10="+sum);
1)给i赋值
(2)判断i<10
(3)执行循环体
(4)i++
(5)回到步骤(2)
<pre class="java" name="code">int i, j;
for (i = 0; i < 10; i++) {
for (j = i; j < 10; j++){
System.out.print(“*”);
}
System.out.println();
}