201521123091 《Java程序设计》第1周学习总结
2024-09-09 19:27:04
Java 第一周总结
第一周的作业。
1.本章学习总结
- [x] 初识Java语言:Java的历史,三大平台,了解JVM/JRE/JDK
- [x] Java开发环境的配置
- [x] 用记事本编写Java程序,并用cmd编译运行
- [x] 码云的使用,如何将代码放到本地和远程仓库中
- [x] 博客园的使用,如何使用markdown文本编辑器进行博客的撰写,还有提交作业
2.Java Q&A
1.为什么java程序可以跨平台运行?执行java程序的步骤是什么?
- 如果要运行Java程序就需要安装JRE(Java Runtime Environment),里面自带虚拟机JVM(Java Virtual Machine),这个JVM是根据不同平台而相异的。这样子的话,写好的Java程序首先被编译成后缀名为.class的字节码,最后直接在JVM可以直接将此翻译为依赖于平台的机器码。
- 执行Java程序的步骤
2.什么是jdk?jdk,jre,jvm的区别是什么?
- JDK(Java Development Kit)是Sun公司针对Java开发人员发布的免费软件开发工具包。
- JDK,JRE和JVM是包含关系。
Jave SE Platform at a GlanceOracle官网Java SE平台示意图
3.java HelloWorld命令中,HelloWorld这个参数指的是什么?
- 一个类名而已吧。
4.设置path变量有什么用?
- 配置Path变量,cmd(胡扯的)操作系统才会在编译Java程序的时候可以找到对应的javac。(PATH 是操作系统用于查找来自命令行或终端窗口的必需可执行文件的系统变量。)Java“如何设置或更改 PATH 系统变量?”
5.使用java编写程序并运行与使用c语言编写程序并运行的步骤和生成的中间文件、目标文件有什么不同?
- C语言程序经过编译程序被翻译成目的程序(后缀名为.obj),然后与库程序进行连接,最后生成可执行文件(后缀名为.exe)。Java源程序通过编译器生成后缀名为.class的JVM字节码,再由字节码翻译为对应平台的目标代码,最后运行。
6.Java语言有哪几种开发平台?
- NetBeans
- Eclipse
- IntelliJ IDEA the Java IDE
7.Oracle JDK与Open JDK有何不同?
- 一个是官方的一个是开源的
- OpenJDK只包含最精简的JDK
- Oracle JDK不能用于商业用途,Open JDK可以
- 另:OpenJDK6并不是Sun JDK6的分支,而是将OpenJDK7中JDK7的特性删掉,使之符合JDK6的规范,因而OpenJDK6实际上是OpenJDK7的分支
3.码云项目截图
4.实验总结
- 放在pta平台运行的代码的类名必须为Main。
- 数字 + ""可以将数字变成字符串,其实想一下平时在println方法中有时就是这样子。
- 开根号用二分或者是牛顿迭代都是比较好的办法,相反地,从0往上加是比较傻的,而且误差值应该要比步进值来得小才能保证程序的正常运行,不然就会出现死循环把机器跑崩掉。
- 关于前导0的问题
- 首先对于一个数,首先很简单的转成二进制的字符串(这个字符串是不带前导0的),这边设为string,所以最后只要输出
32 - string.length()
就行了 - but,如果这个数是0的话,非常地僵硬,因为这是一个字符串高位是0的字符串,虽然长度仅为1。那么这时候我们就需要特判一下,如果是0的话,直接输出32就好了。嗯,其他的数都不会出现这样的情况,所以还行。
- 最后,只是为了试试markdown编辑器的代码,所以贴一下这道题的代码。(现在我用的编辑器是有代码高亮的,不知道博客园有没有,反正简单的流程图他都是不zici的,上面那个很丑陋的流程图本来就是用markdown写出来的)
- 首先对于一个数,首先很简单的转成二进制的字符串(这个字符串是不带前导0的),这边设为string,所以最后只要输出
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
String string = Integer.toBinaryString(x);
if (x == 0)
System.out.println(32);
else
System.out.println(32 - string.length());
scanner.close();
}
}
总结到这边就结束了!
(下面这一部分请老师不要算在作业里,谢谢!)
PS:最后的最后,关于代码补全的问题,已经很久没有用alt+/了,而是改为了二十六个字母全部都能触发代码补全的办法,虽然只是从原来的需要敲Alt
+/
+Enter
变成了直接敲Enter
,但是真的流畅了很多,到底有多流畅,大概就像喝汤一样流畅。不过鉴于没什么人关注我的博客,就说到这边吧,反正方法也很简单,想知道的可以谷歌或者粉我(手动滑稽)
最新文章
- BZOJ 3160: 万径人踪灭
- spring Mvc + Mybatis 中使用junit
- ORA-00824: cannot set sga_target due to existing internal settings, see alert log for more information
- MS SQL 监控错误日志的告警信息
- 198个经典C#WinForm实例源码(超赞) 里面的例子 .sln 目录
- C# 之泛型详解
- Calendar /String /Date 转换
- Windows 批处理(bat)语法大全
- String类中的一些函数使用方法
- linux下的网络配置
- 【转】.NET 安装和部署(Installer) 如何卸载上一个版本
- [课程相关]homework-02
- Linux 查看 80 端口的占用情况
- 一些iOS笔试题目
- 详解meta标签
- [Noi2016]优秀的拆分
- 聊聊OSM
- 《程序设计入门——C语言》翁恺老师 第四周编程练习记录
- Python 语法1
- Vladik and Complicated Book CodeForces - 811B (思维实现)
热门文章
- PAT (Basic Level) Practise (中文) 1017. A除以B (20)
- 【机器学习笔记之二】决策树的python实现
- 【机器学习PAI实践一】搭建心脏病预测案例
- 排座椅 2008 NOIP 普及组 第二题
- 手工释放linux内存——/proc/sys/vm/drop_caches
- select、poll、epoll简介
- APP测试容易忽略的地方
- 一步步学习操作系统(1)——参照ucos,在STM32上实现一个简单的多任务(“啰里啰嗦版”)
- Swagger
- [目标检测]YOLO原理