一、java中的循环
1.分类:
for 循环
while 循环
do..while() 循环
(1) for循环结构:
for(条件初始化;条件判断;条件变化){
重复执行的语句;
}
例如:
//打印一到十的数
for(int i=1;i<=10;i++){
System.out.println(i);
}
int i = 1是条件初始化: 声明一个变量并且赋值 变量 i
i<=10是条件判断: 决定当前是否能够执行循环体语句 对上一步声明的这个条件变量i ,值为boolean类型的表达式
i++条件变化: 变量i自身值的改变
执行的流程:
1.执行条件初始化,有了变量i
2.条件判断,如果结果为true,执行循环体语句,如果为false,结束循环
3.如果执行完{}中的语句体,执行条件变化
重复执行第2,3步
注意:在{}中可以使用变量i,变量是属于这个循环;当循环体语句只有一句的时候,前后{}可以省略
2.while 循环结构:
while 是条件循环;for是次数循环
条件初始化;
while(条件判断){
语句体;
条件变化;
}
循环之间都可以互相转化
举例:
//打印1~100之间的每一个数
for(int i=1;i<=100;i++){
System.out.println(i);
}
int i=1; //条件初始化; 作用域在主方法中
while(i<=100){
System.out.println(i);
i++; //条件变化
}
3.do...while()循环
do{
循环体语句;
}while(条件判断);
先执行再判断
while(条件判断){
语句体;
}
先判断再执行
举例:
// while与do..while的区别
int i=1; //条件初始化
while(i<=10){
System.out.println(i);
i++; //条件变化
}
i=1; //i归零
do{
System.out.println(i);
i++; //条件变化
}while(i<=10);
区别: do..while无论是否满足条件.至少执行一次
3.循环嵌套
for(条件初始化;条件判断;条件变化){
//代码
for(条件初始化;条件判断;条件变化){
//代码
}
//代码
}
外层循环执行一次,内层循环执行一轮
举例:
/*
九九乘法表
*/
for(int i=1;i<=9;i++){ //打印行
for(int j=1;j<=i;j++){ //打印列
System.out.print(j+"*"+i+"="+i*j+"\t"); //打印出九九乘法表的具体每个公式的显示形式
}
System.out.println(); //换行
}
5.break 和 continue
break
应用场景: switch
循环作用: 终止,结束
continue
应用场景: 循环
作用: 结束本次循环,直接进入到下一次循环
举例:
//打印1-10的数字
for(int i=1;i<=10;i++){
if(i==3){ //判断i是3是
continue; //不打印3这个数字,继续执行接下来的循环
}
System.out.println(i);
}
for(int i=1;i<=10;i++){
if(i==3){ //判断i是3是
break; //当i为3时,不再执行循环,直接跳出循环往下执行
}
System.out.println(i);
}
二、java中的Scanner:
Scanner : 接收键盘输入的内容
注意:不要让你的类名与java中已有的类名一致
1.导包 import 导入 + 权限命名(报名+类名);
2.创建这个类型的引用 Scanner sc=new Scanner(System.in);
3.使用功能:
引用.功能名字();
sc.nextInt(); 接收键盘输入的整数类型的数据
sc.nextLong(); 接收键盘输入的整数类型的数据
sc.nextByte(); 接收键盘输入的整数类型的数据
sc.nextShort(); 接收键盘输入的整数类型的数据
sc.nextFloat(); 接收键盘输入的浮点数类型的数据
sc.nextDouble(); 接收键盘输入的浮点数类型的数据
sc.next() 有效字符开始接收,遇到enter功能结束
sc.nextLine() 接收一整行的数据
系列next功能不能接收enter,遇到enter结束,nextLine可以接收enter
4.关闭
引用.close()
举例说明:
import java.util.Scanner; //1.导包
public class Scanner01{
public static void main(String[] args){
Scanner sc=new Scanner(System.in); //2.创建这个类型的引用
int i=sc.nextInt(); //3.使用功能
System.out.println(i);
sc.close(); //关闭
}
}
三、java中的Random:
产生随机数
1.导包 import java.util.Random;
2.创建类型的引用 Random ran=new Random();
3.使用功能:
引用.nextInt(); 产生一个int范围内的随机整数
引用.nextInt(整数n); 产生一个 [0,n) 随机整数
[0,max) ran.nextInt(max);
[0,max] ran.nextInt(max+1);
[min,max] ran.nextInt(max-min+1)+min;
[min,max) ran.nextInt(max-min)+min;
引用.nextDouble() [0.0,1.0)之间的随机小数
import java.util.Random; //1.导包
public class Random02{
public static void main(String[] args){
Random ran=new Random(); //2.创建类型的引用
int i=ran.nextInt(); //3.使用功能
System.out.println(i);
}
}
2.java中的Math类
1.Math.random() 产生随机数
[0.0,1.0) 范围内的一个随机小数
Math.round(数值) 四舍五入
Math.max(值2,值1) 求最大
Math.min(值2,值1) 求最小
公式: [0,max] (int)(Math.random()*(max+1))
[min,max] (int)(Math.random()*(max-min+1)+min)
2.举例说明:
import java.util.Scanner; //1.导包
public class Math03 {
public static void main(String[] args){
double num=Math.random(); //2.创建这个类型的引用
System.out.println(num);
}
}