精华内容
参与话题
问答
  • 先让我们来试一试 package ... System.out.println(1.0 / 0);  } } 你认为的我认为的它应该会抛出  ArithmeticException 异常 但是它现在输出了 Infinity 为什么呢?.

    先让我们来试一试

    package erdan.demo;
    public class TestDouble {   
     public static void main(String[] args) {   
          System.out.println(1.0 / 0);   
     }
    }
    

    你认为的我认为的它应该会抛出  ArithmeticException 异常

    但是它现在输出了 Infinity

    为什么呢?

    Double 数据类型支持无穷大

    还有其他类型支持吗?

    有,还有 Float

    下面我们来查看 Double 源码,可以看到

    /** 
      * 一个常数,保持类型的正无穷大 
     */
    public static final double POSITIVE_INFINITY = 1.0 / 0.0;
    /**
     * 一个常数,保持类型的负无穷大 
    */
    public static final double NEGATIVE_INFINITY = -1.0 / 0.0;
    /** 
      * 一个常数,非数值类型 
    */
    public static final double NaN = 0.0d / 0.0;
    

    下面来试验下 0.0/0 与 -1.0/0

    Double 正无穷 = 1.0 / 0;
    Double 负无穷 = -1.0 / 0;
    System.out.println("正无穷:" + 正无穷);
    System.out.println("负无穷:" + 负无穷);
    Double 非数值 = 0.0 / 0;
    System.out.println("非数值 0.0/0 ->" + 非数值);
    

    输出:

    正无穷:Infinity
    负无穷:-Infinity
    非数值 0.0/0 ->NaN
    

    对无穷大进行运算

    下面来测试对 Float 类型与 Doubloe 类型无穷大进行运算

    public static void testFloatInfinity() {
         Float infFloat = Float.POSITIVE_INFINITY;     
         Double infDouble = Double.POSITIVE_INFINITY;     
         System.out.println("infFloat + 5 = " + (infFloat + 5));     
         System.out.println("infFloat - infDouble = " + (infFloat - infDouble));     
         System.out.println("infFloat * -1 = " + (infFloat * -1));
    }
    

    输出:

    infFloat + 5 = InfinityinfFloat - infDouble = NaNinfFloat * -1 = -Infinity
    

    可以注意到 1,3 行运算符合我们的预计结果

    ps: Infinity- Infinity 的结果不是数字类型

    对这些值进行判断

    public static void checkFloatInfinity() {   
     Double 正无穷 = 1.0 / 0;    
     Double 负无穷 = -1.0 / 0;    
     Double 非数值 = 0.0 / 0;    
     System.out.println("判断正无穷: " + Double.isInfinite(正无穷));    
     System.out.println("判断负无穷: " + (Double.NEGATIVE_INFINITY == 负无穷));    
     System.out.println("判断非数值(==): " + (Double.NaN == 非数值));    
     System.out.println("判断非数值(isNaN):  " + Double.isNaN(非数值));
    }
    

    输出:

    判断正无穷: true
    判断负无穷: true
    判断非数值(==): false
    判断非数值(isNaN):  true
    

    ps: 判断 NaN 不要使用 ==

    公众号

    展开全文
  • fmt包的Print、Println和Printf 大纲 Print Println Printf 打印格式化参数 总结 视频地址:https://www.bilibili.com/video/BV14a4y177XG?p=11 Print 在go中,可以利用go doc子命令来查看包、常量、类型、...

    fmt包的Print、Println和Printf

    大纲

    视频地址https://www.bilibili.com/video/BV14a4y177XG?p=11

    Print

    在go中,可以利用 go doc 子命令来查看包、常量、类型、变量、方法、结构体的文档

    通过在命令行中输入go doc fmt.Print,先查看下fmt.Print的文档

    package fmt // import "fmt"
    
    func Print(a ...interface{}) (n int, err error)
        Print formats using the default formats for its operands and writes to
        standard output. Spaces are added between operands when neither is a string.
        It returns the number of bytes written and any write error encountered.
    1. 文档显示了Print所在的包是fmt
    2. 看到了Print函数定义的参数、返回值与文档

    Print采用默认格式将其参数格式化并写入标准输出。如果两个相邻的参数都不是字符串,会在它们的输出之间添加空格。返回写入的字节数和遇到的任何错误。

    package main
    import "fmt"
    func main(){
        n, err := fmt.Print(1, 2, 3, "\n") // 1 2 3
        fmt.Print(n, err) // 6 <nil>
    }

    n为6,表示写入了6个字节的数据;

    err为nil,是go中的空值,表示在Print的写入标准输出的时候没有异常发生。

    Println

    文档长这样

    package fmt // import "fmt"
    
    func Println(a ...interface{}) (n int, err error)
        Println formats using the default formats for its operands and writes to
        standard output. Spaces are always added between operands and a newline is
        appended. It returns the number of bytes written and any write error
        encountered.

    Println采用默认格式将其参数格式化并写入标准输出。总是会在相邻参数的输出之间添加空格并在输出结束后添加换行符。返回写入的字节数和遇到的任何错误。

    Printf

    文档长这样

    package fmt // import "fmt"
    
    func Printf(format string, a ...interface{}) (n int, err error)
        Printf formats according to a format specifier and writes to standard
        output. It returns the number of bytes written and any write error
        encountered.

    Printf根据format参数生成格式化的字符串并写入标准输出。返回写入的字节数和遇到的任何错误。

    比如之前已经知道%T这个可以用于查看一个变量的类型

    i := 3.14
    fmt.Printf("i的类型是: %T", i) // i的类型是: float64

    打印格式化参数

    通用:

    %v	值的默认格式表示
    %+v	类似%v,但输出结构体时会添加字段名
    %#v	值的Go语法表示
    %T	值的类型的Go语法表示
    %%	百分号

    布尔值:

    %t	单词true或false

    整数:

    %b	表示为二进制
    %c	该值对应的unicode码值
    %d	表示为十进制
    %o	表示为八进制
    %q	该值对应的单引号括起来的go语法字符字面值,必要时会采用安全的转义表示
    %x	表示为十六进制,使用a-f
    %X	表示为十六进制,使用A-F
    %U	表示为Unicode格式:U+1234,等价于"U+%04X"

    浮点数与复数的两个组分:

    %b	无小数部分、二进制指数的科学计数法,如-123456p-78;参见strconv.FormatFloat
    %e	科学计数法,如-1234.456e+78
    %E	科学计数法,如-1234.456E+78
    %f	有小数部分但无指数部分,如123.456
    %F	等价于%f
    %g	根据实际情况采用%e或%f格式(以获得更简洁、准确的输出)
    %G	根据实际情况采用%E或%F格式(以获得更简洁、准确的输出)

    浮点数的宽度与精度格式化:

    %f:    默认宽度,默认精度
    %9f    宽度9,默认精度
    %.2f   默认宽度,精度2
    %9.2f  宽度9,精度2
    %9.f   宽度9,精度0    

    字符串和[]byte:

    %s	直接输出字符串或者[]byte
    %q	该值对应的双引号括起来的go语法字符串字面值,必要时会采用安全的转义表示
    %x	每个字节用两字符十六进制数表示(使用a-f)
    %X	每个字节用两字符十六进制数表示(使用A-F)    

    指针:

    %p	表示为十六进制,并加上前导的0x    

    其它flag:

    '+'	总是输出数值的正负号;对%q(%+q)会生成全部是ASCII字符的输出(通过转义);
    ' '	对数值,正数前加空格而负数前加负号;
    '-'	在输出右边填充空白而不是默认的左边(即从默认的右对齐切换为左对齐);
    '#'	切换格式:
      	八进制数前加0(%#o),十六进制数前加0x(%#x)或0X(%#X),指针去掉前面的0x(%#p);
     	对%q(%#q),如果strconv.CanBackquote返回真会输出反引号括起来的未转义字符串;
     	对%U(%#U),输出Unicode格式后,如字符可打印,还会输出空格和单引号括起来的go字面值;
      	对字符串采用%x或%X时(% x或% X)会给各打印的字节之间加空格;
    '0'	使用0而不是空格填充,对于数值类型会把填充的0放在正负号后面;

    一些例子

    // 当不知道该用哪个时,%v总能OK
    fmt.Printf("%v", 3.14) // 3.14
    // %T查看类型
    fmt.Printf("%T", 1) // int
    // %%转义
    fmt.Printf("100%%") // 100%
    // %b二进制
    fmt.Printf("%b", 11) // 1011
    // %o八进制
    fmt.Printf("%o", 11) // 13
    // %x、%X十六进制
    fmt.Printf("%x\t%X", 11, 11) // b B
    // 整数宽度为3
    fmt.Printf("%3d", 6) //  6
    // 用0填充整数,宽度为3
    fmt.Printf("%03d", 6) // 006
    // 浮点数默认宽度、精度为2
    fmt.Printf("%.2f", 3.1415926) // 3.14

    总结

    常用是Println,重点是Printf格式化输出

    展开全文
  • ``` public class DAC_OUT{ ... System.out.println(Integer.toBinaryString(t)); System.out.println(b); } } ``` Integer.toBinaryString()方法可以变为二进制,但是如何补全前面的0? 萌新才学一个月。
  • System.out.println("处理Get请求...");//没有在myeclipse控制台中输出,为什么??? response.setContentType("text/html"); PrintWriter out = response.getWriter(); System.out.println("处理get请求...
  • Java语言中print和println的区别

    千次阅读 多人点赞 2019-05-26 22:03:28
    Java语言中print和println的区别 简单的说: print意思是:打印 而println是print+line的缩写,即:换行打印 举例 打印1和2: ⑴不换行打印: public class MyDemo{ public static void main(String args []){ ...

    Java语言中print和println的区别

    简单的说:

    print意思是:打印

    而println是print+line的缩写,即:换行打印

    举例 打印1和2:

    ⑴不换行打印:

    public class MyDemo{
    	public static void main(String args []){
    		int i = 1;
    		int j = 2;
    		System.out.print(i);
    		System.out.print(j);
    	}
    }
    

    输出结果为:
    12
    即打印了int型变量i的值之后不换行继续打印int型变量j的值。

    ⑵换行打印:

    public class MyDemo{
    	public static void main(String args []){
    		int i = 1;
    		int j = 2;
    		System.out.println(i);
    		System.out.println(j);
    	}
    }
    

    输出结果为:
    1
    2
    即打印了int型变量i的值之后换行继续打印int型变量j的值。

    展开全文
  • 我在编程时遇到system.out.println输出问题 public static void main(String[] args) { Solution sol=new Solution(); sol.tmp=new String("12345600024402000").toCharArray(); //这里...
  • go println与printf区别

    2017-11-21 20:02:30
    Println 与Printf 都是fmt 包中的公共方法Println :可以打印出字符串,和变量;Printf : 只可以打印出格式化的字符串,可以输出字符串类型的变量,不可以输出整形变量和整形,a := 10fmt.Println(a) //rightfmt....

    Println 与Printf 都是fmt 包中的公共方法

    Println :可以打印出字符串,和变量;

    Printf : 只可以打印出格式化的字符串,可以输出字符串类型的变量,不可以输出整形变量和整形,

    a := 10

    fmt.Println(a)  //right

    fmt.Println(“abc”)  //right

    fmt.Printf(“%d”,a)  //right

    fmt.Printf(a)  //error

    println函数在输出后自动增加一个换行。
    printf函数只输出指定的数据。
    需要输出换行时,就用println。不需要换行就用printf。

    展开全文
  • System.out.println();没有写到main方法里 网上说的添加tomcat,没测试过
  • java快速生成main方法和system.out.println如何按“alt+/”就生成而不需要按回车? 我之前在别的电脑上试过快速生成main方法和"system.out.println"直接按"alt+/"就可以快速生成,但在自己电脑上按"alt+/"会先出现一...
  • Golang中的println和fmt.Println

    千次阅读 2019-11-19 15:23:54
    Golang中常用于打印的是 fmt.Println,就是说要引用fmt包。 Golang同时存在着一对println()和print()。都是小写字符!记住!!(Golang严格区分大小写) 看起来,用不用fmt都没关系。毕竟打“hello world”没区别...
  • out.println(responseText); out.close(); } ``` 上面是一个servlet的dopost方法,ajax send来一个名为username的参数。 而我想问的是,为什么servlet返回给ajax参数的时候使用的是 PrintWriter out = ...
  • System.out.println("Jerry"); } public void hello() { System.out.println("Hello in Jerry"); } } class Tom extends Jerry { public Tom() { System.out.println("Tom"); } public Tom(String s) { ...
  • System.out.println()标准输出方法性能影响一窥#以前在写功能性代码的时候就知道,代码功能性的强大往往意味着性能的丢失。那么非常好用支持任何格式输出到控制台的System.out.println()标准输出方法究竟是如何工作...
  • System.out.println('*' + '\t'); System.out.println('*'); System.out.println("*"+'\t'); System.out.println('*' + '\t' +'*'); System.out.println('*' + '\t' +"*"); System.out.println("*" + '\t'...
  • scala的println

    千次阅读 2019-07-14 13:38:55
    scala中print 是直接输出 ...println()打印时自动换行 println()相当于print(+’\n’) object TestScala { def main(args: Array[String]): Unit = { println("Hello Scala!!") val a1 = 'T' var arr =...
  • System.out.println("当前线程"+Thread.currentThread().getName()); System.out.println("Hello"+i++); if(i>5) break; } } } public class text { public static void main...
  • julia_println

    2018-08-05 08:26:21
    # 第一个julia代码,在屏幕上输出字符 prinltn( "hello, world!" ) println()
  • Scala println Array

    千次阅读 2014-04-29 22:08:07
    1.To print a 1-D Array val a = Array.range(1,10)
  • 为啥system.out.println(012)输出的是10?![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/1.gif)![图片说明]...
  • 1、在代码中用System.out.println("XXXXXXXXX"); 打印的代码不在/apps/logs.log文件中,而是nohup.out文件中,相反用private static org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(Testing.class);...
  • 初学 看视频打上system.out.println 打几个字母然后按下ALT+/就可以在下拉栏里找到 但是下拉栏里面有好多种类例如println就有好多种 如:println(doble) println(char)等等 该怎么选择 学过c语言了 知道double是双...
  • 假设cpu单核心,我写了一个简单的线程,run函数中只有一句system.out.println("a"); 2种情况,再使用这句的情况下,cpu占用率没有到达100%,比较低,但是这句注销后,cpu占用率达到了100%,我不明白这其中的道理。请...
  • 今天,给大家来一篇基础的文章,IDEA是Java开发中的神器,很多同学都用了IDEA来开发...但苦于不知道怎么设置System.out.println()和main方法的快捷键,今天,咱们就一起来解决这个问题。 首先,打开IDEA的File-&g...
  • 教你看懂System.out::println

    万次阅读 多人点赞 2018-12-09 12:45:57
    在不经意间, 我们会看到这样的代码 // 创建出一个数组 List&lt;String&gt; strList = Arrays.asList("... strList.forEach(System.out::println); 第一印象, 哇, 好高大上的写法, 那么这究竟是...
  • 但是往往我们很疑惑什么时候使用System.out.println和System.err.println,从字面的意思来理解的话,一般性的输出用out,错误使用err,但是这似乎 只是字面上的不同,我们还是不清楚到底实质上的区别是什么? ...
  • 原帖:http://blog.163.com/love-love-l/blog/static/21078304200811510346157/<br /><br /><br />1、System.out.println 能重定向到别的输出流,这样的话你在屏幕上将看不到打印的东西了,  而System....
  • System.out.println 和 System.err.println 都可以用于输出。但是今天当我将它们混合使用时(就是有的地方用System.out.println,有的地方用System.err.println....Don't ask me why),问题出现了: 每次运行...
  • cannot resolve symbol println

    千次阅读 2017-08-08 22:42:38
    IntelliJ 无法快捷键输出System.out.println();并且即使手动输入也会报错cannot resolve symbol println()开发这么就,竟然犯了很二的错误。由于没写main函数导致的原因。估计今晚持续头脑发热没降下来。修改后的...

空空如也

1 2 3 4 5 ... 20
收藏数 147,682
精华内容 59,072
热门标签
关键字:

println