Java关于基本数据类型的易错反思

嗨,你好啊,初次见面,下面这些学习资料送给你,要一个关注不过分吧~,还想学什么留言或者悄悄跟我私信,咱们细细道来


百本图灵计算机经典系列书籍全送了👇祝你学途永无止境,历经千帆,归来年薪百万!
链接:https://pan.baidu.com/s/1mDGCIgH1s7dSD1uZ6Pml1Q
提取码:hvr0

b站爬取的学习资源整理送了👇祝你成功!
链接:https://pan.baidu.com/s/184suePB-CJEbpAVWqpWIrg
提取码:0emq

数学建模资料,包含数学建模入门与进阶,数学建模经典算法,近10年优秀得奖论文,祝您旗开得胜!
链接:https://pan.baidu.com/s/1HZlnNDeYgu5-EZOxgrzECQ
提取码:svyg


在Java的使用过程中经常遇到一些莫名其妙的小错误,在此集中记录,以作提醒,与各位共勉。

  • 在基本数据类型中,Long型常量后缀需用L来表示;
    long width=12L;
    long height=7L;
  • float型常量后缀必须用f或者F
    float x=22.76f;
    float weight=1.2e3F;
  • 对于byte型常量:在java中不存在byte型的常量 的表示法,但可以把一定范围内的int型常量赋值给byte
  • 对于byte型变量,Java给其分配一个字节内存,占8位,因此byte型变量的取值范围是-2e7~2e7。
  • 编译器会忽略掉注释内容,但是会解析注释的内容,如果注释中有编译器无法识别的字符,编译器也会报错,停止编译过程。这可能导致注释内容或源文件发生变化。此外,在注释内容中不要使用字符的十六进制的转义,以免发生混乱。

例如:\u000A表示回行,
如果将for(int i=0;i<10;i++){ //循环语句
误写成:for(int i-0;i<10;i++){ //\u000A循环语句
由于编译器会解析注释的内容,所以在编译器工作前会把该行代码
for(int i-0;i<10;i++){ //\u000A循环语句
修改为:

```
for(int i=0;i<10;i++){  //
循环语句
```
然后再进行编译,就会导致出错。
  • switch语句中表达式的值可以是byte、short、int、char型,但不可以是long型数据,否则将会导致编译错误
  • Java中比较常用的Scanner类,可以使用其创建一个对象:
    Scanner reader = new Scanner(system.in)
    reader可以调用nextBoolean()nextByte()nextInt()nextDouble()等来读取用户输入的各种基本类型的数据。上述方法在执行时都会堵塞,等待用户键入数据并回车确认,但当用户错误输入数据时,程序会运行中断,在解决这类中断问题时,经常让reader先调用hasNextXXX()方法等待并比对用户输入数据,再调用nextXXX()方法获取用户键入数据。
    上代码:
Scanner reader =new Scanner(System.in);
while(reader.hasNextDouble())
{
	//其他语句
	double x=reader.nextDouble();
	//其他语句
}
//其他语句
  • 一个类声明的对象如果有具有相同的引用,两者就具有完全相同的变量。(比较基础的点)
  • public void g( double a ,int ...b)int ...b是可变参数,当参数具体数目不确定时可以这样写,x称为参数代表,参数代表必须排在该方法参数列表的最后。
  • this可以出现在实例方法和构造方法中,但不能出现在类方法中。
  • 当实例或者static成员变量的名字与局部变量的名字相同时,成员变量前面的this或者类名.不可以省略
  • 不同包之间的类和类创建的对象之间没有友好关系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值