黑马传智播客Java学习笔记_day02

本文深入探讨了Java编程中常见的技巧,包括注释的正确使用、负数的二进制表示、精度丢失问题及解决方案,特别关注了自增操作的微妙之处。通过具体示例,揭示了在不同情况下如何避免常见错误,提升代码质量和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注释

单行注释://

多行注释:/* */

文档注释:/** */可以对源代码进行说明性文字的体现,可以通过Java开发工具bin文件夹下的javadoc进行提取放到一个网页文档当中。

 

负数的进制

这个负数的正数的二进制取反加1如:-6的二进制为  0000-0000 0000-0000 0000-0000 0000-0110

          0000-0110

取反   1111-1001

加1    0000-0001

          1111-1010

 

精度丢失问题

高精度数据类型和低精度数据类型进行运算,把结果赋值给低精度变量会出现精度丢失问题,因为运算过程中低精度运算变量会自动转换为高精度变量,低精度的存储空间可能不足以存放高精度的存储空间如

class Demo{
	public static void main(String args[]){
		btye b=3;
		b=b+4;
		System.out.println("b="+b);
	}
}

运行结果:

只有进行强制类型转换运算结果才可以运行

class Demo{
	public static void main(String args[]){
		btye b=3;
		b=(btye)(b+4);
		System.out.println("b="+b);
	}
}

 

关于丢失精度的一道面试题

以下程序是否正常运行:

 class Demo{
	public static void main(String args[]){
		byte b1=3,b2=127;
		b1=b1+b2;
		System.out.println("b="+b1);
	}
}

运行结果

答案是不能,因为在程序语句  b1+b2中的两个整数元素不是确定的数值,有可能会超出byte类型的最大值127,所以应该使用较高精度的数据类型

自增注意

class Demo{
    public static void main(String args[]){

        int i=1;
        i=i++;
        System.out.println("i="+i);
    }
}

运行结果

运算过程等价于

class Demo{
    public static void main(String args[]){
        int i=1;
        int temp=i;
        i++;
        i=temp;
    
    }
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值