for (循环变量初始化; 循环条件; 循环变量迭代){
循环体(可以多条语句);
}
1、循环条件返回的是一个布尔值的表达式
2、for(;循环判断条件;)中的初始化和变量迭代可以写到其他地方,但是两边的分号不能省略
public class for01{
public static void main(String[] args) {
int i = 1;
for (; i <=10;) {
System.out.println("您好" + i);
i++;
}
System.out.println(i);
}
}
3、循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开。循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。
public class for01{
public static void main(String[] args) {
for (int i=0, j = 0; i <=10; i++, j+=2) {
System.out.println("i=" + i+ "; j=" + j);
}
}
}
编程思想:1、化繁为简2、先死后活
while (循环条件){
循环体(语句);
循环变量迭代;
}
// 循环结构四要素:循环变量初始化、循环条件、循环体、循环变量迭代
public class while01{
public static void main(String[] args) {
int count = 1;
while (count <= 10){
System.out.println("niaho" + count);
count++;
}
}
}
1、循环条件是返回一个布尔值的表达式
2、while循环同for循环,是先判断再执行语句。
循环变量初始化;
do{
循环体(语句);
循环变量迭代;
}while(循环条件);
1、循环四要素,只是位置不同
2、先执行,再判断,也就是说,最少执行一次
3、最后的while有个分号 ;
1、循环条件是返回一个布尔值的表达式
2、do while循环是先执行,再判断,因此至少执行一次。
public class dowhile01{
public static void main(String[] args){
int i =1;
int count = 0;
do{
if ((i % 5 == 0) && (i %3!=0)){
count++;
}
i++;
}while(i <=200);
System.out.println("个数为:" + count);
}
}
1、循环最多不要超过三层,会造成可读性比较差。
for (int i=1;i<=9;i++){
for (int z = 1; z<=i; z++){
System.out.print(i + "*" + z + "=" + i*z + "\t");
};
System.out.println();
}
public class stars{
public static void main(String[] args){
int totalLevel = 100;
for (int level=1; level <= totalLevel; level++){
// 打印每行的空格
for (int space=1; space <= totalLevel-level; space++){
System.out.print(" ");
}
// 打印每行的 *
for (int star=1; star <= 2 * level -1; star++){
if (star==1 || star==2 * level -1 || level==totalLevel){
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
break语句用于终止某个语句块的执行,一般使用在switch或者循环中。
1、break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块。
2、标签的基本使用
public class break01{
public static void main(String[] args){
label01:
for (int j =0; j < 4; j++){
label02:
for (int i=0; i<10; i++) {
if (i==2){
break label01;
}
System.out.println("i=" + i);
}
}
}
}
1、continue语句用于结束本次循环,继续执行下一次循环
2、continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环,这个和break中的标签使用规则一样。
public class Continue01{
public static void main(String[] args){
label01:
for (int j =0; j < 4; j++){
label02:
for (int i=0; i<10; i++) {
if (i==2){
continue label01;
}
System.out.println("i=" + i);
}
}
}
}
return使用在方法中,表示跳出所在的方法。
注意:如果在main方法中使用return。 则会退出程序,这是和break的区别。
public class Return01{
public static void main(String[] args){
getMethod();
System.out.println("sss");
}
public static void getMethod(){
for (int i =1; i<3;i++){
if (i==2){
return;
}
System.out.println("i="+i);
}
}
}
1、输出1-100之间不能被5整除的数,每5个一行。
public class Work{
public static void main(String[] args){
int count =0;
for(int num=1; num<=100; num++){
if (num % 5 != 0){
System.out.print(num + "\t");
count++;
if (count % 5 == 0){
System.out.println();
}
}
}
}
}
2、输出小写字母a-z
for (char a = 'a'; a<='z'; a++){ //关键对char的使用
System.out.print(a+"\t");
}