JAVA第一次实验

1. 本章学习总结

  1. 熟悉了Java数据类型 基本和引用类型
  2. 知道了有常量池这个东西
  3. 知道了Java有装箱和拆箱概念
  4. 学会了使用ArrayList
  5. 学到了BigDecimal这个厉害的类

2. 书面作业

Q1 java HelloWorld命令中,HelloWorld这个参数是什么含义?
一个可以运行的主类,一个.class文件

Q2. JDK与JRE有什么区别?
JDKJava Development Kit 是开发者使用工具包,JREJava 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环境,此处无图

    1. 右键此电脑,点击属性
    2. 选择右侧的高级系统设置
    3. 选择环境变量
    4. 在下方系统变量中添加你的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);
    }
}
  1. 使用了正则表达式来检测是否是合法的浮点数格式
  2. 使用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行,打算自己写一个类似的。。。。估计也要踩不少坑吧,没关系了都是踩着过来的。。。。

posted @ 2017-09-18 20:05  三组组长-董明超  阅读(246)  评论(5)    收藏  举报