1. 本章学习总结
- 熟悉了Java数据类型 基本和引用类型
- 知道了有常量池这个东西
- 知道了Java有装箱和拆箱概念
- 学会了使用ArrayList
- 学到了BigDecimal这个厉害的类
2. 书面作业
Q1 java HelloWorld命令中,HelloWorld这个参数是什么含义?
一个可以运行的主类,一个.class文件
Q2. JDK与JRE有什么区别?
JDK==Java Development Kit 是开发者使用工具包,JRE==Java Runtime Environment是Java的运行环境,差别很大,一个用与开发环境,一个用于生产环境
2.4 Java主要应用在那几个方面?你对自己在这门课的目标与期许是什么?
Java在各界均有应用,由于其良好的平台移植性和独有的jvm体系,被应用于各种行业的软件开发,无论是移动端的安卓体系或是网页端的JSP体系,Java都以严谨的代码风格受程序员喜爱,尤其是其衍生的js体系,在网页制作中几乎独揽,在GUI开发中由于awt体系逐渐过时而处于下风,与近畿推出的JavaFX体系确实结合了大流,界面也结合了新的美学,官方也打算将其加入基本库,可以看出受重视程度之深。
| 目标 | 能满足一个Java软件工程师的基本素养 |
| ---- | ------------------------------------ |
| 时间 | 日均时间起码能保证2小时+ |
| 代码量 | 根据手上的项目,大概每周1200+行,再加上PTA题目大概200行 |
| 学习方式 | JDK文档+百度+问老师 |
| 有困难时 | 先查询文档,一般文档都有提供的API用法,再百度看看范例,没有什么太难的 |
3. PTA实验总结及码云上代码提交记录
3.1本周代码Commit历史截图
额。。最近在自己制作一套前端框架,然后目前由于是未完成阶段,所以未公开,放在阿里云上
3.2 PTA提交记录截图
4.实验部分
4.1 配置JDK
如果要在命令行中使用javac,需要配置环境变量,如不使用命令行可跳过此部分
由于笔者使用OpenJDK,环境是macOS,所以使用zulu一键下载安装,不多赘述
Linux不同分支可以使用不同的包管理器一键下载安装
apt install openjdk-8
若使用Oracle下载的JDK二进制文件
mkdir /usr/java mv jdk-linux.bin /usr/java ./jdk-linux.bin #之后设置环境变量 vi /etc/profile
添加如下内容
export JAVA_HOME=/usr/java/jdk1.6.0_45 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
windows如下配置 由于笔者没有windows环境,此处无图
- 右键此电脑,点击属性
- 选择右侧的高级系统设置
- 选择环境变量
- 在下方系统变量中添加你的java/bin目录
4.2 HelloWorld
由于笔者使用macOS,作业要求使用的Notepad++我并没有安装,在此使用Vim代替
然后发现。。
所以我只好
可以看到lib包已被调用
获取输入
若要考虑参数不足使用Useage提示
public class ReadFromConsole {
public static void main(String[] args) {
if (args.length != 2) {
System.out.println("参数数量不正确,用法:java ReadFromConsole <first argument> <second argument>");
System.exit(1);
}
for (String each : args) {
if (each.matches("[^0-9.]+")) {
System.out.println("请输入符合格式的浮点数");
System.out.println("不符合格式的参数:"+each);
System.exit(2);
}
}
Double first = new Double(args[0]);
Double second = new Double(args[1]);
System.out.println(first + second);
}
}
- 使用了
正则表达式
来检测是否是合法的浮点数格式 - 使用lenth属性判断参数数量符合
4.3 取数字
使用Integer.toOctalString() | Integer.toHexString() | Integer.toBinaryString()方法将int转为八进制十六进制二进制字符串
考虑负数,分开取和:即以String形式录入,转为CharArray然后判断是数字的就转为int然后加上
开根号程序
多重判断加循环
已经使用二分逼近法
主要函数:
public static void calc(double x,double step,double epsilon){
if (x<0) System.out.println("NaN");
else {
if (x>4) {
double n = x / 2;
while ((n * n - x) > epsilon) {
n -= step;
}
System.out.printf("%.6f\n", n);
}else if( x == 4 ) {
System.out.printf("%.6f\n",2.0);
}else{
double n = x / 2;
while (( x - n * n) > epsilon) {
n += step;
}
System.out.printf("%.6f\n",n);
}
}
}
5 本周代码量
由于学长提供的工具在我的系统macOS出现问题
看了下源码,250行,打算自己写一个类似的。。。。估计也要踩不少坑吧,没关系了都是踩着过来的。。。。