Coco_Newtalent 我的第一篇博客

@Coco_Newtalent

#我的第一篇博客

大家好,我是Coco_Newtalent,新人一枚,这篇博客是我学习Java至今的第一篇,多的也不知道在说点什么,直接就开始把我最近遇到一些简单的问题说一下吧。

## 第一个问题:运算结束后,数据类型的转换

以前没有注意过,因为以前总是定义为double类型的,最近在写一些基础代码时,又遇到了这个问题,如果两个int类型变量进行运算,结果也还是int,仅仅把结果更改为double是不会出现小数的,所以也让我困扰一点时间,接着,说解决办法,如果两个int型的变量运算想要出现double,那就在末尾处加上“*1.0”,
例:
    int a = 6,b = 6;
    System.out.println((a * b)*1.0);
这样就会自动转变成double类型的。

## 第二个问题
== 与 .equals()的问题
这真是一个十分神奇的东西,先说原理,“ **==** ”在作用于基本数据类型,它比较的是变量的值,而在比较引用数据类型时,它比较的是变量在内存的地址,而.equals()不能作用基本数据类型,它只能作用于引用数据类型,真是神奇,在上网查了以后,.equals()的方法体也是十分类似数据结构中的顺序查询,接着附上代码

```
public boolean equals(Object anObject) {
        if (this == anObject) {  //引用相等,指向的同一个对象,肯定是相等的。
            return true;
        }
        if (anObject instanceof String) {  //判断是否是String类型
            String anotherString = (String)anObject;
            int n = value.length;
            if (n == anotherString.value.length) {  //判断字符串的长度是否相等
                char v1[] = value;
                char v2[] = anotherString.value;
                int i = 0;
                while (n-- != 0) {  //转化为char字符串,然后挨个判断值是否相等
                    if (v1[i] != v2[i])
                        return false;
                    i++;
                }
                return true;
            }
        }
        return false;
    }
```


   可以看出,.equals()是把字符串拆成字符逐个进行比较的。 

## 第三个问题:continue; break;return区别
continue:是从当前位置,调回循环开始;
break:是结束这一层的循环,跳回上一层的循环;
return:不仅有提供返回值功能,在void修饰的不需要返回值得方法中,return也可以是强制结束代码的标志。

## 总结
这是我第一次写博客,Java也算是第二次学习了,虽然从头开始学会很累,但是温故而知新,所以这次的三个小问题对我而言,也算是解决了以前的遗留问题,同时也是凿开一点通往未来的岩壁,最后希望这篇博客能帮助到你。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值