#作业01-Java基本概念
1. 本周学习总结
- 本周学习内容
JDK JVM JRE 跨平台 .java .class
- 关键概念之间的联系: 总的来讲
JDK 是给开发人员们提供专门用来开发的环境,并且包含了JRE 还有其他工具。而JRE 是给普通用户使用的运行环境,使java程序得以运行。JVM 则为解析java代码的虚拟机,有各个操作系统的JVM (Windows、Linux、MacOS),是java跨平台 的最核心的部分。java的源代码文件为.java 格式,通过JDK 或者JRE 编译得到.class 字节码文件。而字节码文件非机器码,不能直接运行,需要JVM 解释程序然后交给本地操作系统。
2.书面作业
1.虚拟机
1.1 执行java程序的步骤是什么?为什么java程序可以跨平台运行?
- 使用cmd命令框执行
- 首先要创建记事本,并在其内编写好代码
- 重命名记事本为
.java 格式
- 打开cmd命令框
- 用
cd 代码文件路径 进入目标所在文件
- 输入
javac 文件名 转化为字节码文件
- 输入
java 类(即文件名去掉.class后缀) 进行编译
- 使用eclipse执行
- 安装好eclipse文件后,打开eclipse程序
- 左上角点击
File->New->Java Progect ,输入项目名字后直接Finish
- 在项目文件下的src上右键
New->Package ,输入包的名字后Finish
- 右键包点击
New->Class ,输入名字后完成创建
- 在编写框中输入所写代码
- 右键Run As 或者 绿色播放按钮执行
- java跨平台运行的原因
- JVM为解析java代码的虚拟机,有各个操作系统的JVM(Windows、Linux、MacOS),是java跨平台的最核心的部分。正是因为各个操作系统拥有它自己的JVM虚拟机,所即使以在不同的操作系统上,只要拥有其java的JVM虚拟机进行与电脑操作系统的交互,就可以达到跨平台运行的目的。
1.2 什么是jdk?jdk, jre,jvm的联系是什么?
JDK是java给开发人员用的软件开发工具。JDK包括了JRE和tools(工具类),JRE包括了JVM和类库。
2.java与javac
2.1 java HelloWorld命令中,这条命令的含义是什么?HelloWorld这个参数指的是什么?
java HelloWorld意思是编译程序,即将字节码文件翻译给本地操作系统。HelloWorld是一个类,即文件名去掉其格式属性。
2.2 Path变量有什么用?
PATH环境变量。作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。
2.3 使用java编写程序并运行与使用c语言编写程序并运行的步骤和生成的中间文件、目标文件有什么不同?
java源代码生成的是字节码.java文件,编译后再生成的.class文件。
C语言是编辑得到.c格式,编译得到.obj格式,将目标文件生成可执行文件得到.exe格式,最后执行.exe文件得到运行结果。
3.实验总结
3.1 PTA中怎么处理输入?怎么进行格式化输出?
Java输入:
- 程序包名的下一行要输入
import java.util.Scanner ,将Scanner类导入。
- 在main中输入
Scanner sc = new Scanner(System.in) 生成Scanner对象
- 建立对应类型变量读入字符
nextLine() 方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
*next() 一定要读取到有效字符后才以空格键、Tab键或Enter键等结束符结束输入。
nextInt() 读入int整型字符串
nexxtDouble() 读入双精度的浮点数字符串,比如输入是字符串"12.9"那么返回值就应该是 double类型的 12.9
Java输出:
System.out.println 打印字符串并回车换行。
System.out.print 打印字符串,不打印回车换行。
格式化输出符号:
%d 整型
%f 浮点型
%s 字符串
%c 字符
%b 布尔类型
\r 回车
\n 换行
\f 走纸换页
\t 横向跳格
\b 退格
3.2 5-2(取数字)实验总结。
本题思路分为两块,条件是>=10000且<=20000的,需要借助java自带的三个函数toBinaryString()、toHexString()和toOctalString() 来完成十进制和二进制、十六进制和八进制之间的转换。除此之外的数字要将字符串中的每个数字抽取出来,然后将所有数字加总求和。这个部分实现起来就要用到循环来得到每一位的数字,并存到一个数组中以便于输出。
这一题出问题点是在于考虑问题的不周全,PTA一直报错的原因在于有考虑到输入0的情况。之前的代码输入0得到的答案是0 ,而非0 0 ,而后在代码中加入if语句判定后解决了这个问题。
3.3 5-3(取数字浮点数)实验总结。
本题首先输入要用nextDouble();方法,然后要考虑到输入值为负的情况,并用java自带的函数Math.abs(n);对其进行绝对值转换。
解决的关键在于百度了解出String.valueOf(n);和Integer.parseInt(a);函数怎么用。
接口描述:
valueOf()
返回一个Integer对象持有指定的原始值
parseInt()
此方法用于获取某个字符串的原始数据类型,Integer.valueOf(String)是将String转化为Integer对象
Integer.parseInt(String)是将String转化为int
之后借助toCharArray();函数将字符串转化成字符数组,再对数组进行遍历,将整数或者浮点数中的数字求和。
这一题碰到的问题是对Integer对象的不理解,后来在eclipse中输入函数的时候会有提示,根据提示括号内的格式类型才正确的运用了String.valueOf(n);和Integer.parseInt(a);函数之间的转化。
3.4 选做:5-4(开根号),5-5(二进制的前导的零)
开根号 这道题重点是理解给的循环条件,搞懂什么叫逐步逼近法。在搞懂题目之后就可以百度函数Math.pow(step,2);进行运用了。需要注意的是最开始step=0,所以在循环体中每次都要将step归零。
二进制的前导的零 这道题只需要求出转换成二进制之后的位数即可,但是需要注意的是要考虑到输入值为负数的情况,因为若输入值为负数,符号位为1,则无前导的零
4.Java主要应用在那几个方面?你对自己在这门课的目标与期许是什么?
web 开发,目前的SSH主流框架能是快速高效开发网站。
ERP 开发,用于做ERP软件前台后台。
手机游戏开发,目前大部分分手机都是安卓系统,安卓用的是java,开发java的安卓应用和游戏很有前途。
java桌面程序开发,用于公司内部使用,如简易的通讯工具开发。
java的优势在于跨平台和代码开源,使用范围广。
目标 |
学会用java |
期望 |
本学期过后,可以通过思考->设计->最后解决问题 |
时间 |
每周投入一半空闲时间来实践代码编程,多多编程 |
总共代码行 |
准备至少写3000行代码 |
平均每周 |
准备写120行 代码 |
学习方式 |
除了完成布置的作业以外,可以多看一看别人的代码进行实践,提高自己处理问题的能力 |
解决方式 |
问题百度,并且将百度来的一些内容都填充到博客园中进行记录和分享 |
3.使用码云管理Java代码
3.1 GIT使用
另外:
用本台电脑登陆其他码云账号后git cmd的最后一步git push一直蹦错,百度后得知需要重新绑定账号。由于当天未解决,就又用右键的 git GUI here 直接上传了。
...
3.2 截图题集“Java基本语法”PTA提交列表
3.3 使用学姐、学长开发的jar程序统计每周的代码量
周次 |
总代码量 |
新增代码量 |
总文件数 |
新增文件数 |
1 |
125 |
125 |
13 |
13 |
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
随机推荐
- helpera64开机bootlogo-BUG
环境: HelperA64开发板 Linux3.10内核 时间:2019.01.12 目标:修改开机bootlogo的BUG 问题: 1.24bit深度的bootlogo.bmp图片会导致Qt5有色差 ...
- 从零开始一个http服务器(五)-模拟cgi
从零开始一个http服务器-模拟cgi(五) 代码地址 : https://github.com/flamedancer/cserver git checkout step5 运行: make cle ...
- 20155330 2016-2017-2 《Java程序设计》第三周学习总结
20155330 2016-2017-2 <Java程序设计>第三周学习总结 教材学习内容总结 学习目标 区分基本类型与类类型 理解对象的生成与引用的关系 掌握String类和数组 理解封 ...
- 20155332 2016-2017-2 《Java程序设计》实验一 Java开发环境的熟悉
实验内容 使用JDK编译.运行简单的Java程序: 使用IDEA 编辑.编译.运行.调试Java程序. 实验知识点 JVM.JRE.JDK的安装位置与区别: 命令行运行javac:java:javac ...
- HTML 5 +CSS3 + 原生js 做(雪花全屏飘落 + 3d旋转图)
原文:HTML 5 +CSS3 + 原生js 做(雪花全屏飘落 + 3d旋转图) 3d旋转图:主要用css3中transform属性中的rotate,translate;以及用来做舞台效果的 pers ...
- centos7.5yum安装mysql(官方yum源比较慢)
mysql的部署 查看Linux发行版本 cat /etc/redhat-release 下载MySQL官方的Yum Repository wget -i http://dev.mysql.com/g ...
- GDAL中通过GDALDriver类的Create函数实现图像的保存
GDAL中除了读取各种类型的图像外,也可以实现对各种图像的保存操作,具体实现测试代码如下: int test_gadl_GDALDataset_write() { const char* image_ ...
- SaltStack入门篇(一)之SaltStack部署
一.SaltStack概述 Salt,,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯. salt底层采用动态的连接总线, ...
- 查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件
查看Oracle数据库表空间大小(空闲.已使用),是否要增加表空间的数据文件 1.查看表空间已经使用的百分比 Sql代码 select a.tablespace_name,a.bytes/1024/1 ...
- Android开发笔记——ListView模块、缓存及性能
ListView是Android开发中最常用的组件之一.本文将重点说明如何正确使用ListView,以及使用过程中可能遇到的问题. ListView开发模块 图片缓存 可能遇到的问题 一.ListVi ...
|