java基础学习Day06-流程控制
作者:互联网
一.顺序结构
-
java基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行
-
顺序结构是最简单的算法结构
-
语句和语句之间,框和框之间按从上到下的顺序进行的,他由若干个依次执行的处理步骤组成的,是任何一个算法都离不开的一种基本算法结构。
public static void main(String[] args) { System.out.println("1d"); System.out.println("2d"); System.out.println("3d"); System.out.println("4d"); }
二.选择结构
-
if单选泽结构:
-
判断一个东西是否可行,可行则执行,不可行则跳过,我们使用if语句来实现
-
语法:
if (布尔表达式){ //布尔表达式为true则执行的语句 }
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("please enter words:"); String i = scanner.nextLine(); if (i.equals("hello")){ System.out.println(i); } System.out.println("end");//不论是否都会执行 }
-
-
if双选择结构
-
需要两个判断,可行一种做法,不可行另一种做法
-
语法
if (布尔表达式1){ //若布尔表达式的值为true则执行该语句 }else{ //若布尔表达式的值为false则执行该语句 }
public static void main(String[] args) { Scanner scanner =new Scanner(System.in); System.out.println("请输入分数为:"); //分数是否及格,大于等于60为及格,小于60不及格 int i =scanner.nextInt(); if (i>=60){ System.out.println("及格"); }else{ System.out.println("不及格"); } scanner.close(); }
-
-
if多选择结构
-
通常真实情况下,我们需要多种情况需要判断,例如成绩的a,b,c,d,等级,我们就需要使用多选择结构
-
语法
if (布尔表达式1){ //若布尔表达式1的值为true则执行该语句 }else if(布尔表达式2){ //若布尔表达式2的值为true则执行该语句 }else if(布尔表达式3){ //若布尔表达式3的值为true则执行该语句 }else{ //如果以上布尔表达式都不为true则执行该语句 }
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("please enter score:"); int score = scanner.nextInt(); if (score==100){ System.out.println("awsome!"); }else if(score>=80 && score<100){ System.out.println("great!"); }else if(score>=60 && score<80){ System.out.println("not bad!"); }else if(score<60){ System.out.println("pity!"); }else{ System.out.println("error"); } }
-
-
switch多选择结构(switch,case,)
-
switch,case语句判断一个变量与一系列值中的某个值是否相等,每个值称为一个分支。
-
switch语句中的变量类型可以是
- byte,short,int,或者char
- 从javaSE7开始
- switch支持字符串和String类型了
- 同是case标签必须为字符串常量或者字面量。
-
语法
switch(expression){ case value: //语句 break;//可选 case value: //语句 break;//可选 ..... default://可选 //语句 }
public static void main(String[] args) { char grade = 'C'; //case穿透:使用break终止case匹配,若不使用break,下面的语句也会被执行 switch (grade){ case 'A': System.out.println("wonderful"); break; case 'B': System.out.println("great"); break; case 'C': System.out.println("nice"); break; case 'D': System.out.println("not bad"); break; default: System.out.println("unknow"); } }
java文件
IDEA反编译文件,使用hashcode保存键值
-
三.循环结构
- while循环
- do...while循环
- for循环
- 在java5中引入了一种主要用于数组的增强型for循环
-
while循环:
-
while是最基本的循环,它的结构为
while (布尔表达式){ //循环内容 }
-
只要布尔表达式为true,他就会一直循环下去
-
我们大部分情况是会让循环停止的,我们需要一个让表达式失效的方式来结束循环
-
少部分情况需要循环一直执行,比如服务器的请求响应监听
-
循环条件一直为true,就会形成死循环,正常业务中应当避免这种情况
-
Q:累加计算
public class whileDemo03 { public static void main(String[] args) { int i = 0; int sum = 0; while (i<=100){ sum = sum + i; i++; } System.out.println(sum); } }
-
-
do...while循环
-
对于while循环来说,如果不满足条件,则不能进入循环。但是有时候我们需要即使不满足条件,也至少执行一次
-
do...while和while相似,不同的是do...while至少会执行一次
do { //code }while (布尔表达式);
-
while和do...while区别:
- while是先判断后执行,do...while是先执行后判断
- do...while保证循环体至少会执行一次
public static void main(String[] args) { int a = 0; while(a<0){ System.out.println(a); a++; } System.out.println("==========================="); do{ System.out.println(a); a++; }while(a<0); }//分割线下方输出a=0;,dowhile语句执行了一次
-
-
for语句
-
for循环提供了一种更简单的循环结构
-
for循环是一种支持迭代的通用结构,是最有效,最灵活的循环结构
-
for循环的执行次数是在循环开始之前就决定好的,语法如下
for (初始化;布尔表达式;更新){ //代码语句 }
public static void main(String[] args) { int i = 0;//初始化条件 while (i<=10){//条件判断 System.out.println(i);//循环体 i+=2;//迭代 } System.out.println("================分割线================="); //初始化;条件判断;迭代 for (int a=0;a<10;a+=2){ System.out.println(a); } } //死循环 for (; ; ) { }
-
打印99乘法表
public static void main(String[] args) { for (int i = 1; i < 10; i++) { for (int j = 1; j <=i; j++) { System.out.print(i + "*" + "j" + "=" + i*j +" "); if (i == j){ System.out.println(); } } } }
-
四.增强for循环
-
java5引入了一种主要用于数组或集合的增强型for循环
-
java增强for循环格式如下:
for (声明语句 : 表达式) { //代码句子 }
-
声明语句:声明新的局部变量,该变量的类型必须与数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素值相等。
-
表达式:表达式是要访问的数组名,或者返回值为数组的方法。
public class ForDemo05 { public static void main(String[] args) { int[] numbers = {10,20,30,40,50};//定义一个数组 //for循环遍历数组,把numbers的值赋值给x输出 for (int x:numbers){ System.out.println(x); } } }
五.break和continue
-
break在任何循环的主体部分,均可使用break来控制循环的流程。break用于强行退出循环,不执行循环中的剩余的语句。
-
continue语句用于再循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
public class ContinueDemo { public static void main(String[] args) { int i = 0; while (i<20){ System.out.print(i + " "); i++; if (i%3==0){ System.out.println(" "); continue;//跳出当前循环,回到上层循环 } } } }
public class BreakDemo { public static void main(String[] args) { int i = 0; while (i<10){ System.out.println(i); i++; if (i==5){ break;//跳出全部循环 } } } }
-
goto关键字
- goto是java的一个保留字,但并未正式使用,java没有goto,
- 标签:指后面跟一个冒号的标识符,例如:label:
- 对于java唯一用到标签的地方是在循环语句之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一层循环,与break,continue一起使用可以中断到标签的位置。
-
打印一个三角形
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 5; j >= i; j--) {
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
for (int j = 1; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
标签:语句,java,流程,Day06,System,while,循环,println,out 来源: https://www.cnblogs.com/workplace-blog/p/16137914.html