第1周-Java基本概念

一.本周学习总结

关键词:java发展历史、JVM/JRE/JDK、编辑器

java是一门面向对象的语言,相比于C语言我感觉java更方便。java是运行在JVM上的,不同的操作系统有不同的JVM,但都可通过相同的class文件运行,因而可以跨平台。

二.书面作业

  1. 虚拟机

    • 执行java程序要先将XXX.java文件编译成XXX.class文件,然后所在平台的JVM会再次编译,编译后的代码就可运行了。
    • 不同平台有各自的JVM,他们会将XXX.class文件编译成能在自己平台的JVM上运行的程序,因此java可跨平台。
    • JDK是java开发工具包,jre包含在jdk中,而jvm则包含在jre中。
  2. 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,最后链接执行。
  3. 实验总结

    • 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代码

  1. GIT使用





  2. PTA提交列表

  3. 代码量统计

    行数 新增行数 文件数 新增文件数
    193 193 223 223
 posted on 2017-09-15 20:14  jaqdm  阅读(191)  评论(4编辑  收藏  举报