笔记整理——流程控制语句
在Java代码块中程序默认是顺序结构:
Java编写的程序一簇被执行。
一:if条件语句
if条件语句主要用于告知程序当中一个条件成立的时候,执行满足该条件的相关语句。
①: if语句(单一条件)
if(表达式){执行语句块}
如果表达式的值是true,则执行花括号里面的内容后,在执行后面的语句。
如果表达式的值是false,则直接执行后面的内容。
下面展示一下 a是true的情况
。
package helloworld;
public class HelloJava {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=2;
if(a>0) {
System.out.println(a);
}
}
}
a输出的结果是2.
a是false的情况
。
package helloworld;
public class HelloJava {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=0;
if(a>0) {
System.out.println(a);
}
}
}
```java
在这里插入代码片
控制台无输出
②if…else (二选一)
if(表达式){执行语句块1} else {执行语句块2};
if…else的作用:针对某种条件有选择的做出处理。
在if…else语句中,如果表达式的判断条件为true的话,那么则执行语句块1,如果表达式为false的话,则执行c。
下面展示一下 a是true的情况
。
package helloworld;
public class HelloJava {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i=2;
if(i>1) {
i++;
}else {
i--;
}
System.out.println(i);
}
}
i的输出结果为3;在这个条件语句中 ,i的值是2,i是大于1的,所以直接执行i++即可,然后输出结果。
a是false的情况
。
package helloworld;
public class HelloJava {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i=2;
if(i>2) {
i++;
}else {
i--;
}
System.out.println(i);
}
}
a的输出结果为1;在这个条件语句中,i=2;在if中i>2为false那么则不执行它的语句块,去执行else里面的语句块。
③if…else…if条件语句
if(表达式1)
{执行语句块1
}else if(表达式2){、
执行语句块2
}else{
执行语句块3
}
如果满足某一个条件,就采用与该条件对应的处理方法;如果满足另一个条i按,则采用另一个与条件对应的处理方法。
package helloworld;
import java.util.Scanner;
public class HelloJava {
public static void main(String[] args) {
// TODO Auto-generated method stub
//判断成绩 高于85的为成绩优秀,低于60的为不及格,其它的良好。
Scanner sc = new Scanner(System.in); //控制台输入
int n = sc.nextInt();
if(n<60) {
System.out.println("成绩不及格");
}else if(n>=85) {
System.out.println("成绩优秀");
}else{
System.out.println("成绩良好");
}
}
}
二:switch条件语句
switch 的语句特点:
①表达式的值只可以接受四个基本数据类型和对应包装类(int,byte,short,char),String型,枚举型,不接受其它类型的值。(表达式的值接受String类型旨在JDK7及以后的版本有效)。
②case的值不能重复,case中指定的值数据类型要和switch中的一致。
③switch的值遇到第一个break就结束,如果没有遇到break就会继续往下执行
④default的值一定是最后不满足其它的条件才会执行的
switch的语法:
switch(表达式){
case 取值1:
语句块1;
break;
…
case 取值n:
语句块n;
break;
default
语句块n+1;
}
package helloworld;
import java.util.Scanner;
public class HelloJava {
public static void main(String[] args) {
// TODO Auto-generated method stub
//对控制台输入月份的天数进行输出;
Scanner sc = new Scanner(System.in);
int i= sc.nextInt();
switch(i) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println(i+"月有31天");
break;
case 2:
System.out.println(i+"月有28天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println(i+"月有30天");
break;
default:
System.out.println("没有该月份");
}
}
}
三:循环语句
while
语法格式:while(条件表达式){执行语句块}
package helloworld;
public class HelloJava {
public static void main(String[] args) {
// TODO Auto-generated method stub
//计算1+2+3...+100的和;
int i=1;
int sum=0;
while (i<=100) {
sum+=i;
i++;
}
System.out.println("1到100的和为"+sum);
}
}
package helloworld;
public class HelloJava {
public static void main(String[] args) {
// TODO Auto-generated method stub
//计算1+2+3...+100所有奇数的和;
int i=1;
int sum=0;
while (i<=100) {
sum+=i;
i=i+2;
}
System.out.println("1到100的奇数和为"+sum);
}
}
package helloworld;
public class HelloJava {
public static void main(String[] args) {
// TODO Auto-generated method stub
//计算1+2+3...+100所有偶数的和;
int i=1;
int sum=0;
while (i<=100) {
if(i%2==0) {
sum+=i;
}
i++;
}
System.out.println("1到100的偶数和为"+sum);
}
}
这里偶数比较特别你还需要去判断这个数对二取余是否为0,是的话就让它执行sum+=i;sum+=i就是sum=sum+i;
do…while循环语句
语法格式:do{执行语句块}while(条件表达式);
package helloworld;
public class HelloJava {
public static void main(String[] args) {
// TODO Auto-generated method stub
//计算1+2+3...+100所有的和;(do...while)
int i =1;
int sum =0;
do {
sum+=i;
i++;
}while(i<=100);
System.out.println("所有的和为"+sum);
}
}
for 循环
语法格式:for(初始表达式,循环条件表达式,循环后的操作表达式){执行语句块}
package helloworld;
public class HelloJava {
public static void main(String[] args) {
// TODO Auto-generated method stub
//计算1+2+3...+100所有的奇数和;
int sum=0;
for (int i=0; i<=100; i++) {
sum+=i;
}
System.out.println("所有的和为"+sum);
}
}
package helloworld;
public class HelloJava {
public static void main(String[] args) {
// TODO Auto-generated method stub
//计算1+2+3...+100所有的偶数和;
int sum=0;
for (int i=0; i<=100; i++) {
if(i%2==0) {
sum+=i;
}
}
System.out.println("所有的和为"+sum);
}
}
控制台输入
**使用控制台输入,必须加入代码
①import Java.unit.Scanner;
②该代码必须在package下一行;
③如果没有package,可在第一行;
**
new Scanner(System.in).nextInt():得到用户输入的整数;
new Scanner(System.in).nextDouble():得到用户输入的浮点数;
new Scanner(System.in).next():得到用户输入的字符串,空格结束;
new Scanner(System.in).nextLine();得到用户输入的字符串,换行结束;
产生随机数
随机数:在产生过程中是按照分布概率随机产生的,其结果是不可预测的。
**使用随机数,需要加入代码
①import Java.unit.Random;
②该代码必须在package下一行;
③如果没有package,可在第一行;
④多行import可以依次编写,import代码没有必须顺序;
**
**产生随机数的代码
new Random().nextInt(正整数);括号里的正整数是代表随机数的范围。如果数字为10,就代表产出0-9之间的随机整数;
产生1-10之间的随机整数:
new Random.nextInt(10)+1;
**