1.本周学习总结

本周学习了JVM,JDK,JRE三者之间的区别及联系,知道JDK包括JRE,JRE包括JVM,知道java语言与C语言的不同之处在于java语言可以依赖于虚拟机实现“编译一次,到处运行”,通过编程题大概了解了Integer类,String类,Scanner类,也知道java中有很多很实用的类可以方便编程人员的使用,通过看书知道了path变量是用来找到javac这个编译工具的,classpath变量是用来加载类的,还在书中了解了java的基础语法,与C原因有所相同又有所不同。

2.书面作业

1. 虚拟机

1.1 执行java程序的步骤是什么?为什么java程序可以跨平台运行?

  • Java源文件扩展名为.java,经过编译程序编译为扩展名为.class的位码,最后经过JVM的翻译,翻译为可以被机器运行的代码。
  • Java之所以可以跨平台运行,是由于JVM的存在,JVM(Java Virtual Machine)称为Java虚拟机,不同的平台安装专属该平台的JVM,虽然运行的平台不同,但是只要装上JVM,就能将位码文件(.class文件)翻译为机器看得懂的0、1序列,实现上课提到的“编译一次,到处运行”。

1.2 什么是jdk?jdk, jre, jvm的联系是什么?

  • dk(java development kit)包括很多在撰写Java程序时的工具程序。
  • jdk包括jre,jre又包括jvm。

2.java与javac

2.1 java HelloWorld命令中,这条命令的含义是什么?HelloWorld这个参数指的是什么?

  • 运行Helloworld.class
  • Helloworld就是一个类名

2.2 Path变量有什么用?

  • 配置path变量,操作系统才能找到javac这个编译工具,可以在控制台中使用SET指令来配置,也可以更改计算机中的环境系统变量或用户系统变量中的Path变量。

2.3 使用java编写程序并运行与使用c语言编写程序并运行的步骤和生成的中间文件、目标文件有什么不同?

  • c语言是直接在电脑的操作系统上编译运行,最终生成后缀名为.exe的可执行文件,java是先编译为.class的位码文件,再经过JVM的翻译,最终转化为机器所认识的0、1数列运行并表示出来。

3.实验总结

3.1 阅读PTA中提交Java程序的一些套路。回答:PTA中怎么处理输入?怎么进行格式化输出?

PTA输入

  • 用System类,例如System.in
  • 用Scanner类,在代码首部加上import java.util.Scanner,例如Scanner sc=new Scanner(System.in);

格式化输出

  • 用System类,例如System.out.println
  • 常用格式控制符号

    %d 以十进制整数格式输出

    %f 以十进制浮点数格式输出

    %e,%E 以科学记号浮点数格式输出

    %o 以八进制整数格式输出

    %x,%X 以十六进制整数格式输出

    %s,%S 字符串格式符号

    %c,%C 以字符符号输出

    %n 换行符号

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

  • 运用Integer.parseInt()函数,将数字字符串转化为整数
  • 运用Integer.toBinaryString() Integer.toOctalString() Integer.toHexString()函数,将十进制整数转化为二进制,八进制,十六进制字符串
  • 将字符串中的每个数字取出来做相加运算就是对整数做求余操作,将余数存入数组中,然后再将数组中的数相加

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

  • 用Character.isDigit(s.charAt())将字符串中是数字的取出来
  • 用Integer.parseInt(s.charAt()+"")将数字字符改为十进制整数
  • 将得到的整数相加并输出结果

    Integer.parseInt(s.charAt(i)+"")中我刚开始是没写‘+“ ”’的,但是程序提示出错,百度了一下才知道要写‘+“ ”’但是其中的道理不是很明白

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

花费时间 平均每天至少一个小时
代码量 5000+
学习方式 认真完成布置的作业,认真上课,多研究Java中的类,多看一些经典代码
怎么解决困难 百度,请教学长学姐,把问题放到博客园中和同学一起讨论

3. 使用码云管理Java代码

3.1 GIT使用









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

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



行数 新增行数 文件数 新增文件数
160 160 20 20

