java 语言有三种基本控制结构:顺序结构、选择结构、循环结构。
常用循环结构有for 、while、do while。
for(开始条件;循环条件;更改条件){
循环体;
}
for 循环结构
打印 0 到 10 的数
public class Test1{
public static void main(String[] args){
for(int i = 0; i <= 10; i++){
System.out.print(i + " ");
}
System.out.println();
}
}
打印 10 到 0 的数
public class Test2{
public static void main(String[] args){
for(int i = 10; i >= 0; i--){
System.out.print(i + " ");
}
System.out.println();
}
}
打印 8,88,888,8888,
public class Test3{
public static void main(String[] args){
for(int i = 8; i < 10000; i = 10 * i + 8){
System.out.print(i + ",");
}
System.out.println();
}
}
嵌套循环
1、外循环运行一次,内循环运行多次
2、外循环控制 行,内循环控制 列
public class Test3{
public static void main(String[] args){
for(int i = 1; i <= 3; i++){
System.out.println("i = "+ i);
for(int j = 1;j <= 4; j++){
System.out.println("j = "+ j);
}
}
}
}
public class Test4{
public static void main(String[] args){
for(int i = 1; i <= 3; i++){
for(int j = 1;j <=4; j++){
System.out.print("*");
}
System.out.println();
}
}
}
运行结果为:
****
****
****
上三角形
*
**
***
****
*****
public class Test5{
public static void main(String[] args){
for(int i = 0;i <= 5;i++){
for(int j = 0; j <= i;j++){
System.out.print("*");
}
System.out.println();
}
}
}
下三角形
*
**
***
****
*****
public class Test6{
public static void main(String[] args){
for(int i = 0; i < 5; i++){
for(int j = 3; j >= i;j--){
System.out.print(" ");
}
for(int k = 0;k <= i;k++){
System.out.print("*");
}
System.out.println();
}
}
}
全三角形
*
***
*****
*******
*********
public class Test6{
public static void main(String[] args){
for(int i = 0;i < 5; i++){
for(int j = 3;j >= i; j++){
System.out.print(" ");
}
for(int k = 1;k <= 2* i + 1; k++){
System.out.print("*");
}
System.out.println();
}
}
}
菱形
public class Test7_for {
public static void main(String[] args) {
int num = 4; // 控制菱形 一条边 * 数
for(int i = 1;i <= num;i++) {
for(int j = num - 1;j>=i;j--) {
System.out.print(" ");
}
for(int k = 1;k<=2*i-1;k++) {
if(k == 1 || k == 2*i -1) {
System.out.print("*");
}else {
System.out.print(" ");
}
}
System.out.println();
}
for(int i = 1;i<=num - 1;i++) {
for(int j = 1;j<= i;j++) {
System.out.print(" ");
}
for(int k=1;k<= 2*(num - 1) -(2*i -1);k++) {
if(k==1 || k == 2*(num - 1) -(2 * i -1)) {
System.out.print("*");
}else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
九九乘法表
public class Test7{
public static void main(String[] args){
for(int i = 1;i <= 9;i++){
for(int j = 1; j <= i; j++){
System.out.print(i+" * "+ j +" = "+ i * j + " "); //字符串内按Tab键形成制表符,间隔相等
}
System.out.println();
}
}
}
break 、continue跳出循环
break 终止当前循环
continue 跳出本次循环,进入下一次循环
接收用户输入的10次数字,如果不是88继续输入,找到88就返回
import java.util.Scanner;
public class Test8{
public static void main(String[] args){
for(int i = 1; i <= 10;i++){
int input = new Scanner(System.in).nextInt();
if(input != 88){
System.out.println("请继续输入");
continue; //跳出本次循环,进入下一次循环
}else if(input == 88){
break; //终止循环
}
}
}
}
注: break 、continue 后不可有代码,会报错
while
while 循环结构 先 判断后执行
猜字游戏1
import java.util.Random;
import java.util.Scanner;
public class Test9{
public static void main(String[] args){
// nextInt(100),里面的100 表示随机数在 0 到 100 之间(不包括100)
int random = new Random().nextInt(100);
while(random > 80){ // 只有random 大于 80 时才进入循环
int input = new Scanner(System.in).nextInt();
if(input > random){
System.out.println("猜大了");
}else if(input < random){
System.out.println("猜小了");
}else{
System.out.println("猜对啦");
break; //此while循环为死循环,break 可终止此循环
}
}
}
}
do - while
do - while 循环结构 先 执行后判断,至少执行一次
do{
循环代码;
}while(循环条件);
猜字游戏2
import java.util.Random;
import java.util.Scanner;
public class Test10{
public static void main(String[] args){
int random = new Random().nextInt(100);
do{
int input = new Scanner(System.in).nextInt();
if(input > random){
System.out.println("猜大了");
}else if(input < random){
System.out.println("猜小了");
}else{
System.out.println("猜对了");
break;
}
}while(random > 80); //至少循环一次
}
}