鱼C论坛

 找回密码
 立即注册
查看: 3398|回复: 0

[学习笔记] Java暑期学习Day06

[复制链接]
发表于 2017-7-10 23:17:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
今天是第6天,希望能支持下去
ps.写了一个多小时的突然崩了我的心是崩溃的

使用标准类之java.util.Scanner
package tankwar;
import java.util.Scanner;

public class A {

        public static void main(String[] args) {
                Scanner scanner = new Scanner(System.in);
                int number = (int) (Math.random() * 10);
                int guess;

                do {
                        System.out.println("猜数字(0~9):");
                        guess = scanner.nextInt();
                } while (guess != number);

                System.out.println("猜中了...XD");

        }

}
A. 在建立Scanner实例时,必须传入java.io.InputStream的实例
     System.in就是一种InputStream

B. Scanner的nextInt()方法会看着标准输入中,有没有输入下一个字符串(以空格或换行分隔),有的话会尝试将之剖析为int类型。

    Scanner对每个基本类型,都会有对应的nextXXX()方法,如nextByte()、nextShort()、nextBoolean()等

    如果直接取得上一个字符串(以空格或换行分隔),则使用next(),如果想取得用户输入的整行文字,则使用nextLine()(以换行分隔)


使用标准类之java.math.BigDecimal
package tankwar;

import java.math.BigDecimal;//取得更好的精确度

public class A {

        public static void main(String[] args) {

                BigDecimal operand1 = new BigDecimal("1.0");
                BigDecimal operand2 = new BigDecimal("0.8");

                BigDecimal result = operand1.subtract(operand2);
                System.out.println(result);//0.2

        }

}
  A. Java(包括其他程序语言)遵守IEEE 754浮点数运算规范,使用分数与指数来表示浮点数

  B. BigDecimal提供有plus()、substract()、multiply()、divide()等方法,可以进行加、减、乘、除等运算,这些方法都会返回代表运算结果的BigDecimal

对象指定与相等性
package tankwar;

import java.math.BigDecimal;

public class A {

        public static void main(String[] args) {

                int x = 1;
                int y = 1;
                int z = x;
                System.out.println(x == y);// true
                System.out.println(x == z);// true
        

                BigDecimal a = new BigDecimal("1.0");
                BigDecimal b = new BigDecimal("1.0");

                System.out.println(a == b);// false
                System.out.println(a.equals(b));// true

        }

}

区别点: 1.“==”对于基本数据类型,判断两个变量的值是否相等。
“equals”不能用于基本数据类型。只能用于类变量。对于基本数据类型要用其包装类。
2.“==”用于比较两 个变量的值是否相等,而不是变量引用的对象是否相等 。
   (因为对象变量的存储的是对象在内存中的路径,即内存地址。所以用“==”比较时,即使对象的值相等,但是他们的内存地址不同。)

3.“==”比较的是值【变量(栈)内存中存放的对象的(堆)内存地址
    equals用于比较两个对象的值是否相同【不是比地址


4.如果一个类没有自己定义equals方法,它默认的equals方法(从Object类继承的)就是使用==操作符,也是在比较两个变量指向的对象是否是同一对象,这时候使用equals和使用==会得到同样的结果



评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
小甲鱼 + 5 + 5 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-14 13:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表