• Java第02次实验(Java基本语法与类库)


    Java第02次实验(Java基本语法与类库)

    1.PTA-jmu-Java-02-Java基本语法

    1.1 综合小测验

    1.1.1 控制台输入处理

    • 由于nextLine()方法与其他nextXXX方法混用会产生吞回车问题。所以建议全部使用Scanner.nextLine()处理输入以免碰到行尾回车换行问题。

    1.1.2 Eclipse自动生成快捷键

    • Alt+switch、for、while、sysout、main

    • 缩进: Tab、Shift+Tab

    • 运行:ctrl+F11

    • 快速创建函数(createMethod):quick fix功能

    1.1.3 代码

    • 两段代码的比较,相比之下采用switch-case比较可观,简洁。

    1.2 StringBuilder

    1.2.1 Q&A

    Q1:为什么使用StringBuilder而不使用String?

    A1:在频繁修改字符串的时候,String具有不可变性,如果进行字符串的拼接时,就会需要多个字符串变量,就降低了代码的执行效率。

    Q2:调用StringBuilder的append(char[] str)方法时,是如何实现添加字符的操作?

    A2:java.lang.StringBuilder.append(char[] str) 方法添加这个序列的char数组参数的字符串表示形式。字符数组参数按顺序追加序列的内容,这个序列的长度增加该参数的长度,且StringBuilder内部使用字符数组来存放字符。

    1.2.2 Java StringBuilder类

    1.2.3 代码

    1.3 身份证排序

    1.3.1 知识点

    • sort1可直接使用Arrays.sort,String的subString

    • 采用结构化编程方式,针对sort1sort2各写一个方法进行处理

    • 换行问题:全部使用Scanner的nextLine()处理输入

    1.3.2 代码

    先用String类型的数组存放身份号,然后使用String类型的SubString方法截取出年月日存放到一个变量数组data中,然后使用Arrays类中的sort方法进行排序,就能得到排序好的数组。照出生月份排序:使用SubString截取的月,把月份放在最前面,然后再用sort排序,排完之后再换回来。

    1.4 动态数组

    1.4.1 知识点

    • 定义数组时数组第一维需事先确定大小,第二维大小可在程序运行中动态确定
    • 格式化输出:String.format或者System.out.printf

    1.4.2 代码

    1.5 ArrayList入门

    1.5.1 ArrayList类

    • 添加元素 arr.add("a");
    • 删除元素 arr.remove(object obj);//移除数组中的obj元素
    • 查找元素 Contains()、IndexOf()、LastIndexOf()三种方法
    • 获取元素 arr.get(index);

    1.5.2 代码

    1.6 浮点数的精确运算

    1.6.1 知识点--浮点数不精确问题

    • 使用BigDecimal解决,BigDecimal对象的构造(以字符串的方式构造)

    Q:BigDecimal的不可变性,如何体现?

    A:BigDecimal在进行每一步运算时,都会产生一个新的对象,因此a.add(b)虽然作了加法操做,可是a并无保存加操做后的值,正确的用法应该是a=a.add(b);

    1.6.2 代码

    2. 加分题

    2.1 Math类应用

    新建n个大小的数组,往数组中随机填入1-100之间的整数(写成函数形式),然后统计并输出其中大于50与小于等于50的百分比(写成函数形式)。

    2.1 知识点

    Math类产生随机数

    Math.random();//返回范围在[0.0,1.0)的双精度随机数
    (int)(Math.random()*10);//返回0到9之间的int值
    1+(int)(Math.random()*10);//返回[1,10]之间的int值
    (int)(3+Math.random()*(17-3+1));//返回3到17之间的int值
    

    Random类产生随机数

    Random random = new Random();
    random.nextInt(); //返回任意int值
    random.nextInt(10); //返回范围在[0,10)之间的int值
    

    2.1.1 代码

    2.1.2 代码

    编写一个简单密码生成器类SimplePasswordGenerator,内含一个方法:

    public static String generate(int length),可以产生length长度的简单密码,该密码由大写字母、小写字母、数字组成。注意:小写字母中不应包含小写字母L。

    输出:

    2.1.3 代码

    加分考核点:(选做)构造大小为26的char数组,随机生成n个从a-z的字符,最后统计输出每个字符占总生成字符的百分比。

  • 相关阅读:
    :nth-child :nth-type-of用法详解
    hosts修改备份
    微信小程序 报警告的解决办法
    微信小程序 body属性的问题
    关于微信小程序post请求数据的坑
    在做展开功能的时候,字体变多了,字体会变大的bug的解决方案
    关于微信小程序并发数不能超过五个的问题
    单行文本省略号与多行文本省略号的实现
    js数据类型判断
    表格td标签在不添加多余标签的情况下实现文本内容单行显示,多余部分省略号表示的方法
  • 原文地址:https://www.cnblogs.com/GGGa-Yi/p/15318795.html
Copyright © 2020-2023  润新知