Random类
- Random类可以实现生成随机数,其主要功能是:
- nextInt() 可以产生随机产生int类型整数,如果写成nextInt(n),可以生成[0,n)区间的整数。
- nextDouble() 随机产生double类型小数,区间为[0,1.0)
Random类使用步骤:
导包 import java.util.Random;
创建Random类型的引用 Random ran = new Random();
使用功能 sc.nextInt(); sc.nextDouble();
/**
Random类的使用
*/
import java.util.Random;//导包,将Random类从java.util文件中导入程序
public class Rand {//类开始
public static void main(String[] args) {//主方法开始
Random ran = new Random();//新建一个Random类的对象
int a = (ran.nextInt(100-1+1))+1;//产生一个[1,100]的随机整数
System.out.println(a);//输出整数的值
int b = (ran.nextInt(100-1+1))+1;//第二次产生一个[1,100]的随机整数
System.out.println(b);//输出第二个整数的值
String str = a > b ? "最大值是a" : "最大值是b";//通过条件运算符 判断最大值
System.out.println(str);//打印输出最大值
}//方法结束
}//类结束
总结公式:
[0,max] ran.nextInt(max+1)
[min,max] ran.nextInt(max-min+1)+min
[min,max) ran.nextInt(max-min)+min
流程控制语句
- 顺序结构:从上到下 从左至右
- 选择结构:根据条件的选择,控制一些代码执行
- 循环结构:重复执行一些代码
if语句
单选择|单分支:满足条件要求,就执行一些代码,不满足不执行
if (条件表达式) {
语句体;
}
当语句体只有一句时,{}可以省略。
双选择|双分支
if (条件表达式) {
语句体1;
}else {
语句体2;
}
多选择|多分支
if (条件表达式1) {
语句体1;
}else if (条件表达式2) {
语句体2;
}…else{
语句体n;
}
import java.util.Random;//导入Random类
public class IfDemo {//IfDemo类的开始
public static void main(String[] args) {//主方法开始
Random ran = new Random();//新建一个Random类对象
int a = ran.nextInt(131-50+1)+50;//在[50,131]区间随机取一个整数
int b = ran.nextInt(131-50+1)+50;//在[50,131]区间随机取一个整数
int c = ran.nextInt(131-50+1)+50;//在[50,131]区间随机取一个整数
System.out.println(a + "\n" + b + "\n" + c);//输出三个随机整数
/*
通过If多分枝结构判断三个数大小,并判断奇偶
*/
if(a>b && a>c){//条件判断
System.out.println("最大值是:" + a);
if (a%2 == 0){
System.out.println("a是偶数");
}else{
System.out.println("a是奇数");
}
}else if(a>b && a<c){
System.out.println("最大值是:" + c);
if (c%2 == 0){
System.out.println("c是偶数");
}else{
System.out.println("c是奇数");
}
}else{
System.out.println("最大值是:" + b);
if (b%2 == 0){
System.out.println("b是偶数");
}else{
System.out.println("b是奇数");
}
}
}
}
switch语句
switch (表达式) {
case 值1:
语句体1;
case 值2:
语句体2;
.
default:
语句体n;
break;
}
/*
根据月份,输出对应的季节
3~5 春天
6~8 夏天
9~11 秋天
12~2 冬天
*/
import java.util.Scanner;
public class Swi2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num= sc.nextInt();
switch(num){
case 12:
case 1:
case 2:
System.out.println("冬天");//当不存在break时,会发生穿透,即从满足条件的case语句开始执行,下面的case不判断直接执行语句体,知道遇到break才会停止。
break;
case 3:
case 4:
case 5:
System.out.println("春天");
break;
case 6:
case 7:
case 8:
System.out.println("夏天");
break;
case 9:
case 10:
case 11:
System.out.println("秋天");
default:
System.out.println("请输入正确月份");
}
}
}
循环结构
- for 循环
- while循环
- do…while循环
for 循环
/*
for (条件初始化;条件判断;条件变化){
重复执行的语句体;
}
*/
public class ForDemo {
public static void main(String[] args){
int sum = 0;
for(int i = 1;i <= 10;i++){
sum +=i;
System.out.println("aaa+" + i);
}
//System.out.println(i);i未被定义,for循环中的i只属于循环体
System.out.println("一共有" + sum + "个aaa");
}
}