(一)学习总结
1.在java中通过Scanner类完成控制台的输入,查阅JDK帮助文档,Scanner类实现基本数据输入的方法是什么?不能只用文字描述,一定要写代码,通过具体实例加以说明。
文本扫描类Scanner(java.util.Scanner),可以使用不同的next方法将输入的文本转换成不同类型的值。获取基本类型数据的方法是:
nextInt() :读取整型数据
nextDouble() :读取双精度数据
next() :读取输入的下一个单词(空格作为分隔符)
nextLine() :读取输入的下一行内容
构造Scanner对象,并与system.in并联
Scanner input=new Scanner(System.in);
调用Scanner的各种方法完成输入操作。
在从键盘输入数据时,经常让Scanner对象先调用hasNextxxx()方法等待用户在键盘输入数据,然后再调用nextxxx()方法获取用户输入的数据。
2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?查阅JDK帮助文档,并举例加以说明。
【1】在java.util.Random类中主要功能用于产生随机数:在nextFloat()返回一个在0.0和1.0之间均匀分布的float值。nextInt()返回一个随机int值。nextInt(int n)返回一个0(包括)和n(不包括)之间的均匀分布的int值。
【2】Math类的random()方法可以生成大于等于0.0、小于1.0的double型随机数
Math.random()方法语句基础上处理可获得多种类型、或任意范围的随机数。
3.运行下列程序,结果是什么?查阅资料,分析为什么。
public class Test {
public static void main(String args[]) {
double a = 0.1;
double b = 0.1;
double c = 0.1;
if((a + b + c) == 0.3){
System.out.println("等于0.3");
}else {
System.out.println("不等于0.3");
}
}
}
为了处理精度损失的问题,可以使用java.math.BigDecimal类,查阅JDK帮助文档或教材p378,对上述程序进行修改。
4.本次学习要点中其他需要总结的内容:因人而异,根据自己的学习情况,记录难掌握或难理解的内容,以及学有心得的内容。还存在哪些问题,也可以提出来,对于同学在博客中提出的问题,大家可以积极讨论,互帮互学。
学习要点:1:Java输出方式system.out.println(); 2:新添基本数据类型boolean(布尔型常量(true或false)
3:Java数组创建:【1】声明数组 【2】创建数组空间 【3】初始化数组
string str【】; 数组名=new 数组元素类型[数组长度]
string【】 str; int[] score=new int[3];
4:String可以向普通变量那样直接通过赋值的方式进行声明。字符串是使用“ "括起来的。两个字符串之间可以使用+进行连接。
5:任何数据类型碰到string类型的变量或常量之后都向String类型转换。
6:大括号放置的位置也有所不同。
学习是一个循环渐进的过程,在以后的学习中,我们还会发现java和其他语言的更多不同之处,我们一定要刻苦学习,理解其中的核心,开阔思维,才能更好的投入其中。
(二)实验总结
实验内容:
1.看商品猜价格
程序设计思路:利用random方法产生随机数,其次声明一个变量代表用户输入的数,for循环写两者之间的关系。此程序运用了Scanner类实现基本数据输入
2.万年历
程序设计思路:运用了Scanner类实现基本数据输入,调用Scanner完成输入操作,例:int num=input.nextInt(); ,在主函数中完成各个函数的调用输入,输出。
【1】判断是否为闰年,这里采用了布尔型数据类型,布尔型数据有两个常量true,false,在这里我使用一个flag标记正确的,如果是闰年,返回flag,否则返回falsse
【2】判断某年某月有多少天,这里首先要考虑闰年和平年,其次考虑2月份的天数,然后依次列出
【3】判断某年某月距离1900年1月1日有多少天,这里分别对1900年和1月开始进行两个for循环,其中是先求这个年份距离1900年有多少天,其次是求输入的月份距离1900年的1月有多少天,然后相加就是某年某月距离1900年1月1日有多少天
【4】输出某年某月的日历,调用函数求出所求的某年某月一共有多少天,然后和7取余得到这个月的第一天是星期几,然后整理格式输出
-(三)代码托管