认识java、变量`数据类型和运算符、选择结构、循环结构、数组、循环结构进阶

认识java

java介绍

java是前Sun公司(现甲骨文股份有限公司)于1995年推出的高级编程语言,java技术可以应用在几乎所有类型和规模的设备上,小到计算机芯片,蜂窝电话,大到超级计算机,无处不在。

什么是程序

我们可以把程序当做是一个到银行取钱的过程

(1)带上存折/银行卡到银行

(2)取号排队

(3)将存折或银行卡递给银行工作人员并告知取款数额

(4)输入取款密码

(5)银行工作人员办理取款事宜

(6)拿到钱,带上存折/银行卡

(7)离开银行

开发java程序的步骤

1.编写原程序

文件名.java就是一个源程序,java源程序文件使用后辍.java作为扩展名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pP6FcbPh-1569547747882)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569309968938.png)]

2.编译

程序编译后会获得一个扩展名为.class的文件,称为字节码文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7eULtHcU-1569547747883)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569312281011.png)]

3.运行

在java平台上运行生成的字节码文件,就可以看到运行结果

基本框架

public class Test {
	public static void main(String[] args) {
	System.out.println();	//输出语句

java编码规范

编码规范可以增加可读性,使软件开发和维护更加方便,这些规范是一个程序员应该遵守的基本规则,是行业内人们都默守的做法

现在把以下代码做一些修改,去掉 class 前面的 public,再次运行程序,仍然能够得到想要的结果,这说明程序没有错误,那么为什么还要用 public 呢?这就是一种编码规范

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xj4iaw6E-1569547747883)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1568950555654.png)]

java程序的注释

1.单行注释

如果文字较少,放在一行中,就可以使用单行注释,单行注释通常用在代码行之间,或者一行代码的后面用来说明某一块代码的作用

// 后面的文字都是注释

public class Test{
    public static void main(String[]args){
        //输出信息到控制台
        System.out.println("Hello World!!!");
    }
}

2.多行注释

多行注释以 / * 开头,以 * / 结尾,在 / * 和 */之间的内容都是注释

/*
* Hello World.java
*2019-9-9
*第一个java程序
*/

变量`数据类型和运算符

变量和数据类型

1.八大基本数据类型

int 整数 char 字符

long 整数 String 字符串

double 小数 boolean 判断

byte 小数 false 字节

2.变量声明及使用

(1)估计数据的类型在内存中分配一个合适的房间,并给它命名就是变量名

(2)将数据存储到这个房间中

(3)从房间中取出数据使用,可以通过变量名来获得

例如:int a=999;

此时在控制台输出a,就等于输出了999

public class Test {
	public static void main(String[] args) {
        int a=999;
	System.out.println(a);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J6zsZqwr-1569547747883)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1568945709625.png)]

3.语法

数据类型 变量名=值;

变量命名规则

序号条件合法变量名非法变量名
1变量必须以字母,下划线“_”或“$”符号开头_myCar*myvariablel //不能以 * 开头
2变量可以包括数字,但不能以数字开头score19variable //不能以数字开头
3除了“_”或“$”符号以外,变量名不能包括任何特殊字符$myCarvariable% //不能包括%
a+b //不能包括+
4不能使用 java 语言的关键字,如 int,class,public 等等graph1_1t1-2 //不能包括连字符
My Variable //不能包括空格

赋值运算符

int   a=888;

使用“=”将数值888放入变量a的存储空间中,“=”称为赋值运算符

例如:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J77yNt3u-1569547747884)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1568979884934.png)]

算术运算符

运算符说明举例
+加法运算符,求操作数的和5+3=8
-减法运算符,求操作数的差5-3=2
*乘法运算符,求操作数的乘积5*3=15
/除法运算符,求操作数的商5/3=1
%取余法运算符,求操作数相除的余数5%3=2

boolean类型

boolean类型的值

说明
true
false

关系运算符

关系运算符声明举例
>大于99>100,结果为false
<小于大象的寿命<乌龟的寿命,结果为trus
>=大于等于你的考试成绩>=200分,结果为false
<=小于等于每次的考试成绩<=60,结果为false
==等于地球的大小=篮球的大小,结果为false
!=不等于水的密度!=铁的密度,结果为trus

选择结构

选择结构,简单来说就是做一个选择,满足某个条件,就去做某个事情

i f 选择结构

语法:

i f (条件) {

代码块 //条件成立后要执行的代码,可以是一条语句,也可以是一组语句

}

i f 选择结构流程图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tt5OTRvb-1569547747884)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569154466962.png)]

