全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java中绝对值函数的介绍与其妙用

一、绝对值函数使用说明

绝对值函数是JDK中Math.java中的实现方法,其用来得到表达式的绝对值。

其实现非常简单,源码如下:

 /**
 * Returns the absolute value of an {@code int} value.
 * If the argument is not negative, the argument is returned.
 * If the argument is negative, the negation of the argument is returned.
 *
 * <p>Note that if the argument is equal to the value of
 * {@link Integer#MIN_VALUE}, the most negative representable
 * {@code int} value, the result is that same value, which is
 * negative.
 *
 * @param a the argument whose absolute value is to be determined
 * @return the absolute value of the argument.
 */
 public static int abs(int a) {
 return (a < 0) ? -a : a;
 }

二、绝对值的特性及其运用。

     1、正数的绝对值是其本身。

     2、负数的绝对值是其相反数。

     3、零的绝对值是其本身。

绝对值:自减函数配合绝对值,先降序再升序。

int number = 6;
System.out.println("原值输出:");
while(number>=-6){
 number --;
 System.out.print(number+" ");
}
System.out.println("\n绝对值输出:");
number = 6;
while(number>=-6){
 number --;
 System.out.print(Math.abs(number)+" ");
}

输出结果:

原值输出:
5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 
绝对值输出:
5 4 3 2 1 0 1 2 3 4 5 6 7

三、案例

1、背景:输出如下图案。

  A 
  B A B 
  C B A B C 
 D C B A B C D 
 E D C B A B C D E 
 F E D C B A B C D E F 
 G F E D C B A B C D E F G

2、分析:

     1、A为中心点

     2、每一行,先降序,再升序

     3、字母可以换算成整数,'A' = 65。那么,每行首个输出字母为 'A' +行数。

     4、每行左右对称,每行输出字母数 = 行数*2 +1(字母A);

3、实现

1、实现分析中的1~3步。以‘A'为中心点,先降序,再升序输出每行图案。

 //调用
 print(5);

 /**
 * 先降序,再升序 实现
 * @param row
 */
 private static void print(int row){
 for(int i=0;i<2*row+1;i++){
  int printChar = 'A' + Math.abs(row-i);
  System.out.print(((char)printChar)+" ");
 }
 }

输出如下:

F E D C B A B C D E F

2、步骤4中,每行输出字母数 = 行数*2 +1(字母A),那么:

每行应该显示的字母除外的部分,打印空格。逻辑控制如下:

for(int j=0;j<2*row+1;j++){
 //逻辑输出字母。先降序、再升序逻辑输出的字母
 int printChar = 'A' + Math.abs(row-j);
 //如果 [逻辑控制字母] 大于 [规定输出字母],则:
 if(printChar>firstChar){
 //输出空格
 System.out.print(" ");
 }else{
 //输出字母
 System.out.print(((char)printChar)+" ");
 }
}

3、完整代码:

//完整调用
printWithRow(7);

/**
 * 先倒序 再正序 输出 英文大写字母
 * 
 * @param row 行
 */
private static void printWithRow(int row){
 for(int i=0;i<row;i++){
 //规定输出字母。每行第一个显示出来的字母
 int firstChar = 'A' + i;
 for(int j=0;j<2*row+1;j++){
  //逻辑输出字母。先降序、再升序逻辑输出的字母
  int printChar = 'A' + Math.abs(row-j);
  //如果 [逻辑控制字母] 大于 [规定输出字母],则:
  if(printChar>firstChar){
  //输出空格
  System.out.print(" ");
  }else{
  //输出字母
  System.out.print(((char)printChar)+" ");
  }
 }
 //输出回车
 System.out.println();
 }
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。


# java绝对值函数  # java中绝对值函数  # java的绝对值函数  # Java判断绝对值的方法总结  # Java得到一个整数的绝对值  # 不使用任何判断和比较语句  # 包括API  # Java中负数的绝对值竟然不一定是正数  # 升序  # 降序  # 中心点  # 行数  # 原值  # 第一个  # 英文  # 这篇文章  # 首个  # 有疑问  # absolute  # int  # argument  # equal  # Note  # Integer  # link  # gt  # returned  # negative 


相关文章: 宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  如何在云指建站中生成FTP站点?  个人网站制作流程图片大全,个人网站如何注销?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  建站之星备案流程有哪些注意事项?  建站与域名管理如何高效结合?  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  如何规划企业建站流程的关键步骤?  建站之星上传入口如何快速找到?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  公司网站设计制作厂家,怎么创建自己的一个网站?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  制作网站公司那家好,网络公司是做什么的?  Android使用GridView实现日历的简单功能  建站之星logo尺寸如何设置最合适?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  建站之家VIP精选网站模板与SEO优化教程整合指南  如何快速搭建高效可靠的建站解决方案?  建站之星多图banner生成与模板自定义指南  免费ppt制作网站,有没有值得推荐的免费PPT网站?  如何高效配置IIS服务器搭建网站?  ,购物网站怎么盈利呢?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  如何用花生壳三步快速搭建专属网站?  招贴海报怎么做,什么是海报招贴?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  建站之星如何防范黑客攻击与数据泄露?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  如何在宝塔面板创建新站点?  如何通过NAT技术实现内网高效建站?  深圳网站制作案例,网页的相关名词有哪些?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  如何选择香港主机高效搭建外贸独立站?  长沙企业网站制作哪家好,长沙水业集团官方网站?  高端建站如何打造兼具美学与转化的品牌官网?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  如何在腾讯云免费申请建站?  如何在服务器上三步完成建站并提升流量?  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  广州美橙建站如何快速搭建多端合一网站?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  如何在建站宝盒中设置产品搜索功能?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  如何用wdcp快速搭建高效网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。