switch
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
…
default:
语句体n;
break;
}
说明:
表达式: 一般指一个变量,或者使用表达式
数据类型: byte,short,int,char,枚举(jdk1.5),字符串(jdk1.7)
case: 表达式的值会与case后的值进行判定,判定是否相等
break:提前结束swtich语句,防止case穿透
default:如果当以上的case后的值都不满足表达式的结果的时候,执行default中的内容,与if中的else非常像
位置可以改变,可以放在swtich中的任意位置,一般放在最后,break可以省略,如果放在其他位置,break不能省略
执行流程:
1.计算表达式的结果
2.表达式的结果与case后后的值以此判断,代码从上倒下以此执行,如果与当前case后面值相同,执行对应的语句体
3.如果与哪一个case后的值都不相同,执行default中的内容
case穿透:如果执行完成对应的语句体后没有break,会发生case穿透,后面的case不再判断,执行执行下面的语句体,知道遇到下一个break或者switch的结束而结束
Math类
1.不用导包 java.lang下的内容不需要导包
Math,String,System...
2.Math中的内容都可以通过Math.功能()使用
产生随机数: Math.random() [0.0,1.0) 随机小数
公式: 通过对已经生成的随机数进行后续操作,+,* 让随机数的范围可控
[min,max) Math.random()*(max-min)+min; [0.0,1.0)*4=[0,4)+3=[3,7) [3,7)
[min,max] (int)(Math.random()*(max-min+1)+min);
四舍五入: Math.round(参数) 只看小数点后一位
绝对值: Math.abs(参数)
平方根: Math.sqrt(参数)
循环:for,while,do…while
for循环 ***
while循环
do..while循环
for循环 ***
while循环
do..while循环
for循环
for(条件初始化;条件判断;条件变化){
循环体语句;
}
说明:
条件初始化:声明一个变量i,并且第一次赋值 作用域只在当前循环中可以使用
变量i,可以控制循环的次数,控制要使用的参数
条件判断:判断条件i是否满足要求
条件变化:i自身值的改变
执行流程:
1.执行条件初始化,有了变量i,i也有值
2.进行条件判断,判断是否满足条件,如果结果false,for循环结束,循环体不会再次进入
3.如果结果true,满足条件,就去执行以此循环体语句
4.执行条件变化
从二次循环开始,就重复执行2,3,4步
当循环体语句只有一句,前后的{}可以省略
public class For1 {
//求1-100的和用for循环求解的0-100之间的奇数偶数之和与总的和
public static void main(String[] args) {
int sum=0;
int sum1=0;
int sum2=0;
for (int i = 1; i <=100; i++) {
sum=sum+i;
}
System.out.println("1-100的和为:"+sum);
for (int i = 1; i <=100; i++) {
if (i%2==0) {
sum1=sum1+i;
}else {
sum2=sum2+i;
}
}
System.out.println("偶数之和"+sum1);
System.out.println("寄数之和"+sum2);
}
while循环: 条件循环
条件初始化;
while(条件判断){
循环体语句;
条件变化;
}
执行流程:
1.条件初始化
2.执行条件判断
3.如果满足条件执行循环体语句,如果不满足条件结束
4.重复执行2,3步
/*输入课程代号,输出对应的课程的名称,用户可以循环进入输入,如果输入1就继续,输入0则退出.
1---Java课程
2---大数据课程
3---Python课程
4---前端课程
其他数字---没有这门课程
*/
import java.util.Scanner;
public class Curriculum {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入1进入课程查阅");
int b=sc.nextInt();
int a=1;
int c=2;
int d=3;
int e=4;
int h=0;
while (b==1) {
System.out.println("请输入课程代号");
h=sc.nextInt();
if (h==a) {
System.out.println("java课程");
}else if(h==c){
System.out.println("大数据");
}else if(h==d){
System.out.println("Python课程");
}else if(h==e) {
System.out.println("前端课程");
}else {
System.out.println("没有该课程");
}
System.out.println("继续查询请输入1,退出请输入0");
b=sc.nextInt();
if (b==0) {
break;
}
}
}
}
for循环: 知道循环次数,指定的区间i
do… while循环
do{
循环体语句;
}while(条件判断);
while: 先判断,满足条件再执行
do..while : 先执行,再判断,如果满足条件,执行下一次
无论是否满足条件,都至少执行一次
break和continue之间的区别
break:
作用: 终止,停止,结束
应用场景: 循环和switch语句中
continue:
作用: 结束本次循环,直接进入下一次循环
应用场景:只能用在循环中
循环嵌套
for(条件初始化;条件判断;条件变化){
//代码
for(条件初始化;条件判断;条件变化){
//代码
}
//代码
}
外层循环执行一次,内层循环执行一轮