相同操作执行多次
最基本的循环结构
while (布尔表达式){
//循环内容
}
package com.Shelton.struct;
public class WhileDemo02 {
public static void main(String[] args) {
//输出1~100
int i = 0;
while(i<100){
System.out.println(++i);
}
}
}
package com.Shelton.struct;
public class WhileDemo03 {
public static void main(String[] args) {
//1+2+3+...+100= ?
int i = 0;
int sum = 0;
while (i<100){
sum = ++i + sum;
}
System.out.println(sum);
}
}
do {
//代码语句
}while();
package com.Shelton.struct;
public class DoWhileDemo01 {
public static void main(String[] args){
//1+2+3+...+100= ?
int i = 0;
int sum = 0;
do {
sum = sum + i;
i++;
}while(i<100);
System.out.println(sum);
}
}
package com.Shelton.struct;
public class DoWhileDemo02 {
public static void main(String[] args) {
int a = 0;
while (a<0){
System.out.println(a);//不执行
a++;
}
System.out.println("==================");
do {
System.out.println(a);
a++;
}while (a<0);
}
}
/*
=================
0
*/
能使循环结构变得更简单,for是支持迭代的一种通用结构,是最有效、最灵活的循环结构
for(初始化;布尔表达式;更新){
//代码语句
}
package com.Shelton.struct;
public class ForDemo01 {
public static void main(String[] args) {
int a = 1;//初始化条件
while (a<=6){
System.out.println(a);//循环体
a+=2;//迭代——每一次循环a = a + 2都会将a的值刷新
}
System.out.println("while循环结束!");
// 初始化 条件判断 迭代
for (int i=1;i<=6;i++){
System.out.println(i);
}
System.out.println("for循环结束!");
}
}
/*
1
3
5
while循环结束!
1
2
3
4
5
6
for循环结束!
*/
for (; ;){}
package com.Shelton.struct;
public class ForDemo02 {
public static void main(String[] args) {
//计算0~100v之间奇数和偶数的和
int i = 1;
int ji = 0;
int ou = 0;
//0 2 4 6 8 .......98 100
//1 3 5 7 9 .......97 99
for (i=1;i<=50;i++){
ji = 2*i-1 + ji;
ou = 2*i + ou;
}
System.out.println("奇数和为"+ji);
System.out.println("偶数和为"+ou);
}
}
package com.Shelton.struct;
public class ForDemo03 {
public static void main(String[] args) {
int oddSum = 0;//even number 是偶数 odd number 是奇数
int evenSum = 0;
for (int i = 0; i <= 100; i++) {
if (i % 2 != 0) {//将奇数偶数分开,偶数/2余数为0,不为0的分另一组
oddSum += i;
} else {
evenSum += i;
}
}
System.out.println("奇数的和:"+oddSum);
System.out.println("奇数的和:"+evenSum);
}
}
package com.Shelton.struct;
public class ForDemo04 {
public static void main(String[] args) {
//用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
int i = 0;
for(i=0;i<=1000;i++){
if(i%5==0){
System.out.println(i);
}
}
}
}
/*
0
5
10
15
...
990
995
1000
*/
package com.Shelton.struct;
public class ForDemo08 {
//用for循环输出1-1000之间能被5整除的数,并且每行输出3个数
public static void main(String[] args) {
for (int i = 1; i <= 1000; i++) {
if (i%5==0){
System.out.print(i+"\t");//"\t"相比” “可以把空格对齐
} // print不换行输出
if (i%15==0){//0能被15整除会直接换行相当于print("\n");
System.out.println();
}
}
}
}
/*
5 10 15
20 25 30
35 40 45
50 55 60
... ... ...
980 985 990
995 1000
*/
package Com.Shelton.struct;
public class ForDemo09 {
//打印99乘法表
public static void main(String[] args) {
int count = 0;
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
count = i*j;
System.out.print(i+"*"+j+"="+count+"\t");
if (j%9==0){
System.out.println();
}
}
}
}
}
/*
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9
2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
*/
public class ForDemo10 {
public static void main(String[] args) {
int count = 0;
for (int j = 1; j <= 9; j++) {
for (int i = 1; i <= 9; i++) {
count = i*j;
if(i<=j){//舍去 1*1=1后面的1*2=2 1*3=3 1*4=4 1*5=5......
//1*2=2 2*2=4后面的2*3=6 2*4=8 2*5=10......
System.out.print(i + "*" + j + "=" + count + "\t");//i*j=count
}
if(i%9==0){//在输出9个数时换行
System.out.println();
}
}
}
}
}
/*
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
*/
package Com.Shelton.struct;
public class ForDemo11 {
public static void main(String[] args) {
for (int j = 1; j <= 9; j++) {
for (int i = 1; i <= j; i++) {//将if (i<j)放进for的判断条件里
System.out.print(j+"*"+i+"="+(j*i)+"\t");
}
System.out.println();//内层不会输出大于j的数,因此不用判断是否输出了9个数直接换行
}
}
}
for(声明语句 :表达式)
{
\\代码语句
}
package Com.Shelton.struct;
public class ForDemo12 {
public static void main(String[] args) {
int[] numbers = {10,20,30,40,50}; //定义了一个数组
for (int i = 0; i < 5; i++) {
System.out.println(numbers[i]);//输出数组
}
System.out.println("=============================");
for (int x:numbers){ //遍历数组的元素
System.out.println(x);
}
}
}
/*
10
20
30
40
50
=============================
10
20
30
40
50
*/
package Com.Shelton.struct;
public class BreakDemo {
public static void main(String[] args){
int i = 0;
while (i<100){
i++;
System.out.println(i);
if (i==5){
break;
}
}
}
}
/*
1
2
3
4
5
*/
package Com.Shelton.struct;
public class ContinueDemo {
public static void main(String[] args) {
int i = 0;
while (i<100){
i++;
if (i%10==0){
System.out.println();
continue;//遇到能整除10的数直接结束循环,不执行
}
System.out.print(i);
}
}
}
/* 123456789
111213141516171819
212223242526272829
313233343536373839
414243444546474849
515253545556575859
616263646566676869
717273747576777879
818283848586878889
919293949596979899
*/
package Com.Shelton.struct;
public class ContinueDemo {
public static void main(String[] args) {
int i = 0;
while (i<100){
i++;
if (i%10==0){
System.out.println();
break;
}
System.out.print(i);
}
}
}
/*
123456789
*/
package Com.Shelton.struct;
public class ContinueDemo {
public static void main(String[] args) {
int i = 0;
while (i<100){
i++;
if (i%10==0){
System.out.println();
continue;
}
System.out.print(i);
}
}
}
/*
123456789
111213141516171819
212223242526272829
313233343536373839
414243444546474849
515253545556575859
616263646566676869
717273747576777879
818283848586878889
919293949596979899
*/
package Com.Shelton.struct;
public class LabelDemo {
public static void main(String[] args) {
//打印101-150之间的所有质数
outer:for (int i = 101; i <= 150; i++) { //跳转到指定地点
for (int j = 2; j<=i/2; j++){
if (i%j==0){
continue outer;//跳出循环,把所有能整除的数排除
}
}
System.out.println(i+"");
}
}
}
/*
101
103
107
109
113
127
131
137
139
149
*/
package Com.Shelton.struct;
public class TestDemo01 {
/*
打印三角形 5行
*
***
*****
*******
*********
*/
public static void main(String[] args) {
for (int j = 0; j < 5; j++){
for (int i = 4; i >= 0; i--) {
if (i>=j){
System.out.print(" ");
}
}
/*
-----
----
---
--
-
*/
for (int i = 0; i <= 4; i++) {
if (i<=j){
System.out.print("*");
}
}
/*
*
**
***
****
*****
*/
for (int i = 0; i <= 4; i++) {
if (i<j){
System.out.print("*");
}
}
/*
*
**
***
****
*/
System.out.println();
}
}
}
/*
*
***
*****
*******
*********
*/
package Com.Shelton.struct;
public class TestDemo02 {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
for (int j = 5; j > i; j--) {
System.out.print(" ");
}
/*
for (int j = 5; j > 0; j--) { //for里的嵌套if可以改成for的循环判断条件
if (j>i){
System.out.print(" ");
}
}
*/
for (int j = 0; j <= i; j++) {
System.out.print("*");
}
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
原文:https://www.cnblogs.com/Sheltonz/p/13660019.html