|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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和使用==会得到同样的结果
|
评分
-
查看全部评分
|