第1周-Java基本概念
一.本周学习总结
关键词:java发展历史、JVM/JRE/JDK、编辑器
java是一门面向对象的语言,相比于C语言我感觉java更方便。java是运行在JVM上的,不同的操作系统有不同的JVM,但都可通过相同的class文件运行,因而可以跨平台。
二.书面作业
-
虚拟机
- 执行java程序要先将XXX.java文件编译成XXX.class文件,然后所在平台的JVM会再次编译,编译后的代码就可运行了。
- 不同平台有各自的JVM,他们会将XXX.class文件编译成能在自己平台的JVM上运行的程序,因此java可跨平台。
- JDK是java开发工具包,jre包含在jdk中,而jvm则包含在jre中。
-
java与javac
- java HelloWorld是运行HelloWorld类中的XXX.class文件,而HelloWorld则是类名。
- Path变量是环境变量,一般我们命令行运行javac和java时会提示不是系统变量,是因为我们现有的Path中没有他们,如果把他们所在的bin文件夹的地址放入Path中,我们就可在任何位置运行他们了。
- java是先把XXX.java编译成XXX.class文件再执行;C则是把XXX.c先预编译成XXX.i,然后编译成XXX.s,再汇编成XXX.o,最后链接执行。
-
实验总结
-
java中使用Scanner处理输入;
格式化输出这使用
System.out.printf();
-
5-2(取数字)实验总结
刚开始将数字存入数组中取出来进行相加结果一直出错,后来才想起来没将char型转成int型。
-
5-3(取数字浮点数)实验总结
大致方法和取数字题很像,但是循环时出问题了。因为输入的是浮点数,用
hasNextInt()
不行了,改成hasNextLine()
就行了。 -
5-4(开根号)实验总结
感觉这个题目的验证机制有点问题,当输入在0-1之间时,
for(double n=1;n>x;) { if(Math.pow(n,2)-x<0.0001) { System.out.printf("%.6f\n",n); break; } else n=n-0.0001; }
运行上段代码结果是对的,但是会显示答案错误,而改成从0开始循环(结构完全相同)就能通过。
-
5-5(二进制的前导的0)实验总结
直接将输入的数转换成二进制表示并计算长度,然后用32去减即可,但是0要单独考虑。
-
-
-
学过C语言,代码大概就是老师们布置的作业时写的。
-
内容 目标 时间 没事就写吧,不太好估计 代码量 尽量在完成老师作业的基础上再多写一点 问题 尽量自己百度解决,解决不了问老师同学
-
三.使用码云管理Java代码
-
GIT使用
-
PTA提交列表
-
代码量统计
行数 新增行数 文件数 新增文件数 193 193 223 223