9.9课上问题的思考与整理
作者:互联网
思考一:大道至简——编程思维
学习计算机语言就类似于学习一门外语语法,真正难点是编程思维和解决问题能力。
编程思维是由分解、模式识别、抽象、算法四部分构成的,即将整个程序分成若干个组件、将多次出现的相似功能设成独立的方法、调试每个独立组件的健壮性、按照功能要求进行组件的组合。
这一些系列的完成其实就意味着编程完成了一半,再根据思维写出对应的语法,这样就实现了一个成功的程序。
思考二:从测试看不足
Java的基本运行单位是类
类是由变量和方法组成的
变量之间的类型相互之间是可以进行转换的,主要分为以下几种情况:
一、 整型、实型、字符型变量中的相互转换
在Java中整型、实型、字符型被视为同一类数据,这些类型由低级到高级分别为(byte,short,char)——int——long——float——double,低级变量可以直接转换为高级变量
例如,下面的语句可以在Java中直接通过:
byte b;
int i=b;
而将高级变量转换为低级变量时,情况会复杂一些,你可以使用强制类型转换。即你必须采用下面这种语句格式:
int i;
byte b=(byte)i;
但这种转化会造成精度的损失
二、Java的包装类
Boolean-----boolean Character-----char Integer-------int Long----------long Float---------float Double-------double
三、String字符串和int之间的相互转化
1.将string字符串转化为int
int i = Integer.parseInt([String]);直接产生int变量
int i = Integer.valueOf(my_str).intValue();会间接产生Integer对象
2.将int转化为string
String s = String.valueOf(i);
String s = Integer.toString(i);
String s = "" + I;
四、简单类型变量和包装类之间的相互转换
简单类型的变量转换为相应的包装类,可以利用包装类的构造函数。即:
Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value)
而在各个包装类中,总有形为××Value()的方法,来得到其对应的简单类型数据。利用这种方法,也可以实现不同数值型变量间的转换,例如,对于一个双精度实型类,intValue()可以得到其对应的整型变量,而doubleValue()可以得到其对应的双精度实型变量。
等等 其中浮点数也是可以与其他类型进行转化的。
String在java里面不是一个数据类型,是一个类
static表示“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,或者进行静态导包
动手动脑三--对EnumTest.java程序的相关解答
通过上面两张图可以看出枚举类型是引用类型,
可以使用”==“和equals()的方法直接比对枚举变量的值,对于枚举类型的变量,”==“和equals()方法执行的结果等价。
动手实验四、TestDouble.java
通过double类型的数值进行计算,得到的结果都不是精确的
浮点数的精度是由尾数来决定的:
float类型,尾数部分23位,换成十进制就是2^23=8388608,因此十进制精度只有6-7位
对于double类型,尾数部分52位,换成十进制就是2^52 = 4503599627370496,所以十进制精度只有15 ~ 16位
并且对于二进制转化,double和float类型都会按自己的精度来截取,因此,浮点数交给计算机存储时会出现精度丢失的问题。
对于精度问题如何解决?可以引用一个函数
通过引用该函数实现精度的不损失。
五、动手动脑
为什么这两个的输出结果不一样?
因为在运算符是从左到右开始计算的,语句1的意思是要输出x再输出y,语句二的意思是输出x+y;
思考六 原码、补码与反码
计算机都是以补码的形式记录数据,电脑只能识别0和1;
原码 :最高位符号位,0代表正数,1代表负数,非符号位为该数字绝对值的二进制。
反码:正数的反码与原码一致,负数的反码是对原码按位取反,只是最高位(符号位)不变。
补码:正数的补码与原码一致,负数的补码是该数的反码加1。
即 理解如下
正数的原码=正数的反码=正数的补码
负数的反码=它的原码符号位不变,其他位取反(0->1,1->0)
负数的补码=它的反码+1
标签:反码,变量,int,补码,课上,9.9,思考,原码,String 来源: https://www.cnblogs.com/jiacheng-712/p/16677917.html