版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单元2
Java编程基础2.4数组与常用类程序设计任务描述任务2.4统计车辆运费货运公司在月末时,一般会统计当月车辆的运费费用。当月有效期内各类型车辆的运费费率如表2-3-1所示。根据运费费率单价与各类型车辆实际的托运量,分别计算各类型车辆的实际运费,累加计算出公司本月总运费。表2-3-1有限期内的运费费率表车型2T5T8T10T集装箱20'集装箱40'小车单价(元)14.875111.1132.53203800.56根据提供的ConvertMoney类,添加功能实现将车辆运费合计(小写)部分输出为大写,效果如图2-4-2所示。图2-4-2车辆运费统计知识目标熟悉一维数组的定义与使用。熟悉多维数组的定义与使用。熟悉Sting类的常用方法。熟悉Java包装类的基本用法。能力目标能够使用数组存储与处理算法逻辑中车辆相关数据。能灵活运用String类的方法解决实际问题。能熟练运用包装类与基本数据类型的转换。能熟练运用Date类获取系统日期。素养目标个体与集体,培养团结意识,共同发展和进步。人以类聚,物以群分,潜移默化灌输生活处事哲理。学会文档查阅,培养迁移学习的能力。任务2.4统计车辆运费String类字符串,顾名思义就是用字符连接成的字符序列。字符串常量用双引号括起来。在Java语言中是把字符串当作对象来处理的,可以通过java.lang包中String类创建字符串对象。
生活中的字符串
频繁使用的字符串
“有志者事竟成”“一日之计在于晨”
“态度决定一切”Strings="有志者事竟成";Strings=newString("有志者事竟成”);
创建字符串String类相关知识示例:String字符串的应用public
classCreateString{public
static
voidmain(String[]args){Stringa="时间就是金钱";//直接引用字符串常量System.out.println("a="+a);Stringb=newString(“我喜欢小肥羊火锅");//利用构造方法实例化Stringc=newString(b);//使用已有字符串变量实例化System.out.println("b="+b);System.out.println("c="+c);char[]charArray={'t','i','m','e'};Stringd=newString(charArray);//利用字符数组实例化System.out.println("d="+d);char[]charArray2={'时','间','就','是','金','钱'
};//提取字符数组部分内容,从下标为4的元素开始,截取2个字符Stringe=newString(charArray2,4,2);System.out.println("e="+e);}}String类String类的常用方法方法功能publicintlength()返回此字符串的长度publiccharcharAt(intindex)返回指定索引处的char值publicStringconcat(Stringstr)将当前字符串与str连接,返回连接后的字符串PublicbooleanisEmpty()判断字符串是否为空,如果length()为0,则返回true;否则返回falsepublicintcompareTo(Strings)比较两个字符串字典顺序,相等返回0,s大于当前字符串返回一个负值,s小于当前串返回一个正值publicbooleanequals(Objecto)比较两个字符串对象,相等则返回true;反之返回false。考虑大小写publicbooleanequalsIgnoreCase(Stringstr)比较两个字符串对象,相等则返回true;反之返回false。,不考虑大小写publicbooleanendsWith(Stringsuffix)测试此字符串是否以指定的后缀结束publicbooleanstartsWith(Stringprefix)测试此字符串是否以指定的前缀开始publicintindexOf(intch)搜索第一个出现的字符chpublicintindexOf(Stringvalue)搜索第一个出现的字符串valuepublicintlastIndexOf(intch)搜索最后一个出现的字符chpublicintlastIndexOf(Stringvalue)搜索最后一个出现的字符串valuepublicStringsubstring(intindex)提取从位置索引开始的字符串部分publicStringsubstring(intbeginindex,intendindex)提取beginindex和endindex之间的字符串部分publicStringtrim()返回一个前后不含任何空格的调用字符串的副本publicStringtoUpperCase()String中的所有字符都转换为大写publicStringtoLowerCase()使用默认语言环境的规则将此String中的所有字符都转换为小写publicStringsplit(charch)根据给定的分隔符对字符串进行拆分,返回一个字符数组String类String常用方法~提取字符串信息1.获取字符串长度Stringstr=newString(“态度决定一切”);intsize=str.length();System.out.println(字符串长度:”+size);2.获取指定位置的字符Stringstr=newString(“清明时节雨纷纷,路上行人欲断魂”);charch1=str.charAt(10);System.out.println(“字符串中索引位置为10的字符是:”+ch1);3.获取字符串索引位置(如果没有找到,则返回-1)Stringstr="yy@";intsize=str.indexOf(".");System.out.println("圆点字符在字符串中索引位置是:"+size);字符串中索引位置为10的字符是:行字符串长度是:6圆点字符在字符串中索引位置是:7String类4.获取字符数组String常用方法~提取字符串信息Stringstr="这是一个字符串";
//创建一个字符串char[]ch
=str.toCharArray();//将字符串转换成字符数组for(int
i=0;i<ch.length;i++){//遍历字符数组
System.out.println("数组第"
+i+"个元素为:"
+ch[i]);}5.判断子字符串是否存在Stringstr
="苏州有:姑苏区,吴中区,虎丘区,相城区,吴江区,工业园区";booleanrequest1=str.contains("吴中区");System.out.println("苏州有吴中区?"
+request1);booleanrequest2=str.contains("杨浦区");System.out.println("苏州有杨浦区?"
+request2);String类1.截取字符串String常用方法~字符串的操作2.字符串替换StringidNum
=;//模拟身份证字符串Stringyear
=idNum.substring(6,10);//截取年Stringmonth=idNum.substring(10,12);
//截取月Stringday=idNum.substring(12,14);//截取日System.out.print("出生日期为:"+year+"年"
+month+"月"
+day+"日");Stringstr
="登陆功能:用户输入用户名和密码之后,单击“登陆”按钮即可完成登陆操作。";Stringrestr=str.replace("陆","录");System.out.println("【更改前】"
+str);System.out.println("【更改后】"
+restr);String类3.字符串分割String常用方法~字符串的操作4.字符串大小写转换Stringstr="南京,无锡,苏州,杭州,上海";Stringdenal[]=str.split(",");for(inti=0;i<denal.length;i++){//遍历数组 System.out.println("索引"
+i+"的元素:"
+denal[i]);}Stringstr="abcDEF";//创建字符串System.out.println(str.toLowerCase());System.out.println(str.toUpperCase());String类5.去除字符串中空白内容String常用方法~字符串的操作6.判断子字符串是否相等Stringstr="eye";StringshortStr=str.trim();System.out.println("str的原值是:["
+str+"]");System.out.println("去掉首尾空白的值:["
+shortStr+"]");Stringstr1="Hello";//直接引用字符串常量Stringstr2=newString("Hello");//创建新字符串对象Stringstr3=newString("你好");//创建新字符串对象,但内容不同System.out.println("str1与str2比较的结果:"
+str1.equals(str2));System.out.println("str1与str3比较的结果:"
+str1.equals(str3));equalsIgnoreCase()方法解决比较时忽略大小写String类可变字符串StringBuffer类在实际开发中,我们经常需要对字符串的内容进行修改,使用String类型的效率不高(因为只能不断创建新的字符串对象并销毁旧的对象)。在这种情况下使用StringBuffer类型就比较合适。StringBuffer类型表示的是内容可以修改的Unicode编码字符序列。其创建后,所保存的字符串内容和长度均可以修改。StringBuffersbf3=newStringBuffer(32);创建一个对象,无初始值,即创建空字符串创建一个对象,初始值为aaa创建一个对象,初始容量为32的字符串缓冲区创建StringBuffer字符串,必须使用new关键字StringBuffersbf2=newStringBuffer(“aaa”);StringBuffersbf1=newStringBuffer();
创建StringBuffer字符串StringBuffer类StringBuffer类的常用方法StringBuffer常用方法StringBuffer常用方法中对字符串的运算操作,实际是对源字符串本身进行的,运算操作之后源字符串的值都发生了变化。方法功能publicStringBufferappend(typet)将任意数据类型的对象转换成字符串,然后追加到字符串序列中。publiccharsetCharAt(intindex,charch)设置给定索引处的字符修改为ch字符。publicStringBufferinsert(intoffset,Stringstr)将字符串插入到指定的索引值offset位置上。publicStringBufferdelete(intstart,intend)删除此序列中从指定索引start开始,一直到索引end处的子字符串StringtoString()返回缓冲区序列中数据的字符串表示形式StringBuffer类public
classStringBufferAppend{public
static
voidmain(String[]args){
//创建StringBuffer对象
StringBuffersbf=newStringBuffer("门前大桥下,");
sbf.append("游过一群鸭,");//追加字符串常量
//创建其他StringBuffer对象
StringBuffertmp=newStringBuffer("快来快来数一数,");
sbf.append(tmp);//追加StringBuffer对象
int
x
=24678;//创建整型变量
sbf.append(x);//追加整型变量System.out.println(sbf.toString());//输出}}1.为字符串追加不同类型的文字内容示例~append()方法应用StringBuffer类包装类在Java中本质上,存在两种数据类型,一种是基本数据类型(即包括int、double、float等8种原生态的数据类型),另外一种是引用类型--类(class)。为什么引入包装类由于基本数据类型不具有对象的特性。在Java中很多类的方法的参数类型都是对象,这些方法接受的参数都是对象,同时又需要这些方法来处理基本数据类型的数据。为了弥补基本数据类型在面向对象方面的欠缺,针对各种基本数据类型均提供了相应的引用数据类型,它们是在JDKAPI的java.lang包中定义的。
包装类包装类Java允许基本数据类型和封装类类型直接进行自动转换。如果一个基本数据类型值出现在需要对象的环境中,编译器会将基本数据类型的值进行自动装箱。如果一个对象出现在需要基本数据类型值的环境中,编译器会将对象进行自动拆箱。装箱:将基本数据类型的值转换为封装类对象的过程称为装箱(boxing)。拆箱:将封装类转换为基本数据类型的过程称为拆箱(unboxing)。例如:IntegerintObj=newInteger(10);//基本数据类型转换为包装类,装箱inttemp1=intOValue();//包装类转换为基本数据类型,拆箱inttemp2=20;intObj=temp2;//自动装箱intfoo=intObj;//自动拆箱
包装类包装类表1基本数据类型各自对应的包装类型基本数据类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean为了使基本数据类型的数据能像使用对象一样操作,则使用类来“包装“这些基本数据类型,使其成为对象。主要学习Integer。
包装类包装类Integer类的常用方法方法返回值功能描述byteValue()byte以byte类型返回该Integer的值intValue()int以int型返回此Integer对象shortValue()short以int型返回此Integer对象longValue()long以long型返回此Integer对象floatValue()float以float型返回此Integer对象doubleValue()double以double型返回此Integer对象valueOf(Ojectobj)Integer返回保存指定的String值的Integer对象parseInt(Stringstr)int返回包含在由str指定的字符串中的数字的等价数值,如“1010101”返回1010101parseInt(Stringstr,intradix)int实现将字符串按照参数radix指定的进制转换为int,如parseInt(1010,2)返回,将1010看做二进制返回十进制数10equals(ObjectIntegerObj)boolean比较此对象与指定对象是否相等toString()String返回一个表示该Integer值的String对象
包装类示例:基本数据类型与字符串的转换1.将字符串转换为int型数据public
classIntegerDemo{public
static
voidmain(String[]args){Stringstr=newString("123");int
num=Integer.parseInt(str);num++;System.out.println(“num="+num);
}}str是一个字符串对象,是不能给一个基本数据类型的变量i赋值,只能转换,通过调用的是Integer类的parseInt方法;
包装类示例:基本数据类型与字符串的转换2.将字符串转换为double型数据publicclassStringToDouble{publicstaticvoidmain(String[]args){Stringstr=“123.6”;//定义一个字符串,字符串中必须有数字组成。
doublenum=Double.parseDouble(str);//将字符串变为double型System.out.println(num);intx=100;str=x+"a";//任何类型与字符串相加之和都是字符串System.out.println(str);}}
包装类示例:基本数据类型与字符串的转换3.将字符串转换为boolean型数据publicclassStringToDouble{publicstaticvoidmain(String[]args){Stringstr="true";//定义一个字符串
booleanflag=Boolean.parseBoolean(str);if(flag){System.out.println("条件满足!");}else{System.out.println("条件不满足!");}}}
包装类示例:基本数据类型与字符串的转换4.将基本数据型数据转换为字符串publicclassBasicTypeToStr{publicstaticvoidmain(String[]args){intintValue=100;
Stringstr=String.valueOf(intValue);//int转换为StringSystem.out.println("str字符串的值是"
+str);doublePi=3.1415926;
str=String.valueOf(Pi);//double转换为StringSystem.out.println("str字符串的值是"
+str);}}
包装类Date类Date类的构造方法
publicDate():
使用这个获取系统当前的日期时间,精确到毫秒
publicDate(longtime):以自从标准基准时间(即1970年1月1日00:00:00GMT)以来的指定毫秒数Java中的java.util包中提供了Date类来操作日期和时间,使用Date类时需要先创建Date类对象。Date类的常用方法
publiclonggetTime():
获取自1970年1月1日00:00:00GMT开始到现在所表示的毫秒数
publicvoidsetTime(longtime):
设置当前Date对象所表示的日期时间值,该值用以表示1970年1月1日00:00:00GMT以后的time毫秒的时间点。Date类示例1~Date类1.获取基准时间到本地当前时间的毫秒数importjava.util.Date;public
classDateTest{public
static
voidmain(String[]args){Date=newDate();//创建现在的日期long
value=date.getTime();//获得毫秒数System.out.println("当前日期、时间:"
+date);System.out.println("从基准时间到当前时间所经过的毫秒数为:"
+value);}}如何将当前日期或者时间显示为“20220-3-12”或者“07:13:52”这样的格式呢?思考Date类DateFormat类Java的java.text包中提供了DateFormat类,DateFormat类的作用是按照指定格式对日期或者时间进行格式化。DateFormat类提供了4种默认的格式化风格,即SHORT,MEDIUM,LONG和FULL。其中:SHORT:完全为数字,如12.13.52或者3:30pmMEDIUM:较长,如Jan12,1952LONG:更长,如January12,1952或者3:30:32pmFULL:完全指定,如Tuesday、April12、1952AD或者3:30:42pmPSTDate类DateFormat类由于DateFormat类是抽象类,没有构造方法,需要使用DateFormat类的静态方法getDateInstance()创建DateFormat类对象。DateFormatdf=DateFormat.getDateInstance()Date类SimpleDateFormat类SimpleDateFormat类是DateFormat类的子类,是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。它允许格式化(日期->文本),解析(文本->日期)和规范化,日期和时间格式由日期和时间模式字符串指定。简单说就是将一个日期对象格式化成一个文本(字符串),也可以把一个日期字符串解析成一个日期对象。规则的定义:
y年
M月
d天
H时
m分
s秒
E星期几Date类SimpleDateFormat类publicSimpleDateFormat():使用默认的模式来创建一个SimpleDateFormat对象publicSimpleDateFormat(Stringpattern):使用指定的模式(规则比如yyyy:MM:ddHH:mm:ss)publicStringformat(Datedate):把一个日期对象格式化成一个字符串publicDateparse(StringdateStr):把一个日期字符串解析成一个日期对象注意要以指定格式解析SimpleDateFormat类的构造方法SimpleDateFormat类的常用方法Date类示例:SimpleDateFormat类的应用importjava.text.DateFormat;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.Locale;public
classDateFormatTest{public
static
voidmain(String[]args){Date=newDate();//创建日期DateFormatdf1=DateFormat.getInstance();//创建不同的日期格式DateFormatdf2=newSimpleDateFormat("yyyy-MM-ddhh:mm:ssEE");DateFormatdf3=newSimpleDateFormat("yyyy年MM月dd日hh时mm分ss秒EE",Locale.CHINA);DateFormatdf4=newSimpleDateFormat("yyyy-MM-ddhh:mm:ssEE",Locale.US);DateFormatdf5=newSimpleDateFormat("yyyy-MM-dd");DateFormatdf6=newSimpleDateFormat("yyyy年MM月dd日");//将日期按照不同格式进行输出System.out.println("-------将日期时间按照不同格式进行输出------");System.out.println("按照Java默认的日期格式:"
+df1.format(date));System.out.println("按照Java默认的日期格式:"
+df1.format(date));System.out.println("按照指定格式yyyy-MM-ddhh:mm:ssEE,系统默认区域:"
+df2.format(date));System.out.println
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 20556-2026三疣梭子蟹
- 仓储服务方案细则范本
- 台阶改造装修方案范本
- 广东移动式板房施工方案
- 车间准入管理方案范本
- 小区公共屋顶改造方案范本
- 码头船厂改造方案范本
- 镁质防火板隔断施工方案
- 装修风险转移方案范本
- 护栏投标方案模板范本
- 作者贡献声明表、利益冲突声明表
- GB/T 46642-2025自行式林业机械落物保护结构(FOPS)实验室试验和性能要求
- 【年产100万吨拜尔法氧化铝高压溶出工艺设计计算过程案例7100字】
- 马工程西方经济学(第二版)教学课件
- 《建筑施工承插型盘扣式钢管脚手架 选用技术标准》
- 国际道路运输的安全管理制度
- 物业设备巡检计划方案(3篇)
- 快递业安全生产培训课件
- 2025年血透室血传播疾病阴转阳的应急演练脚本
- 应急管理通论(第二版)课件 第9章 应急沟通职能
- 乙酰半胱氨酸的用药护理
评论
0/150
提交评论