鱼C论坛

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

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

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

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

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

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

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

  3. public class A {

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

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

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

  13.         }

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

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

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

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


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

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

  3. public class A {

  4.         public static void main(String[] args) {

  5.                 BigDecimal operand1 = new BigDecimal("1.0");
  6.                 BigDecimal operand2 = new BigDecimal("0.8");

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

  9.         }

  10. }
复制代码

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

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

对象指定与相等性

  1. package tankwar;

  2. import java.math.BigDecimal;

  3. public class A {

  4.         public static void main(String[] args) {

  5.                 int x = 1;
  6.                 int y = 1;
  7.                 int z = x;
  8.                 System.out.println(x == y);// true
  9.                 System.out.println(x == z);// true
  10.        

  11.                 BigDecimal a = new BigDecimal("1.0");
  12.                 BigDecimal b = new BigDecimal("1.0");

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

  15.         }

  16. }
复制代码


区别点: 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-3-29 13:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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