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

1. PTA

1.1 综合小测验

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

Scanner.nextLine()读取字符,再用Integer转化为整型
在这里插入图片描述

  • Eclipse的使用技巧

Eclipse自动生成快捷键解Alt+,如switch、for、while、sysout、main。
使用Eclipse快速创建程序框架(利用Eclipse的quick fix功能快速创建方法)。
不要重复创建Scanner对象。
其他:缩进, Tab、Shift+Tab。运行, ctrl+F11。
注意:
如果JDK为1.6版本(最新版PTA已支持1.8),switch不支持字符串。需先将字将String转化为int(早期的PTA 中使用的open jdk6)
使用Eclipse的quick fix功能快速创建函数int choice2Int(String choice)

1.2 身份证排序

sort1可直接使用Arrays.sort进行排序,String的subString进行拼接
sort2可以使用contains,找到数据,按顺序输出。
采用结构化编程方式,针对sort1、sort2各写一个方法处理。

  • 主要代码
    在这里插入图片描述
1.3 StringBuilder

使用+进行字符串拼接的弊端

  • 因为String是不可变的,使用+进行字符串拼接字符串,会产生新的字符串,而原来的字符串不会消失,会造成字符串常量池有很多无用的字符串。
  • 在字符串常量在拼接过程中,是将 String 转成了 StringBuilder 后,使用其 append() 方法进行处理的。
  • 在循环中需要字符拼接时,要用append() ,一定不要使用+。
1.4 动态数组

动态生成不规则大小的数组。定义数组时数组第一维需事先确定大小,第二维大小可在程序运行中动态确定。

定义二位数组时,一维时确定的,二维可以在程序中定义大小
在这里插入图片描述

1.5 ArrayList入门

ArrayList的常用方法add(e)、add(index, e)等
使用ArrayList可以代替数组,见如下代码,ArrayList用法请参考JDK文档。

import java.util.ArrayList;
import java.util.List;

public class ArrayListDemo {

    public static void main(String[] args) {
        //泛型,Integer
        List<Integer> integerList = new ArrayList<>();
        integerList.add(1);
        integerList.add(new Integer(1));//和上句效果一样
        for (Integer e : integerList) {
            System.out.println(e);
        }
        //泛型,String 
        List<String> strList = new ArrayList<String>();
        strList.add(1+"");
        strList.add("abc");
        strList.set(0, "def");//随机存取,设置0号位置的元素
        for (int i = 0; i < strList.size(); i++) {//数值长度
            System.out.println(strList.get(i));//获取元素
        }
    }
}
  • ArrayList常用的方法
方法作用
add()将指定的元素插入此列表中的指定位置
size()返回此列表中的元素数
set()用指定的元素替代此列表中指定位置上的元素
get()返回此列表中指定位置上的元素
isEmpty()如果此列表中没有元素,则返回 true
remove()移除此列表中指定位置上的元素
1.6 浮点数的精确运算

浮点数不精确,使用BigDecimal解决。
BigDecimal对象的构造(以字符串的方式构造)
熟悉以面向对象的方式进行各种操作(加减乘除)。
BigDecimal的不可变性,如何体现?

  • 直接使用double类型数据进行运算,无法得到精确值。所以需要BigDecimal求取精确的结果
    在这里插入图片描述
import java.math.BigDecimal;//插入类
BigDecimal a=new BigDecimal(A);//构造对象,这里a的类型建议优先使用String
a.add(b);//加法
a.subtract(b);//减法
a.multiply(b);//乘法
a.divide(b);//除法
  • BigDecimal都是不可变的(immutable)的,在进行每一步运算时,都会产生一个新的对象,所以在做加减乘除运算时千万要保存操作后的值。

Java BigDecimal详解

2. 加分题

第二次实验

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wang.yy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值