一、教材学习内容总结
1、标识符的使用方法以及语法规则
2、Unicode字符集,及Unicode字符集与ASCII码之间的关系(U表前128个字符刚好是A码)
3、常用的基本数据类型(string不在基本数据类型内,本质是个类)
4、基本数据类型的精度高低顺序,及高精度转低精度时造成的精度损失
5、使用Scanner的类方法输入基本型数据
6、掌握格式控制符以及使用方法
7、数组的声明以及使用
8、使用length方法得到数组的长度
9、数组的引用使用规则以及本质变化
10、求二十个float值的平均数
package OneWeek;
import java.util.Scanner;
public class Two {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入若干个数,每输一个数回车确认");
System.out.println("最后输入数字为零结束输入操作");
Scanner reader=new Scanner(System.in);
double sum=0;
double x=reader.nextDouble();
int i=1;
while(x!=0) {
sum=sum+x;
x=reader.nextDouble();
i++;
}
System.out.println("sum="+(sum/i));
}
}
11、 判断输入值是否在默认数组中
package OneWeek;
import java.util.*;
public class One {
public static void main(String[] args) {
// TODO Auto-generated method stub
int start=0,end,middle;
double a[]= {2.31,5.11,6.21,8.651,8.1131,7.21,6.11,7.361,4.11,11.21,12.61,1.1121,9.651,3.541,17.51,11.891,16.211,5.6651,8.6981,5.1341};
int N=a.length;
//冒泡法从小到大排列数组a
for(int i=0;i<N;i++) {
for(int j=i+1;j<N;j++) {
if(a[j]<a[i]) {
double t=a[j];
a[j]=a[i];
a[i]=t;
}
}
}
Scanner scanner=new Scanner(System.in);
System.out.println("输入一个数,程序判断该数是否在数组中:");
double number=scanner.nextDouble();
int count=0;
end=N;
middle=(start+end)/2;
//折中查找法
while(number!=a[middle]) {
if(number>a[middle])
start=middle;
else if(number<a[middle])
end=middle;
middle=(start+end)/2;
count++;
if(count>N/2)
break;
}
if(count>N/2)
System.out.printf(number+"不在数组a中.\n");
else
System.out.printf(number+"在数组a中.\n");
}
}
二、教材学习中的问题和解决过程
1、问题:书本p21中对于flaot、double数字大小的对比:
float x=0.4F;
double y=0.4;
看似相同的小数,在比较的时候x值其实是要大于x值得。
解决:实际存储中,由于float型变量分配四个字节内存,占32位,所以最多能够保留8位有效数字。而double型变量分配八个字节内存,占64位,可以保留16位有效数字,因此,看似相同的数字在实际比较的时候,是要比较16位的,而x值从第九位数字开始就已经不受float控制,出现随机值,所以从大小来说,x值是要大于y值得。
三、代码调试中的问题和解决过程
暂无
四、学习思考与感悟
看似简单的基础,其实牵扯着许多本质的知识,比如各种基本数据类型的存储方式、数组引用的原理等,万丈高楼平地起,想要技术更进一步,脚下的基础其实才是关键所在,虽然不同于c语言这种机器语言,但java在我眼中还是有着许多c的身影,或者说,我们眼前的那么多语言,其本质都离不开c吧。
五、学习进度条
代码行数(新增/积累) | 博客量(新增/累计) | 学习时间(新增/累计) | 重要成长 | |
目标 | 7000行 | 30篇 | 400h | |
第一周 | 378/378 | 2/2 | 14/14 | |
第二周 | 127/505 | 1/3 | 5/19 |