示例代码:

import java.util.Scanner;
public class Test {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		System.out.print("请输入唐某的java成绩:");
		int a=in.nextInt();
		if(a>80) {		//条件满足80分则输出下面代码
		System.out.println("很好,奖励一个大嘴巴子!");	
		}
	}
}

运行效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2FFIY7Ga-1569547747885)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569156825650.png)]

符号汇总

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NiGZsZyw-1569547747885)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569154695490.png)]

常用逻辑运算符

运算符汉语名称表达式说明举例
&&与,并且条件1&&条件2两个条件同时为真,则结果为真,两个条件有一个为假,则结果为假具有选举的条件:年满18周岁&&中国公民,两个条件都为真则具有选举权,有一个条件为假,则不具有选举权
||或,或者条件1||条件2两个条件有一个为真,则结果为真,两个条件同时为假,则结果为假从中国去美国的方式:乘坐飞机||乘船,两个条件有一个为真,就可以去美国,要是都为假,则去不了美国
!!条件条件为真时,结果为假,条件有为假时,结果为真成为优秀软件工程师的条件:!偷懒

i f — else选择结构

语法:

i f (条件) {

​ //代码块1

} else {

​ //代码块2

}

i f — else 选择结构流程图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F9aNr0GB-1569547747886)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569156204316.png)]

示例代码:

public class Test {
	public static void main(String[] args) {
		int a=90;
		if(a>98) {
		System.out.println("很好,奖励一个大嘴巴子!");	
		}else {
			System.out.println("很好,奖励十个大嘴巴子!");
		}
	}
}

运行效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-igcnQX9J-1569547747886)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569157393303.png)]

多重 i f 选择结构

语法:

i f (条件1) {

​ //代码块1

} else i f (条件2) {

​ //代码块2

} else {

​ //代码块3

}

示例代码:

public class Sl5 {
	public static void main(String[]args){
		int score=70;				//考试成绩
		if(score>=80){				//考试成绩>=80
			System.out.println("良好");
		}else if (score>=60){		//80>考试成绩>=60
			System.out.println("中等");
		}else{						//考试成绩<60
			System.out.println("差");
		}
	}
}

多重 i f 选择结构流程图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xWMBxUJf-1569547747887)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569219177513.png)]

嵌套i f 选择结构

语法:

i f (条件1) {

​ i f (条件2) {

​ //代码块1

} else {

​ //代码块2

}

} else {

​ //代码块3

}

嵌套i f 选择结构流程图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RCi74YTK-1569547747887)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569219767915.png)]

switch 选择结构

语法:

switch(表达式) {

​ case 常量1:

​ //代码块1;

​ break;

​ case 常量2:

​ //代码块2;

​ break;

default:

​ //代码块n

​ break;

}

示例代码:

public class Test {
	public static void main(String[]args){
		int a=1;
		switch (a){
		case 1:
			System.out.println("参加麻省理工大学组织大1个月夏令营");
			break;
		case 2:
			System.out.println("奖励惠普笔记本一部");
			break;
		case 3:
			System.out.println("奖励移动硬盘一个");
			break;
		default:
			System.out.println("没有任何奖励");
			break;
		}
	}
}

运行效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xbEien1C-1569547747888)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569220441543.png)]

选择结构总结

基本 i f 选择结构:可以处理单一或组合条件的情况

i f —else 选择结构: 可以处理简单的条件分支情况,这种形式结构简单,但在实际开发中使用非常频繁

多重 i f 选择结构: 可以处理复杂的条件分支情况,多重 i f 选择结构在解决需要判断的条件是连续的区间时有很大的优势

嵌套i f 选择结构:在 i f 选择结构中又包含一个或多个i f 选择结构的情况,这种结构一般用于较为复杂的流程图控制中

switch 选择结构:当需要多重分支并且条件判断是等值判断的情况下,使用switch选择结构代替多重 i f 选择结构会更简单,代码结构更清晰易读

循环结构

什么是循环结构

循环简单来说,就是重复做一件事情,比如:打印100份试卷,在400m跑道上跑1000m,抄50遍代码

都是一件事情重复去做,这就是循环

while 循环结构

语法:

while(循环条件) {

​ ///循环操作

}

示例代码:

public class Test {
	public static void main(String[] args) {
		int a=1;			//从1开始
		while (a<=100) {	//循环条件到100结束
			System.out.println("好好学习!");
			a=a+1;
		}
	}
}

运行效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5KKEFI0s-1569547747888)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569291240346.png)]

