Java基本程序设计

39 篇文章 2 订阅

写在前面的话:

  1. 作者水平:二刷Java基础知识
  2. 参考资料:《Java核心技术 卷Ⅰ》- 第3章Java的基本程序设计结构

1.Java中的bug 

oracle公司:bug 库

Bug Database (java.com)https://bugs.java.com/bugdatabase/index.jsp

比如main方法使用private修饰,就是一个bug (在jdk1.2之前允许该操作

2.java中的注释 

注释有3种:

  1. 单行注释 // /*   */
  2. 多行注释 /*    */
  3. 文档注释 /**   */
/**
    [这是文档注释,一般用来说明该类有什么作用、哪一个人所创、创作时间]
    
    程序说明:    在控制台上输出Hello World
    创作者  :    星与梦想star_dream
    创作时间:    2022年5月28日 17:16
*/
class A {

    //[这是单行注释]main()主方法
    public static void main(String[] args){
    
        /*
            [这是多行注释,不可以嵌套]
            输出Hello World
        */
        
        //方法(函数)调用,使用“.”
        System.out.println("Hello World");//换行,并带参数
        System.out.print();//不换行,空参
    
    }
}

 2.java中的数据类型

Java数据类型
类型存储需求取值范围
int4字节-2 147 483 648 ~ 2 147 483 647(刚刚超过20亿)
short2字节-32 768 ~ 32767
long8字节-9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807
byte1字节-128 ~ 127
float4字节大约 ± 3.402 823 47E+38F(有效位数6~7位)
double8字节大约 ± 1.797 693 134 862 315 70E+308(有效位数15位)
char--
boolean一位true 或者 fal

2.1 浮点类型

采用十六进制表示浮点数:0x1.0p1

public class TestFloat {
	
	public static void main(String[] args) {
		
		double d1 = 0.125;
		
		//0.125 = 2^(-3) = 0x1.0p-3
		double d2 = 0x10p1;
		
		System.out.println("d1 = " + d1);
		System.out.println("d2 = " + d2);
		
		double d3 = d2 + 0x1p1;
		
		System.out.println("d3 = " + d3);
		
	}
	
}

深入剖析十六进制表示浮点数 

在这里有一个表格,更好地记录下规律 

十六进制表示       浮点数值
0x1p12.0
0x2p14.0
......
0xap120.0
0xbp122.0
......
0x10p132.0

根据表格,我们可以了解到尾数部分每一次加上0x1p1等价于加上2.0

public class TestFloat {
	
	public static void main(String[] args) {
		
		double d1 = 0x1p1;
		
		for (int i = 0;i < 100;i++) {
			
			System.out.println("d1 = " + d1);
			
			d1 += 0x1p1;
			
		}		
	}
}

 有3个特殊的浮点数:

  1. 正无穷大,如:一个正整数除以0
  2. 负无穷大
  3. NaN,如:计算0/0 或者 负数的平方根

警告!浮点数值不适用于舍入误差的金融计算(如:2.0-0.1 = 0.899999)

对于上述情况,应该采用BigDecimal

 2.2 转义序列

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fy哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值