zoukankan      html  css  js  c++  java
  • 201621123028《Java程序设计》第一周学习总结

    第1周-Java基本概念

    1.本周学习总结

    关键字:java语言发展java语言的特点JDK,JRE,JVM,字节码文件环境配置开发工具。java发展迅速,因为它具有简单性,跨平台性等优良特点,实现良好的可移植功能是多亏JVM去运行解释生成的字节码文件,JDK这个工具包含了JRE,而JRE内部包含了JVM。要实现java的编译运行,需要对电脑进行环境配置。编写java可以使用一些编辑器如NotepadNotepad++等,当然也有集成开发环境Eclipse等。

    2.书面作业

    1.虚拟机

    1.1 执行java程序时,首先是使用javac工具启动编译器,对所写的源文件即以.java为后缀的文件进行编译,在没跳出其他问题后会生成以.class为后缀的字节码文件,比如HelloWorld.class,此时的HelloWorld称为类,最后是用java HelloWorld来实现代码的运行。java程序具有跨平台性,因为有了JVM,java程序并不是直接对.java的源文件进行操作的,而是在使用java的时候会启动JVM,JVM的能力是对生成的.class字节码文件进行解释运行。这样子只要在不同操作系统下安装不同版本的JVM,就可以实现java语言的跨平台性。
    1.2JDK(Java Development Kit)即java开发工具包,是提供给java开发人员使用的,这个里面包含了java的开发工具比如编译工具(javac.exe),打包工具(jar.exe),而且里面也有JRE,也就是说安装时只需要安装JDK就可以了,使用JDK开发完成的java程序,交给JRE去运行。JRE(Java Runtime Environment)是java运行的环境,里面有虚拟机JVM和类库。所以三者JDK包含JRE,JRE包含JVM.三者关系如下:

    2.java与javac

    2.1 java HelloWorld命令的含义是启动虚拟机JVM,对字节码文件开始解释运行,HelloWorld指的是类。
    2.2 Path变量存放着系统中应用程序所在的路径,比如我要使用javac命令,如果我没配置环境,那么我就要先到javac所在的目录下输入javac才有用,如下图,如果不在该目录下,输入javac是会出现错误,现在将javac所在的位置存放在Path变量后,就可以不用自己找那个目录,而是系统来找,就可以在任意位置输入javac而成功。这样就会方便很多。

    2.3 使用java编写程序并与运行,先使用javac进行编译,编译通过后生成一个中间文件——字节码文件,而解释运行字节码文件是JVM来实现的。

    3.实验总结

    3.1 在PTA中对于输入来说,在开始前都需要添加import java.util.Scanner,功能是导入Scanner类。要想输入,就需要代码Scanner sc = new Scanner(System.in);来获取从键盘上输入的字符串,也可以获取int型等的数据。当要循环输入的时候,使用while (sc.hasNextInt())来实现,这里是对int型进行处理。double x=in.nextDouble();这个是读取下一个的Double 型字符串。格式化输出例如System.out.printf("%d,%f,%s,%b\n",1,2.3,"abc",true),在括号内前面的双引号里面是格式的说明,在逗号的后面添加你所要输出的数字,字符串等等。

    3.2 5-2(取数字)实验总结

    这题关键是整数转换成整数字符串进行遍历。将字符串存入一个数组中char[] c=i.toCharArray();,用一个for循环遍历,因为数字有负数,所以当遍历到负号时应该可以继续遍历,即:if(c[b]=='-')continue;,最后将读取的数字加和就好了。

    3.3 5-3(取数字浮点数)实验总结

    如果前面取数字问题解决,那么这题的方法和上一题一样,就是多了考虑小数点的情况,可以将输入的数字转换为字符串在遍历到“-”和“.”时使用continue继续遍历,最后将得到的单个数字相加求和。

    3.4 5-4(开根号)

    用题目所说的逐步逼近的方法,先定义一个参数a=0,double a=0;然后进入循环,循环条件为while(!(x-a*a<0.0001||a*a>=x)),因为题目说满足x-aa<0.0001||aa>=x该条件时跳出循环,那么我在while循环里取反,不满足x-aa<0.0001||aa>=x时进入加0.0001的循环中,当满足x-aa<0.0001||aa>=x时就跳出循环输出结果。System.out.printf("%.6f\n",a);

    3.5 5-5(二进制的前导的零)

    既然32位是固定的,那么可以用参数a等于32,int a=32;,这样我可以对一个数字转化为32位的二进制表示,然后从右往左遍历,是0就继续移动,一直读到1时,记下当前位置,用32减去当前位置,就是二进制前导零的个数,但是输入0这个数要单独考虑,因为0的二进制第一位就是0,那么输出结果是31,答案是错误的。

    4.Java主要应用在那几个方面?你对自己在这门课的目标与期许是什么?

    • java应用于互联网开发,游戏开发,银行系统管理等等。
    • 第一个学期学习了C语言,但是学的不好,代码量不是很多,导致基础就不太扎实。
    目标 给自己定一个目标是成功的开始
    时间 每天基本时间一个小时,然后根据难易度增加时间
    代码量 每周310行代码,一个学期4800
    学习方式 理论和代码并行,上完课后,复习时使用软件敲代码,小问题先解决再解决大的问题
    有困难时 简单问题找百度,自己百度解决不了的问题,整理好后问同学和老师

    3.使用码云管理Java代码

    3.1 GIT的使用





    3.2截图题集“Java基本语法”PTA提交列表


    3.3 使用学姐、学长开发的jar程序统计每周的代码量

    周次 总代码俩 新增代码量 总文件数 新增文件数
    1 191 191 18 18
  • 相关阅读:
    SVN Monitor工具推荐
    Linux Netbeans汉化不全
    PMWiki安装教程
    JIRA重启服务器后需要重启TOMCAT的解决
    SVN分支与合并
    WCF无法捕获FaultException
    非完美C++ Singleton实现[转载]
    C语言结构体的对齐原则
    C++ STL 学习笔记
    字符串笔试题
  • 原文地址:https://www.cnblogs.com/bbshenme/p/7523450.html
Copyright © 2011-2022 走看看