while 循环结构流程图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N7zmp2rZ-1569547747889)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569291020515.png)]

while循环结构的执行顺序:

(1)声明并初始化循环变量

(2)判断循环条件是否满足,满足则执行循环操作,否则退出循环

(3)执行完循环操作后,再次判断循环条件,决定继续执行循环或退出循环

do-while循环结构

语法:

do {

​ //循环操作

} while (循环条件);

示例代码:

public class Test {
	public static void main(String[] args) {
		int a=1;
		do {
			System.out.println("好好学习!");
			a++;
		}while (a<=100);
	}
}

运行效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y9G7ZcSK-1569547747889)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569292240926.png)]

do-while循环结构流程图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KRhtd6j6-1569547747889)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569292075034.png)]

for循环结构

什么是for循环结构:

循环语句的主要作用是反复执行一段代码,直到满足一定的条件为止,可以把循环结构分成4个部分

初始部分:设置循环的初始状态,如设置记录循环次数的变量 i 为0

循环体:重复执行的代码,即输出"好好学习,天天向上"!

送代部分:下一次循环开始前要执行的部分,在while 循环结构中它作为循环体的一部分,如使用" i ++;"进行循环次数的累加

循环条件:判断是否继续循环的条件,如使用" i<100"判断循环次数是否已经达到100,

语法:

for (表达式1;表达式2;表达式3) {

​ //循环体

}

for循环结构中三个表达式的含义:

表达式形式功能举例
表达式1赋值语句循环结构的初始部分,为循环变量赋初值int i=1
表达式2条件语句循环结构的循环条件i<100
表达式3赋值语句,通常使用++或–运算符循环结构的送代部分,通常用来修改循环变量的值i++

for循环结构执行的顺序:

(1)执行初始部分 (int i=0;)

(2)进行循环条件判断(i<100;)

(3)根据循环条件判断结果,如果为true,则执行循环体,如果为false,则提出循环,步骤(4)和步骤(5)都不会执行

(4)执行送代部分,改变循环变量值(i++)

(5)依次重复步骤 (2)~步骤(4),直到提出for循环结构

示例代码:

import java.util.*;
public class Test {
	public static void main(String[]args){
		int score;						//每门课的成绩
		int sum = 0;					//成绩之和
		double avg = 0.0;				//平均分
		Scanner input = new Scanner(System.in);
		System.out.print("输入学生姓名:");
		String name = input.next();
		for(int i = 0; i < 5; i++){		//循环五次,录入五门课程的成绩
			System.out.println("请输入5门功课中第"+(i+1)+"门课的成绩:");
			score = input.nextInt();	//录入成绩
			sum = sum + score;			//计算成绩和
		}
		avg = (double)sum / 5;			//计算平均分
		System.out.println(name + "的平均分是:" + avg);
	}
}

运行效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gf9svkYc-1569547747890)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569294261634.png)]

break 语句的使用

在switch 选择结构中,break 语句使用终止 switch 语句中的某个分支,使程序跳到 switch 选择结构的下一条语句

for(int i = 0;i < 10; i++){
    	//跑400m
    if(不能坚持){
        break;	//退出比赛
    }
}

这就是break语句的功能

continue 语句的使用

在循环结构中的 i f 语句中使用 break 语句退出循环,但是,可能有时会遇到这样的问题,在某次循环中,不执行完所有的循环体,就跳出本次循环,开始执行下一次循环

示例代码:

for(int i = 0;i < 10; i++){
    	//跑400m
    	if(不口渴){
            continue;	//不喝水,继续跑
        }
    //接过水壶,喝水
}

如果口渴,则执行"接过水壶,喝水;",如果不口渴,则执行continue 语句;continue 后面的语句"接过水壶,喝水"将不再被执行,之后进入下一次循环

数组

Java中的数组

在Java中,数组就是一个变量,用于将相同数据类型的数据存储在内存中。数组中的每一个数据元素都属于同一数据类型例如, 全班30个学员的成绩都是整数,就可以存储在一个整数数组里面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2IhyuNAa-1569547747890)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569426703180.png)]

数组的组成元素

(1) 标识符:首先和变量一样,在计算机中,数组也要有一个名称,称为标识符,用于区分不同的数组
(2)数组元素:当给了数组名称,即数组标识符后,要向数组中存放数据,这些数据就称为数组元素
(3) 数组下标: 在数组中,为了正确地得到数组的元素.需要对它们进行编号,这样计算机才能根据编号去存取,这个编号就称为数组下标
(4) 元素类型: 存储在数组中的数组元素应该是同一数据类型,如可以把学员的成绩存储在数组中,而每一个学员的成绩可以用整型变量存储,因此称它的元素类型是整型

