学习目标:
一:if结构的使用
二:switch结构
三:for循环(九九乘法表)
四:while循环
五:do while循环
一: if结构的使用
1.if
if(条件表达式){
表达式结果为true,执行此处代码
}
2.if-else
if(条件表达式){
表达式结果为true,执行此处代码
}else{
表达式结果为false,执行此处代码
}
3. if-else-if
if (条件表达式){
}else if(条件表达式){
}else if(条件表达式){
}…
else{
// 以上表达式结果均为false,执行此处,此分支可选
}
注意:这个结构中只执行第一次表达式结果为true的那个分支,如果所有分支的表达式为false,则执行最后面的else分支,else分支可选。
package org.westos.ifdemo;
import java.util.Scanner;
public class IfDemo {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in); // 用此“扫描器”接收键盘输入
System.out.print("请输入考试成绩:");
int score=scan.nextInt(); // 接收键盘输入的整数类型,输入完成之前一直阻塞
if(score>=60){
System.out.println("恭喜,及格了!");
}else{
System.out.println("这次没及格,准备补考吧~~~");
}
scan.close();
}
}
运行结果:
package org.westos.ifdemo;
import java.util.Scanner;
public class MultiIf {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in); // 用此“扫描器”接收键盘输入
System.out.print("请输入考试成绩:");
int score=scan.nextInt(); // 接收键盘输入的整数类型,输入完成之前一直阻塞
if(score>=90){
System.out.println("优秀!");
}else if(score>=80){
System.out.println("良好");
}else if(score>=70){
System.out.println("一般");
}else if(score>=60){
System.out.println("及格");
}else{
System.out.println("不及格,等着补考吧~~~");
}
scan.close();
}
}
运行结果:
二:switch结构
switch(表达式){
case 常量1:
代码1;
break;
case 常量2:
代码2;
break;
…
default:
代码..;
break;
}
switch语句有关规则:
表达式的返回值必须是下述几种类型之一:
int, byte, char, short,String,enum;
case子句中的取值必须是常量,且所有case子句中的取值应是不同的;
default子句是可选的;(default后面是冒号)
break语句用来在执行完一个case分支后使程序跳出switch语句块;
package org.westos.switchdemo;
import java.util.Scanner;
/*
* switch表达式的返回值必须是下述几种类型之一:
byte, short,int, char,String,enum
* */
public class SwitchDemo {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.print("请输入季节:");
String season=scan.next();
switch(season){
case "春天":
System.out.println("春暖花开");
break;
case "夏天":
System.out.println("夏日炎炎");
break;
case "秋天":
System.out.println("秋风瑟瑟");
break;
case "冬天":
System.out.println("白雪皑皑");
break;
default:
System.out.println("您输入的季节有误!");
}
scan.close(); // 关闭
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/ff946998ea60ba9a27559fb34938abaa.png)
三:for循环
注意:在循环结构中,可以使用break关键字跳出整个循环;使用continue关键字跳出当前循环。
package org.forloop;
public class ForBreak {
public static void main(String[] args) {
for (int i = 0;i<10; i++) {
if(i==5){
break; // 跳出for循环
}
System.out.println("好好学习"+i);
}
}
}
package org.forloop;
public class ForContinue {
public static void main(String[] args) {
for (int i = 0;i<10; i++) {
if(i==5){
continue; // 跳出当前循环,继续下一次循环
}
System.out.println("好好学习"+i);
}
}
}
package org.forloop;
/*
* 实现1-100能被3整除不能被5整除的数的和
* */
public class DivideFor {
public static void main(String[] args) {
int sum=0;
for(int i=1;i<=100;i++){
if(i%3==0 && i%5!=0){
sum+=i; // 相当于sum=sum+i
}
}
System.out.println("结果是:"+sum);
}
}
package org.forloop;
public class EvenSum {
public static void main(String[] args) {
int sum=0;
for (int i = 1; i <=100; i++) {
if(i%2==0){
sum+=i; // 相当于sum=sum+i
}
}
System.out.println("1~100的偶数和是:"+sum);
}
}
实现九九乘法表:
package org.forloop;
public class JiuJiu {
public static void main(String[] args) {
for(int i=1;i<=9;i++){ // 外层循环控制“行”,i相当于“行号”
for(int j=1;j<=i;j++){ // 内层循环控制当前行的“算式”,j相当于“列号”
System.out.print(i+"*"+j+"="+(i*j)+"\t");
}
System.out.print("\n"); // 每一行结束后,要换行
}
}
}
用*组成一个三角形:
package org.forloop;
import java.util.Scanner;
/*
* 打印等腰三角形
* 规律:
当前行的空格数:总行数-当前行号
当前行的星星数:2*当前行号-1
* */
public class Triangle {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.print("请输入等腰三角形的总行数:");
int totalNumber=scan.nextInt();
for(int i=1;i<=totalNumber;i++){ // i充当了“行号”
for(int j=1;j<=totalNumber-i;j++){ // 打印“空格”
System.out.print(" ");
}
for(int star=1;star<=2*i-1;star++){ // 打印“星星”
System.out.print("*");
}
System.out.print("\n"); // 当前行结束后,换行
}
scan.close();
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/52e8c0caba1d9b253322d31d441fd648.png)
四:while循环
语法格式
while( 条件表达式语句){
循环体语句;
}
注意:先判断条件,再决定是否循环
例:计算1到100的和
package org.whiledemo;
public class WhileDemo {
public static void main(String[] args) {
int sum=0;
int i=100;
while(i>=1){
sum+=i;
i--;
}
System.out.println(sum);
}
}
package org.whiledemo;
import java.util.Scanner;
public class WhileExam {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int count=0; // 用来记录考试次数
System.out.print("请输入当前成绩:");
int score=scan.nextInt();
while(score<60){
count++;
System.out.println("当前不及格,第"+count+"次补考~~~");
System.out.println("******补考中*******");
System.out.print("输入补考后的成绩:");
score=scan.nextInt();
}
System.out.println("恭喜,考过了!");
scan.close();
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/63392daee2fae62547c19283b7a6e399.png)
五.do while循环
语法格式
do{
循环体语句;
}while(条件表达式);
注意:至少执行一次循环体,再判断条件,如果条件判断的结果为true,则再次循环,否则,停止循环。
package org.whiledemo;
import java.util.Scanner;
public class DoWhile {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int score=0;
do {
System.out.print("请输入考试成绩:");
score=scan.nextInt();
} while (score<60);
System.out.println("恭喜,考试通过!");
scan.close();
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/4b61905ce5e82b0530d5b460388cf86c.png)
六.随机种子demo
package org.whiledemo;
import java.util.Random;
public class RandomDemo {
public static void main(String[] args) {
Random r=new Random(); // 生成一个“随机种子”对象
int num=r.nextInt(16)+3; // 模拟扔3个骰子
System.out.println("生成的随机骰子数是:"+num);
}
}