20165324 《Java程序设计》第2周学习总结
教材学习内容总结
本周学习内容如下:
- 基本数据类型
- 整数类型:byte,shout,int,long。
- 字符类型:char。
- 浮点类型:float,double。
- 布尔类型:boolean。
- 输入与输出
- Scanner的使用必须先进行导入Scanner类:
import java.util.Scanner;
接下来需要创建一个Scanner对象:Scanner sc = new Scanner(System.in);
最后从键盘上读取数据保存到变量中:int i=sc.nextInt();
double dd=sc.nextDouble();
String s=sc.next();
注意不能直接从键盘得到一个字符。百度得:
//打印一个从键盘输入的字符
import java.util.Scanner;
public class Zifu{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
System.out.println("请输入一串字符,其中首字符为需要打印的字符");
String s=sc.next();
char cc=sc.charAt(0);
if((‘a‘<=cc&&cc<=‘z‘)||(‘A‘<=cc&&cc<=‘Z‘)){
System.out.println(cc+"输入为字符");
}
else{
System.out.println(cc+"输入不为字符");
}
}
}
- 数组
- 数组知识基本与C语言相同,但Java不允许在声明数组中的方括号内指定数组元素的个数。
a.length
为数组a的长度- 如果遍历某个集合中所有的数据,还可以使用foreach循环 注意:foreach循环只是用来读取数组中的每一个元素,不能用于修改数组的元素值。
for(int x:a)
System.out.println(x); //依次把数组a的每一个元素赋值给x变量,在循环体中可以对x变量进行处理
如:
for(int i=0;i<a.length;i++){
a[i]=i*i;
}//通过循环修改数组的元素值
- 运算符:基本参照C语言所讲,注意运算的优先级
- 语句学习:
- if条件分支语句
- switch开关语句
- 循环语句
- break和continue语句
- for语句与数组
教材学习中的问题和解决过程
- 问题1:基本类型转换方式的使用及关于精度缺失的问题?
- 问题1解决方案:
- 首先布尔类型不能和其他类型转换。整数、小数、字符类型可以相互转换。
- 自动类型转换: byte→short→int→long→float→double char→int→long→float→double 但可能丢失精度
- 强制类型转换:不能进行自动类型转换时就可以进行强制类型转换。 (1)小数与整数之间的转换:
double dd=3.121;
int ii;
ii=(int)dd;
System.out.println(ii);
//此时double类型转换为int类型,输出结果为3。
(2)大的整数类型转换为小的整数类型时,只把对应的低位字节转换,可能会出现数据错误。
int ii=270;
byte bb;
bb=(byte)ii;
System.out.println(bb);
/*此时输出bb=14,因为ii变量在计算机中存储形式为: 0000 0000 0000 0000 0000 0001 0000 1110 把ii强制转换为byte类型,只把最后一个字节的数存储到bb变量中,bb变量中存储的内容为:0000 1110 即为14.*/
(3)整数可以转字符
int ii=110;
char cc=(char)ii;
System.out.println(cc);
//此时输出为n,因为n的ASCII码值为110。
(4)可以对表达式进行强制转换:
byte bb=123;
bb=(byte)(bb+1);
System.out.println(b );
//输出为124。
代码托管
上周考试错题总结
- 错题1及原因,理解情况:如何在根目录下进行javac和java的相关操作,如:如何编译*。java文件于bin目录下
javc -d ./bin scr/Hello.java
如何运行位于bin目录下is5324包中的*.class文件java -cp .:bin is5324.Hello
- 错题2及原因,理解情况:如果只是要运行java程序,下载程序哪个安装即可?应该选择JRE。分析得:java程序的运行只需要JRE即可,而java程序的开发需要JDK。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 3000行 | 30篇 | 400小时 | |
第一周 | 203/203 | 1/1 | 15/15 | |
第二周 | 326/529 | 2/3 | 12/27 |