控制语句
顺序结构 条件结构 循环结构
一、IF…else…(IF…else if…)
1、运用if…else…语句写掷骰子游戏(单分支结构:如果…则…)
《实现:随机出一个1~6的数,如果小于等于3(输出小),如果大于等于3、小于等于5(输出中),
如果大于5(输出大)》
package newgame;
//掷骰子游戏
public class TestIf {
public static void main(String[] args){
double d=Math.random();//生成[0,1)的随机数
int a=1+(int)(Math.random()*6);//生成[1,6]随机数整数
System.out.println(d);
System.out.println(a);
if(a<3){
System.out.println("小");
}else{System.out.println("大");
}
if(a>=3&&a<=5){
System.out.println("中");
}else{System.out.println("大小大");
}
}
}
运行结果
2、运用if…else…else…(如果…则…否则…)语句写掷骰子游戏(双、多分支结构)
技巧:常见语句快捷输入法
1)psvm:public static void main(String[] args) {}
2)soutp:System.out.println()
《实现:随机出一个半径值,计算周长、面积,并且比较周长和面积的大小》
package newgame;
import java .util.Arrays;
import java.util.PrimitiveIterator;
public class TestIfelseelse {
public static void main(String[] args) {
double r=Math.random()*4;
double area=Math.PI*r*r;//Math.PI表示引用函数库里的PI
double circle=2*Math.PI*r;
System.out.println("半径=" +r);
System.out.println("周长=" +circle);
System.out.println("面积=" +area);
if(area>=circle){
System.out.println("面积大于周长");
}else{
System.out.println("面积小于周长");
}
}
运行结果:
半径=3.9518198567859804
周长=24.830016460778207
面积=49.06187604701304
面积大于周长
《实现:随机出一个年龄数值,判断是年轻人or中年人or老年人》
package newgame;
import java.util.Arrays;
public class TestIFelseduofenzhi {
public static void main(String[] args) {
int age=(int)(100*Math.random());
System.out.println("年龄="+age+"属于");
if(age<30){
System.out.println("年轻人");
}else if(age>=30&&age<=50){
System.out.println("中年人");
}else if(age>50){
System.out.println("老年人");}
System.out.print("年龄="+age+"属于");//把ln去掉,不换行
if(age<30){
System.out.println("年轻人");
}else if(age>=30&&age<=50){
System.out.println("中年人");
}else if(age>50){
System.out.println("老年人");}
}
}
运行结果:
年龄=93属于
老年人
年龄=93属于老年人
二、Switch语句(多值结构)
仅以一个例子“春夏秋冬”来说明Switch语句的结构与if…else…语句的区别
Number ONE(if…else…)
用if...else...语句判断春夏秋冬季节
package newgame;
public class TestSwitch1 {
public static void main(String[] args) {
int month=1+(int)(Math.random()*12);
System.out.println("现在是:"+month+"月");
if (month == 1 || month == 2 || month == 3) {//'||'表示短路或:||左为true,则为true
System.out.println("春季");
} else if (month == 4 || month == 5 || month == 6) {
System.out.println("夏季");
} else if (month == 7 || month == 8 || month == 9) {
System.out.println("秋季");
} else {
System.out.println("冬季");
}
}
}
Number TWO(Switch)
用Switch语句判断春夏秋冬季节
package newgame;
public class TestSwitch2 {
public static void main(String[] args) {
int month=1+(int)(Math.random()*12);
System.out.println("现在是:"+month+"月");
switch (month){
case 1:
case 2:
case 3:
System.out.println("春季");
break;
case 4:
case 5:
case 6:
System.out.println("夏季");
break;
case 7:
case 8:
case 9:
System.out.println("秋季");
break;
case 10:
case 11:
case 12:
System.out.println("冬季");
}
}
}
二、循环While语句(当…、直到…)
1、运用循环体 打印三次“循环体”第三次打印后结束
package newgame;
import java.util.Arrays;
public class TestWhile {
public static void main(String[] args) {
int a=1;
while(a<=3){
System.out.println("循环体"+a);
a++;//a=a+1 或者 ++a都可以
}
}
2、运用循环体 计算1+2+…+99+100的总和
package newgame;
import java.util.Arrays;
public class TestWhile1 {
public static void main(String[] args) {
int i=0;
int sum=0;
while(i<=100){
sum+=i;//sum=sum+i
i++;
}
System.out.println("1+2+...+00+100 = " + sum);
}
}
1)可尝试计算1~100内,所有偶数之和、所有奇数之和、能被5整除的数字、
1~100内偶数之和、奇数之和
package newgame;
import java.util.Arrays;
public class TestFor1 {
public static void main(String[] args) {
int i=1;
int sum=0;
int sumOdd=0;
int sum Even=0;
while(i<=100){
sum+=i;
if(i%2==0){
sumEven+=i;
}else{
sumOdd+=i;
}
i++;
}
System.out.println("1~100总和=" + sum);
System.out.println("1~100偶数和=" + sumEven);
System.out.println("1~100奇数和=" + sumOdd);
}
}
2)打印0~150内数字,每行只显示5个数值
package newgame;
import java.util.Arrays;
public class Print0_150 {
public static void main(String[] args) {
int i=0;
while(i<=150){
System.out.print(i+"t");// 制表符
if((i+1)%5==0){
System.out.print("n");//换行符
}
i++;
}
}
}
三、For循环语句
1、 逗号 符
package newgame;
public class TestFor {
public static void main(String[] args) {
for(int i=1,j=i+10;i<5;i++,j=i*2){
System.out.println("i="+i+"j="+j);
}
}
}
2、死循环(自动驾驶、 人工智能 运用较多)
package newgame;
import java.util.Arrays;
public class TestFor2 {
public static void main(String[] args) {
while (true) {//或者用for(;;)
System.out.println("死循环");
}
}
}
3、使用For循环打印A-Z26个字母
package newgame;
import java.util.Arrays;
public class TestFor3 {
public static void main(String[] args) {
char m='a';
for(int i=0;i<26;i++){
char n=(char)(m+i);
System.out.print(n+ "t");
}
}
}
OK,本期就这些了,谢谢观看,有意向学习伙伴可点点关注,后续会持续更新哦~