Day05
for循环嵌套
案例一:
打印一个三行四列的长方形
public class S{
public static void main(String[] args){
for(int i = 0;i<3;i++){//控制行
for(int j = 0;j<4;j++){//控制列
System.out.print("*");
}
System.out.println();//换行
}
}
}
案列二
打印正直角三角形(左下)
public class S{
public static void main(String[] args){
for(int i = 0;i<5;i++){//控制行
for(int j = 0;j<i+1;j++){//控制列
System.out.print("*");
}
System.out.println();//换行
}
}
}
案例三
打印倒直角三角形(左上)
public class S{
public static void main(String[] args){
for(int i = 0;i<5;i++){//控制行
for(int j = 0;j<5-i;j++){//控制列
System.out.print("*");
}
System.out.println();//换行
}
}
}
案例四
打印倒直角三角形(右上)
public class S{
public static void main(String[] args){
for(int i = 0;i<5;i++){//控制行
for(int k = 0;k<i;k++){
System.out.print(" ");
}
for(int j = 0;j<5-i;j++){//控制列
System.out.print("*");
}
System.out.println();//换行
}
}
}
案例五
打印正等腰三角形
public class S{
public static void main(String[] args){
for(int i = 0;i<4;i++){//控制行
for(int k = 0;k<3-i;k++){
System.out.print(" ");
}
for(int j = 0;j<2*i+1;j++){//控制列
System.out.print("*");
}
System.out.println();//换行
}
}
}
案例六
打印正等腰三角形(空心)
public class S{
public static void main(String[] args){
for(int i = 0;i<4;i++){//控制行
for(int k = 0;k<3-i;k++){
System.out.print(" ");
}
for(int j = 0;j<2*i+1;j++){//控制列
//每行的第一列 || 每行的最后一列 || 最后一行
if(j==0 || j==2*i || i == 3){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();//换行
}
}
}
案例七
打印倒等腰三角形
public class S{
public static void main(String[] args){
for(int i = 0;i<4;i++){//控制行
for(int k = 0;k<i;k++){
System.out.print(" ");
}
for(int j = 0;j<7-2*i;j++){//控制列
System.out.print("*");
}
System.out.println();//换行
}
}
}
案例八
打印倒等腰三角形(空心)
public class S{
public static void main(String[] args){
for(int i = 0;i<4;i++){//控制行
for(int k = 0;k<i;k++){
System.out.print(" ");
}
for(int j = 0;j<7-2*i;j++){//控制列
if( j==0 || j==7-2*i-1 || i==0){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();//换行
}
}
}
案例九
打印九九乘法表
public class S{
public static void main(String[] args){
for(int i = 1;i<=9;i++){
for(int j = 1;j<=i;j++){
System.out.print(j+"X"+i+"="+i*j+"\t");
}
System.out.println();//换行
}
}
}
打印九九乘法表,要求:输出结果在右上
public class S{
public static void main(String[] args){
for(int i = 1;i<=9;i++){
for(int k =1;k<i;k++){
System.out.print("\t");
}
for(int j = i;j<=9;j++){
System.out.print(i+"X"+j+"="+i*j+"\t");
}
System.out.println();//换行
}
}
}
while循环、do-while循环
while循环:
while(表达式){
…代码…
}
表达式的结果和if语句是同类型的,都是boolean类型。表达式结果为true,则执行其循环内部的代码,表达式结果为false,则跳出整个循环。
do-while循环
do{
…代码…
}while(表达式);
do-while循环会先执行一次其循环内部的代码,再判断表达式是否为true,是则再次执行,为false则跳出。
for循环、while循环、do-while循环之间的区别:
for循环和while循环是先判断再执行,do-while循环是先执行一次再判断,它们的判断条件结果都是boolean类型。在应用场景中,若是能确定循环次数,用for循环,若是不能确定循环次数,则用while循环或do-while循环。
特殊的流程控制语句
break:作用于循环中,表示跳出整个循环。在多层for循环中break只能跳出一层循环(至于跳哪一层遵循最近原则,如果是在最内层,就跳出最内层的for循环)。当指定一个标签名称给循环时,可以在break后写上指定标签,则会跳出指定循环(移离至当前标签指示的循环的末尾)。
continue:作用于循环中,表示跳过循环体的剩余部分进入到下一次循环,它和break都是针对最近的循环。当指定一个标签名称给循环时,可以在continue后写上指定标签,它会到达标签所在位置,并重新进入紧接在那个标签后面的循环。
return:必须放在方法中
作用1:表示当前方法结束,return之后的语句不会执行
作用2:返回方法指定类型的返回值