Java基础语法05-循环语句
for循环语句
循环结构
特征:
- 重复做某件事情
- 具有明确的开始和停止标志
for循环语句
循环结构的构成:
- 初始化语句:用于标识循环开始的起始状态,循环开始的时候是什么样子。
- 条件判断语句:用于表示反复循环的条件,简单说就是判断是否执行下去。
- 循环体语句:用于表示反复执行的内容。
- 条件控制语句:用于表示循环执行中每次变化的内容,控制循环是否能执行下去。
格式:
for(初始化语句;条件判断语句;条件控制语句){
循环体语句;
}
代码测试:
/*
for 输出五次hello world!
*/
import java.util.Scanner;
public class OperatorDemo04{
public static void main(String[] args){
for(int i=0;i<5;i++){
System.out.println("Hello World!");
}
}
}
运行结果:
案例测试
求1~5之间数据的和
代码:
/*
for 1~5求和
*/
import java.util.Scanner;
public class OperatorDemo04{
public static void main(String[] args){
int sum = 0;
for(int i=1;i<=5;i++){
sum = sum + i;
}
System.out.println(sum);
}
}
运行结果:
while循环语句
while循环语句格式
基本格式:
while(条件判断语句){
循环语句;
条件控制语句;
}
代码测试:
/*
while测试
*/
import java.util.Scanner;
public class OperatorDemo04{
public static void main(String[] args){
int i=1;
while(i<=5){
System.out.println("Hello World!");
i++;
}
}
}
运行结果:
案例测试
珠穆朗玛峰高位8844.43m,也就是884443mm。如果一张纸的厚度为0.1mm,那么这张纸对叠几次,会高于珠穆朗玛峰?
代码:
/*
珠穆朗玛峰
*/
import java.util.Scanner;
public class OperatorDemo04{
public static void main(String[] args){
int count = 0;
float high = 0.1F;
while(high <= 884443){
high *= 2;
count++;
}
System.out.println("需要折叠的次数为:"+count);
}
}
运行结果:
do…while循环语句
do…while循环语句格式
基本格式:
do{
循环语句;
条件控制语句;
}while(条件判断语句);
代码测试:
/*
珠穆朗玛峰do…while
*/
import java.util.Scanner;
public class OperatorDemo04{
public static void main(String[] args){
int count = 0;
float high = 0.1F;
do{
high *= 2;
count++;
}while(high <= 884443);
System.out.println("需要折叠的次数为:"+count);
}
}
运行结果:
三种循环的区别
三种循环的区别
- for循环和while循环先判断条件是否成立,然后决定执行循环体(先判断后执行)
- do…while循环先执行一次循环体,然后判断条件是否成立(先执行后判断)
代码测试:
/*
三种循环的区别
*/
import java.util.Scanner;
public class OperatorDemo04{
public static void main(String[] args){
for(int i=3;i<3;i++){ //for循环
System.out.println("for循环!");
}
int j=3;
while(j<3){ //while循环
System.out.println("while循环!");
j++;
}
int k=3;
do{ //do…while循环
System.out.println("do…while循环!");
k++;
}while(k<3);
}
}
运行结果:
for和while的区别
- 条件控制语句所控制的变量归属于for循环的语法结构中,在for循环结束后,就不能再使用了。
- while中条件控制语句所控制的变量,不归属于while语法结构中,在while循环结束后还能继续使用。
跳转控制语句
跳转控制语句概述
continue:
跳过某次循环体的内容执行,也就是跳过一次循环,其使用是基于条件控制的。
break:
终止循环体的内容执行,也就是结束整个循环执行,其使用是基于条件控制的。
代码测试:
/*
跳转控制语句
*/
import java.util.Scanner;
public class OperatorDemo04{
public static void main(String[] args){
for(int i=1;i<10;i++){
if(i==5){
continue;
}
System.out.println(i);
}
System.out.println("######");
for(int i=1;i<10;i++){
if(i==5){
break;
}
System.out.println(i);
}
}
}
运行结果:
循环嵌套
循环语句中包含循环语句称为循环嵌套。
代码测试:
/*
循环嵌套
*/
import java.util.Scanner;
public class OperatorDemo04{
public static void main(String[] args){
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
System.out.println(i+"行"+j+"列;");
}
}
}
}
运行结果:
案例测试
输出九九乘法表
代码:
/*
九九乘法表
*/
import java.util.Scanner;
public class OperatorDemo04{
public static void main(String[] args){
for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++){
if(i<j){
break;
}
if(i*j<10){ //将个位数与十位数对齐的判断
System.out.print(i+"*"+j+"= "+(i*j)+" ");
}else{
System.out.print(i+"*"+j+"="+(i*j)+" ");
}
}
System.out.println(" ");
}
}
}
运行结果:
Random
Random的作用和使用步骤
作用:用于产生一个随机数
使用步骤:
- 导包
导包的动作必须出现在类定义的上面。import java.util.Random;
- 创建对象
Random r = new Random();
- 获取随机数
int number = r.nexInt(10);//获取数据的范围:[0,10)
测试代码:
/*
随机数Random
*/
import java.util.Random;
import java.util.Scanner;
public class OperatorDemo04{
public static void main(String[] args){
Random r = new Random();
int number = r.nextInt(10);
System.out.println("number:"+number);
}
}
运行测试:
案例测试
程序自动生成一个1-100之间的数字,实用程序实现猜出这个数字是多少
当猜错的时候根据不同情况给出相应的提示:
- 如果猜的数字比真实数字大,提示你猜的数据大了。
- 如果猜的数字比真是数字小,提示你猜的数据小了。
- 如果猜的数字与真实数字相等,提示恭喜你猜中了。
代码:
/*
猜数字
*/
import java.util.Random;
import java.util.Scanner;
public class OperatorDemo04{
public static void main(String[] args){
Random r = new Random();
Scanner scan = new Scanner(System.in);
int number = r.nextInt(100)+1; //r.nextInt(100)是0到99,r.nextInt(101)会是0-100,这里不要0所以选择+1
while(true){
System.out.println("请输入你猜的数字。范围为1-100");
int num = scan.nextInt();
if(num > number){
System.out.println("你猜的数据大了。");
}else if(num < number){
System.out.println("你猜的数据小了。");
}else if(num == number){
System.out.println("恭喜你猜中了!");
break;
}
}
}
}
运行结果: