循环流程控制与数组
循环流程控制与数组
循环流程控制
for循环
for循环基础语法
for (表达式1;表达式2;表达式3){
语句块(循环体)
}
//表达式1:初始值 表达式2:循环条件(boolean) 表达式3:循环增量(递增/递减)使用场景(固定次数的循环)
/**
* for循环
*/
public class ForDemo01 {
public static void main(String[] args) {
//完成打印十句Hello World
for (int i = 0; i <5 ; i++) {
System.out.println("Hello World");
}
}
}/**
* 计算从1累加到100的和 并输出累加的结果
*/
public class ForDemo02 {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <=100 ; i++) {
sum+=i;
}
System.out.println("和是:"+sum);
}
}break语句
break语句可用于循环语句或switch语句中
break用于循环时,可终止循环,直接执行循环后面的语句,常常与条件语句一起使用
/**
* break终止循环
*/
public class forDemo04 {
public static void main(String[] args) {
//计算1-100的和,当和大于4000时,程序终止
int sum = 0;
for (int i = 1; i <=100 ; i++) {
sum+=i;
if (sum >= 4000){
System.out.println(sum);
break;
}
}
}
}continue语句
continue 只能用于循环中,可以跳过循环体中剩余语句而执行下一次循环
/**
* continue关键字
* 能够结束当前的循环 继续下一次循环
*/
public class ForDemo05 {
public static void main(String[] args) {
//逢七过
for (int i =1; i <=100; i++) {
if (i%10==7 || i%7==0 || i/10==7){
continue;
}
System.out.println(i);
}
}
}循环省略条件
/**
* 循环省略条件
*/
public class ForDemo07 {
public static void main(String[] args) {
for (int i = 0;; i++) {
System.out.println(i+"");
if (i==10){
break;
}
}
}
}//循环省略增量
for (int i = 0; i <=10 ;) {
System.out.println(i+" ");
i++;
}
System.out.println();
int i = 0;
for (;;){
System.out.println(i+" ");
if (i == 10) {
break;
}
i++;
}
while循环
不计次循环一般采用while/do-while循环
while循环的语法
while(循环条件){
循环体;
}while循环案例
Random random = new Random();
while (dise1!=dise2||dise1!=dise3){
dise1 = random.nextInt(6)+1;
dise2 = random.nextInt(6)+1;
dise3 = random.nextInt(6)+1;
System.out.println("dise1:"+dise1+" dise2:"+dise2+" dise3:"+dise3);
}
}
}
do while 循环
do while 循环的语法
do{
循环体;
}while(循环条件);do while 循环案例
import java.util.Random; |
while 和 do while 的区别
while:可能一次都不执行
do while :一定要执行一次
嵌套循环
/** |
/** |
/** |
数组
数组是一种用于存储相同类型数据元素的数据结构。它是一系列按照顺序排列的元素集合,可以通过索引访问每个元素
基本类型数组
创建基本类型数组
数组的声明语法
数据类型 [] 数组名 = new 数据类型 [大小];
基本类型数组默认值
整数类型(byte short int long): 0
浮点数类型( float double) : 0.0
布尔类型(boolean) ; false
字符类型(char) ; 空字符(‘\u0000’)
访问数组元素
/** |
- 使用元素初始化数组
//静态初始化数组 |
for循环遍历数组元素
/**
* 数组的遍历
*/
public class ArrayDemo02 {
public static void main(String[] args) {
//数组的静态初始化
int [] arr = {15,3,9,12,6,11};
//查看数组的所有元素
System.out.println("数组的长度"+arr.length);
for (int i = 0; i <arr.length ; i++) {
System.out.println(arr[i]);
}
int sum = 0;
for (int i = 0; i <arr.length ; i++) {
sum +=arr[i];
}
System.out.println("数组的和是"+sum);
}
}课堂练习:斐波那契数列
import java.util.Scanner;
/**
* 斐波那契数列
* 第一个数字是0 第二个数字是1
* 后面的数字是前两个数字之和
* 要求: 接收键盘的输入n 循环生成前n项斐波那契数列
* 生成数列之后 计算前n个数字的和
*/
public class Test02 {
public static void main(String[] args) {
System.out.println("请输入n");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int a1 = 0;
int a2 = 1;
int arr[] = new int[n];
arr[0] = a1;
arr[1] = a2;
for (int i = 2; i <arr.length ; i++) {
arr[i]=arr[i-1]+arr[i-2];
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
int sum = 0;
for (int i = 0; i <arr.length ; i++) {
sum +=arr[i];
}
System.out.println(sum);
}
}
二维数组
二维数组是指由多个一维数组组成的数组.可以看成是一个表格或矩阵,其中每个元素都有两个索引来定位,即行索引和列索引
二维数组在java中的声明和初始化语法
dataType[][] arrayName = new dataType[rowSize][columnSize];
遍历二维数组
/**
* 二维数组
*/
public class MatrixDemo {
public static void main(String[] args) {
//声明一个二维数组
int[][] matrix = new int[3][3];
//给第一行第一列赋值
matrix[0][0] = 11;
System.out.println(matrix[0][0]);
int [][] matrix2 = {
{1,2,3},
{4,5,6},
{7,8,9},
{10,11}
};
//二维数组的遍历
for (int i = 0; i <matrix2.length ; i++) {
for (int j = 0; j <matrix2[i].length ; j++) {
System.out.print(matrix2[i][j]+" ");
}
System.out.println();
}
}
}数组都是一组连续的内存空间,二维数组在内存空间中实质上就是一维数组 (内存中不存在二维数组!!!!)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 李福腾の博客!