Java循环--打印四个数字图案/十进制转十六进制

for循环

已知循环次数的循环!

for(初始值;退出循环的条件;循环后的操作){
循环执行语句;
}

实例1.
在这里插入图片描述

class Home151{    
    public static void main(String[] args){         
       for(int i=1;i<=6;i++){    //打印行数        
           for(int j=1;j<=i;j++){  //打印每一行的数字               
           System.out.print(j+" ");//打印完数字加一个空格          
           }             
         System.out.println(); //每行数字打印完换行       
       }    
    }
 }
class Home152{     
    public static void main(String[] args){         
      for(int i=1;i<=6;i++){    //行数循环,一共6行         
            for(int j=1;j<=7-i;j++){ //每一行要打印的数字是7-行数个           
                System.out.print(j+" ");
            }             
          System.out.println();//换行       
      }    
   }
}
class Home153{   
    public static void main(String[] args){        
       for(int i=1;i<=6;i++){//打印6行            
            for(int k=1;k<=6-i;k++){//打印数字前边的空格               
                System.out.print("  "); //每次打印两个空格,一个数字位,一个是数字之间的空格  
            }            
            for(int j=i;j>=1;j--){//打印数字                
                System.out.print(j+" ");           
            }          
          System.out.println();           
        }   
    }
}
class Home154{    
   public static void main(String[] args){        
      for(int i=1;i<=6;i++){    //打印行数        
         for(int j=1;j<=7-i;j++){    //打印每一行数字           
            System.out.print(j+" ");            
         }           
         System.out.println();            
         for(int k=0;k<=i-1;k++){  //从第二行开始数字前的空格!              
            System.out.print("  ");            
         }    
      }    
   }
}

经典例题:数字金字塔,具体实现见我的博客Java02✌!
在这里插入图片描述小结:
打印数字金字塔,*金字塔等,优先考虑绝对值函数,如上图,其次就是找规律吧,思路要清晰,首先考虑一共要打印几行,再思考每一行要打印的东西满足什么样的规律,在开始循环输出就搞定啦!

while循环

未知循环次数。

初始化;
while(判断进入循环的条件语句){
循环需执行的语句;
}

巧妙运用while实现无限循环

初始化;
while(true){
执行语句;
}

实例2.
输入一个十进制数,将它转为十六进制数;

import java.util.*;class Home12{    
     public static void main(String[] args){        
         Scanner input=new Scanner(System.in);        //1.提示用户输入一个十进制数;        
         System.out.print("Enter the number:");        
         int num=input.nextInt();        //2.定义一个空字符串存放转为十六进制的数  
         String str="";        //3.循环除16取余        
         while(true){            
              int rest=num%16;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
              rest=num%16;//123%16            
           if(rest<=9){                
               str=rest+str;//逆序拼接s=rest=s            
           }            
           else {                
               str=(char)(rest+55)+str;//大于9的数字转字符           
           }                          
             num=num/16;            
           if(num==0){                
                 break;            
           }        
       }       
    System.out.println("0X"+str);     
  }
}

小结:十进制转十六进制,除16取余倒叙排列,主要问题就是提前不清楚除多少次,所以用while循环,还有一个需要特别注意的就是10~15处理方法。A是65,10先转换为65需要+55,在转成字符A。
在这里插入图片描述

do-while循环

与while 循环相近,不过是先执行,再判断,而while循环是先判断再执行。

初始化;
do{
执行语句;
}while(判断语句)

总结:
当一条语句需要执行多次时,我们可以利用以上三种循环结构,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就在内存中释 放。而while循环使用的变量在循环结束后还可以继续使用 。
循环是道卡儿,还需多多练习,多多思考,最重要还是要脑子灵光,思路清晰,才能学好循环。加油呀!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值