今天我为大家介绍java中的Math类与循环语句方面的知识
首先是java中我们常用的Math类,它常常帮助我们完成数学方面的操作.
关于Math类有以下几个常用法
1.Math.random(); 可以产生随机的小数,它的取值范围为[0.0,1.0)
我们在使用它的时候可以灵活转换它的取值范围
Math.random()*一个值; 我们可以通过乘法改变它的最大取值范围
Math.random()+一个值;我们可以 改变它的最大最少取值区间.
它的具体公式:
[0,max] (int)(Math.random()*(max+1))
[min,max] (int)(Math.random()*(max-min+1)+min)
2.Matn.round(数据); 这个方法可以四舍五入括号里的数据
3.Math.max(值2,值1) 可以求出两值中最大
Math.min(值2,值1) 可以求出两值中最小
以下为在java语句中的具体应用
import java.util.Scanner;
public class MathDemo01 {
public static void main(String[] args){
double num=Math.random();
System.out.println(num);
System.out.println(Math.round(0.49));
System.out.println(Math.max(1.1,2.2));
System.out.println(Math.min(1.1,2.2));
}
}
在java中有些代码需要重复执行,所以我们需要用到循环语句
常用的循环语句有三种: for ; while ; do...while
1.for循环
for(条件初始值;条件判断;条件变化){
重复执行的语句体
}
以上为for的组成结构.
1)使用for循环我们一开始会设定条件初始值 即变量 i=数值;
2)条件判断决定当前是否能够执行循环体语句 对上一步声明的这个条件变量i
值为boolean类型的表达式
3)变量i自身的改变 如i++;//自加1
注意:for循环体可以不设条件初始值跟条件变化 但必须有条件判断语句且初始值跟条件变化的位置的标点符号要有
如for(;条件判断;;){
重复循环语句体
}
2.while循环
while循环即为条件循环,具体结构为:
条件初始化;
while(条件判断){
语句体;
条件变化;
}
具体例子(与for循环进行对比,循环之间可以相互转化)
public class WhileDemo04 {
public static void main(String[] args) {
//打印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循环最大的区别在于do...while循环体是先执行再判断.
接下来我们了解一下循环体中常用的break与continue
break 常用于switchh和循环中
作用: 终止,结束
continue 应用于循环中
作用: 结束本次循环,直接进入到下一次循环
所以两者使用上有很大不同
实例区分
public class Demo06 {
public static void main(String[] args) {
for(int i=1;i<=10;i++){
if(i%2==0){
//打印一句
//break;
//打印五句
continue;
}
System.out.println("我爱java,java爱我");
}
}
}
最后我们来介绍一下循环嵌套
所谓循环嵌套即两个for循环相套,格式为下:
for(条件初始化;条件判断;条件变化){
//代码
for(条件初始化;条件判断;条件变化){
//代码
}
//代码
}
具体口诀为:外层循环执行一次,内层循环执行一轮
实例题
public class Demo07{
public static void main(String[] args) {
/* * * * * *
* * * * *
* * * * *
* * * * *
* * * * *
*/
//i作为打印星星的个数
int count=0;
for(int i=1;i<=25;i++){
System.out.print("* ");
count++;
if(count%5==0){
System.out.println();
}
} //外层循环i控制行 内层循环j控制列
for(int i=1;i<=5;i++){
for(int j=1;j<=5;j++){
System.out.print("* ");
}
//换行 System.out.println();
}
}
}