1.流程控制
例题代码运行结果如下
2.if条件语句
3.if....else if 多分支语句用于针对某一件事件的多种情况进行处理。
示例如下
4. Switch多分支语句
示例流程图
示例代码结果如下
4.循环语句
while(条件表达式){
语句序列
}
例4.5:
public class liti4_5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int x = 1; //定义一个int型变量x赋值1
int sum = 0; //定义一个int型变量sum赋值0
while(x <= 1000) { //判断x是否小于或等于1000
sum = sum + x; //sum表达式
x ++; //x自增
}
System.out.print("sum = "+ sum);//输出
}
}
while循环语句 流程图如下
do......while语句 do{
语句序列
}while(条件表达式);
例题代码如下
import java.util.Scanner;
public class liti4_6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in); //打开键盘扫描器接收输入的数据
int password; //定义一个int型变量passdword
do { //先执行一遍
System.out.print("请输入6位数字密码:");
password = sc.nextInt(); //将输入的数据存如int型变量passdword里
}while(931567 != password); //判断条件是否成立
System.out.print("登录成功");
sc.close();
}
}
流程图如下
for 循环语句 for(表达式1;表达式2;表达式3){
语句序列
}
例题代码如下
public class liti4_7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum = 0; //定义一个int型变量sum赋值0,用来存储2到100直接的偶数的和
for(int i = 2;i <= 100;i += 2) { //定义一个int型变量i赋值2,接着判断i是否小于等于100,i=i+1
sum = sum + i; //和的表达式
}
System.out.print("2到100之间的偶数之和为:"+ sum);//输出
}
}
流程图如下
foreach语句
foreach:它是for语句的特殊简化版本,不能完全取代for语句,但任何foreach都可以改写为for语句版本,它不是一个关键字
for(元素类型x;遍历对象obj){
引用了x的java语句;
}
例题代码如下
public class liti4_8 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[] = {5,13,96}; //一维整型数组
System.out.println("一维数组中的元素分别为:");
//x的类型与arr元素的类型相同。for循环依次去除arr中的值并赋值给x
for (int x: arr) {
System.out.println(x);//输出遍历中的元素值
}
}
}
break语句
break:break可以跳出当前循环,就近原则,哪个循环离它近它跳出哪个循环,不能越级跳出。
while(...){
...
break;
...
}
/
do{
...
break;
...
}while(...);
/
for{
...
break;
...
}
例题代码如下
public class liti4_9 {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i = 1;i < 20;i ++) {
if(i%2 == 0) { //如果i是偶数
System.out.println(i);//输出i的值
break; //结束循环
}
}
System.out.println("---end---");//结束时输出一行文字
}
}
流程图如下
例4.10使用标签让break结束外层循环
public class liti4_10 {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i = 1;i <=3;i ++) { //外层循环
for(int j = 1;j <= 5;j ++) { //内层循环
if(j == 4) { //内层循环至第四次时就结束
break;
}
System.out.println("i="+ i +" j="+ j); //输出i和j的值
}
}
}
}
continue语句
continue:是针对break语句的补充,作用并不是立即跳出当前循环而是跳过本次循环,回到循环的条件判断环节,重新开始判断
语法如下:
while(...){
...
continue;
...
}
///
do{
...
continue;
...
}while(...);
///
for{
...
continue;
...
}
————————————————
例题代码如下
public class liti4_11 {
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int i = 1;i <= 20;i ++) {
if(i %2 == 0) { //如果i是偶数
continue; //跳到下一循环
}
System.out.println(i);//输出i的值
}
}
}
流程图如下
课堂作业 for循环内部嵌套一个while循环
1
for(2;3;4){
5
while(条件){
6
}
7
}
流程图:
do……while循环内部嵌套一个for循环
do{
2
for(3;4;5){
6
}
7
}
while(条件)
8