数组的基本结构:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UeXOR2bL-1569547747891)(C:\Users\Administrator\Documents\Tencent Files\2769272014\FileRecv\MobileFile\IMG_20190926_000234.jpg)]

使用数组的步骤

(1)声明数组:
语法:

数据类型 [ ] 数组名;

或者

数据类型 数组名 [ ];

(2)分配空间:
语法:

数组名 = new 数据类型 [数组长度] ;

或者
数据类型 [ ] 数组名 = new 数据类型[数组长度] ;

(3)赋值:
语法:

数组名 [下标值] ;

在java中还提供了另外一种创建数组的方式,它声明数组,分配空间和赋值合并完成

语法:

数据类型[ ] 数组名 = {值1,值2,值3,……,值n};

数组元素初始化

数据类型初始值
int0
double0.0
char‘\n0000’
booleanfalse

数组排序(从小到大)

语法:

Arrays . sort(数组名) ;

示例代码:

import java.util.Arrays;
import java.util.Scanner;
public class Test {
	public static void main(String[] args) {
		int[] scores = new int[5];	//成绩数组
		Scanner input = new Scanner(System.in);
		System.out.println("请输入5位学员的成绩:"); 
		//循环录入学员成绩
		for(int i = 0;i < scores.length; i++) {
			scores[i] = input.nextInt();
		}
		Arrays.sort(scores);		//对数组进行升序排序
		System.out.print("学员成绩按升序排序");
		//利用循环输出学员成绩
		for(int i = 0; i < scores.length; i++) {
			System.out.print(scores[i] + "  ");
		}
	}

}

运行效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sZlJuyeD-1569547747891)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569498368104.png)]

向数组插入元素

示例代码:

import java.util.Scanner;
public class Test {
	public static void main(String[] args) {
		int[] list = new int[6];	//长度为6的数组
		list[0] = 99;
		list[1] = 85;
		list[2] = 82;
		list[3] = 63;
		list[4] = 60;
		
		
		int index = list.length;	//保存新增成绩插入位置
		System.out.println("请输入新增成绩:");
		Scanner input = new Scanner(System.in);
		int num = input.nextInt();	//输入要插入的数据
		//找到新元素的插入位置
		for(int i = 0; i < list.length; i++) {
			if(num > list[i]) {
				index = i;
				break;
			}
		}
		//元素后移
		for(int j = list.length-1;j > index;j--) {
			list[j] = list[j-1];		//index下标开始的元素后移一个位置
		}
		list[index] = num;			//插入数据
		System.out.println("插入成绩的下标是:"+index);
		System.out.println("插入后的成绩信息是:");
		for(int k = 0; k < list.length;k++) {	//循环输出目前数组中的数据
			System.out.print(list[k] + "\t");
		}
	}
}

运行效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QOyfiW9B-1569547747892)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569501704787.png)]

循环结构进阶

什么是二重循环

​ 什么是二重循环呢?简单来说,二重循环就是一个循环体内又包含了另一个完整的循环结构

while 循环,do—while 循环和for 循环,这三种循环之间是可以互相嵌套的

语法:

// while 与 while 循环嵌套
while(循环条件1){
    //循环操作1
    while(循环条件2){
         //循环操作2
    }
}

// do-while 与 do-while 循环嵌套
do{
    //循环操作1
    do{
        //循环操作2
    } while(循环条件2);
} while(循环条件1);

// for 与 for 循环嵌套
for(循环条件1){
    //循环操作1
    for(循环条件2){
        //循环操作2
	}
}

// while 与 for 循环嵌套
while(循环条件1){
    //循环操作1
    for(循环条件2){
        //循环操作2
	}
}

如何使用二重循环结构

示例代码:

import java.util.Scanner;
public class Test {
	public static void main(String[] args) {
		int[]score = new int[4];					//成绩数组
		int classNum = 3;							//班级数量
		double sum = 0.0;							//成绩总和
		double[] average = new double[classNum];	//平均成绩数组
		//循环输入学员成绩
		Scanner input = new Scanner(System.in);
		for(int i = 0; i<classNum; i++) {			//外层循环控制班级数量
			sum = 0.0;								//成绩总和归0
			System.out.println("请输入第" + (i+1) + "个班级的成绩:");
			for(int j = 0;j<score.length; j++) {	//内层循环控制每个班的参赛人数
				System.out.print("第" + (j+1) + "个学员的成绩:");
				score[j] = input.nextInt();
				sum = sum + score[j];				//成绩累加
			}
			average[i] = sum / score.length;		//计算平均分
			System.out.println("第" + (i+1) + "个班级参赛学员的平均分是:" + average[i] + "\n");
		}
	}
}