作业01-Java基本概念的更多相关文章

  1. 课程作业01:模仿JavaAppArguments.java示例,编写一个程序,此程序从命令行接收多个数字,求和之后输出结果。

    1.设计思想: 首先是从JavaAppArguments.java示例开始,此示例已打印参数,定义数字 之和和作为存储单位的整型,然后将输入参数的字符串转化为整型,之后求和即可. 2.程序流程图: 3 ...

  2. JAVA自学作业01

    JAVA自学作业01 1.Hello World 程序 class HelloWorld{ public static void main(String args[]){ System.out.pri ...

  3. 2017《Java技术》预备作业01

    2017<Java技术>预备作业 1.学习使用MarkDown 本学期的随笔都将使用MarkDown格式,要求熟练掌握MarkDown语法,学会如何使用标题,插入超链接,列表,插入图片,插 ...

  4. 087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点

    087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点 本文知识点:封装的概念和特点 说明:因为时间紧张,本人写博客过程中只是对 ...

  5. 055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念

    055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念 本文知识点:数组的概念 数组的声明创建.初始化 在学习数组的声明创建.初始化前,我们可以和之 ...

  6. 018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念

    018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念 本文知识点:Java中的数据类型转换 类型转换 类型转换分类 2类,分别是: ...

  7. Java企业实训 - 01 - Java前奏

    前言: 虽然个人专攻.NET方向,不过由于个人是干教育行业的,方方面面的东西,不能说都必须精通,但肯定多少都会涉及到. 一个菜鸟学员,从啥都不会,经过一步步学习,最后到企业上手掌管一个模块甚至一个项目 ...

  8. | C语言I作业01

    C语言I作业01 标签:18软件 李煦亮 1.1 你对软件工程专业了解是怎样? 对软件工程的了解是从人工智能频繁地出现在各大新闻,新闻报道了许多高校针对人工智能开设了相关课程或者专业,软件工程是开设的 ...

  9. 081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字

    081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字 本文知识点:new关键字 说明:因为时间紧张,本人写博客过程中只是 ...

  10. 054 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 01 数组概述

    054 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 01 数组概述 本文知识点:数组概述 为什么要学习数组? 实际问题: 比如我们要对学生的成绩进行排序,一个班级 ...

随机推荐

  1. $CDQ$分治总结

    A.\(CDQ\) 分治 特别基础的教程略. \(CDQ\)分治的优缺点: ( 1 )优点:代码量少,常数极小,可以降低处理维数. ( 2 )缺点:必须离线处理. \(CDQ\)分治与其他分治最本质的 ...

  2. USACO08MAR Land Acquisition

    斜率优化 # include <stdio.h> # include <stdlib.h> # include <iostream> # include <s ...

  3. NOIP2017划水记

    考完好久后才想起来写个总结 Day0 在Luogu上码了几道模板题 然后就忍不住和机房的人开始颓了本来说要复习一下的 将军棋到CS,一直在颓CS打的还不错 晚上开了几把后就昏昏沉沉睡了 Day1 好紧 ...

  4. Java注解学习

    一.注解定义 JVM5.0定义了4个标准的元注解: @Target, @Retention, @Documented @Inherited 1. @Target 作用:用于描述注解的使用范围 取值El ...

  5. 如何使用Git以及GitHub

    Git在程序的版本控制上有着极大的优势,下面是简单对其的简介 Git 的特点: 1 Snapshots, Not Differences 直接记录快照而非差异对比. 传统的版本控制系统(version ...

  6. 智能合约语言 Solidity 教程系列8 - Solidity API

    这是Solidity教程系列文章第8篇介绍Solidity API,它们主要表现为内置的特殊的变量及函数,存在于全局命名空间里. 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应 ...

  7. createjs绘制扇形的方法

    扇形由三段线条组成,两条直线和一条弧线,直线可以用createjs中的lineTo函数画出,弧线用Graphics.arc函数来画. 一.关于createjs中的Graphics.Arc API Gr ...

  8. 原生js获取left值和top值

    在用js做动态效果时,通常需要获取元素绝对定位中的left和top属性值.比如做一个碰撞广告,就要不停的获取元素的top和left属性值. 需要注意的事:取值的元素必须要设置position:abso ...

  9. 原生js移动端滑动事件

    移动端触屏滑动的效果其实就是图片轮播,在PC的页面上很好实现,绑定click和mouseover等事件来完成.但是在移动设备上,要实现这种轮播的效果,就需要用到核心的touch事件.处理touch事件 ...

  10. PHP方法实现1-9数列中添加‘+’,‘-’或'',使和为100,并输出数列

    今天收到个题目:编写一个在1,2,3,4,5,6,7,8,9(顺序不能变)数字之间插入 + 或- 或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性.例如 1+2+34-5+67-8+9 ...