运行效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2bBboxfh-1569547747892)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569502650320.png)]

在二重循环中使用 continue 语句

示例代码:

import java.util.Scanner;
public class Test {
	public static void main(String[] args) {
		int[] score = new int[4];			//成绩数组
		int classnum = 3;					//班级数量
		double sum = 0.0;					//成绩总和
		double[] average = new double[classnum];//平均分成绩数组
		int count = 0;						//记录85分以上学员人数
		//循环输入学员成绩
		Scanner input = new Scanner(System.in);
		for(int i = 0;i<classnum;i++) {
			sum = 0.0;						//成绩总和归0
			System.out.println("请输入第" + (i+1) + "个班级的成绩");
			for(int j = 0; j < score.length;j++) {
				System.out.print("第" + (j+1) + "个学员的成绩:");
				score[j] = input.nextInt();
				sum = sum + score[j];		//成绩累加
				if(score[j]<85) {			//成绩小于85,则跳出本轮循环
					continue;
				}
				count++;
			}
			average[i] = sum / score.length;
				System.out.println("第" + (i+1) + "个班级参赛学员的平均分是:" + average[i] + "\n");
		}
		System.out.println("成绩85分以上的学员人数有" +count+ "人");
	}
}

运行效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fcSGqr5D-1569547747893)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569502876191.png)]

从运行结果中可以看出,当输入的成绩小于85分时,continue 语句后面的 count++不会执行,而是回到内层 for 循环的开始继续输入下一个学员的成绩。如果输入的成绩大于85分,则会执行count++,输入完三个班级所有参赛学员的成绩后,打印出 count 的值,所以在内层循环中的continue语句,跳转时是跳过了内层循环中的剩余语句进入内层循环的下一次循环

在二重循环中使用 break 语句

示例代码:

import java.util.Scanner;
public class Test {
	public static void main(String[] args) {
		int count = 0;					//计数器,记录一共买了几件衣服
		String choice;					//顾客选择是否离开
		Scanner input = new Scanner(System.in);
		for(int i = 0;i < 5;i++) {
			System.out.println("欢迎光临第" + (i+1) + "家专卖店");
			for(int j = 0;j < 3;j++) {
				System.out.print("要离开吗(y/n)?");
				choice = input.nextLine();
				//如果离开,则跳出,进入下一家店
				if("y".equals(choice)) {
					break;
				}
				System.out.println("买了一件衣服");
				count++;//计数器加1
			}
			System.out.println("离店结账\n");
		}
		System.out.println("总共买了" + count + "件衣服");
		choice = input.nextLine();
	}
}

运行效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lBhDrFy6-1569547747893)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569503249522.png)]

根据专卖店的数量得到外层循环的条件,根据限购衣服的数量得到内层循环的条件,在内层循环中,如果用户选择离开,则跳出内层循环,离店结账,进入下一家店,当五家专卖店都购物完毕时,打印出总共购买了几件衣服

二重循环中 continue 和 break 语句的对比

在二重循环中使用 break 语句

示例代码:

import java.util.Scanner;
public class Test {
	public static void main(String[] args) {
		int count = 0;					//计数器,记录一共买了几件衣服
		String choice;					//顾客选择是否离开
		Scanner input = new Scanner(System.in);
		for(int i = 0;i < 5;i++) {
			System.out.println("欢迎光临第" + (i+1) + "家专卖店");
			for(int j = 0;j < 3;j++) {
				System.out.print("要离开吗(y/n)?");
				choice = input.nextLine();
				//如果离开,则跳出,进入下一家店
				if("y".equals(choice)) {
					break;
				}
				System.out.println("买了一件衣服");
				count++;//计数器加1
			}
			System.out.println("离店结账\n");
		}
		System.out.println("总共买了" + count + "件衣服");
		choice = input.nextLine();
	}
}

运行效果:

[外链图片转存中…(img-lBhDrFy6-1569547747893)]

根据专卖店的数量得到外层循环的条件,根据限购衣服的数量得到内层循环的条件,在内层循环中,如果用户选择离开,则跳出内层循环,离店结账,进入下一家店,当五家专卖店都购物完毕时,打印出总共购买了几件衣服

二重循环中 continue 和 break 语句的对比

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UMGZhfIP-1569547747893)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1569503568924.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值