1.Scanner类的使用:可以获取键盘输入,也可以读取文件内容,它是一个基于正则表达式的文本扫描器。
2.BufferedReader类的使用:与Scanner不一样的地方,它不能识别输入的基本类型。并且它只能处理字符流,所以system.in获取的字节流需要用inputStreamReader包装。
3.利用System和Runtime类可以与程序运行的平台进行交互
l System类:代表了java程序运行的平台
一、利用system.getenv()可以获取环境变量
二、System.identityHashCode()返回的是根据对象地址得到的hashcode值,这个比hashcode精确,任何两个对象的identityHashcode值都是不相等的。Java的一般object类的hashcode方法都是实现的identyHashcode方法
l Runtime类; 代表了java程序运行时的环境
一、可以通过Runtime.getRuntime获取到runtime对象,然后获取到此时系统的一些属性(内存,处理器情况等。。。)
二、可以单独启动一个进场操作系统命令:runtime.exec();
4.String类重写了hashcode类,只要两个String对象的值得字符序列相同,他们的hashcode即会一样
5.java常用类:
l Object类:一般常用的方法:equals、hascode、getClass、toString、wait、notify、notifyAll等等。。
Object还有一个用protected修饰的方法:clone();实现步骤:
1.实现Clonable接口 这个是个空接口
2.自定义类实现自己的clone方法
3.实现clone方法时,通过super.clone()来得到该对象的副本,并返回。
Java的clone的克隆只是一个浅克隆,不会对引用类型的field值所引用的对象进行克隆。
l Objects类:(java习惯为工具类加一个s 如arrays、collections)
加入了传参时的空指针校验
l String,StringBuffer,StringBulider:
一、String 不可变类,创建到销毁都不可以被改变
1) Int compareTo方法:如果字符序列一样,返回0;否则返回第一个不相等字符差,如果刚巧较长字符串前面恰好是较短的字符串,则返回长度差。
二、StringBuffer对象表示一个字符序列可变的字符串,可以通过其append、insert、reserve。。。方法改变这个字符序列的顺序,一旦通过StringBuffer生成了理想的字符串,可以调用其toStirng方法转换成String类型。
三、StringBuilder和StringBuffer差不多,但是StringBuffer是线程安全的,而StringBuilder不是,所以StringBuilder的性能更高。因此我们在保证线程是安全的情况下,应该优先使用StringBuilder类
四、StringBuilder或者StringBuffer的capacity属性通常比length大
l Math类:
l “Java7的ThreadLocalRandom”与Radom类:
一、Random有两个构造器,一个使用默认的种子生成随机数,一个使用程序员显式的传入的值。
二、ThreadLocalRandom使用类方法current方法获取该对象。
l BigDecimal类:
通常预先要使用String的构造器。
创建BigDecimal对象时,不要直接使用double浮点数作为参数来调用bigDecimal对象构造器,否则一样有精度丢失的情况
l Date类
一、构造器:Date()、 Date(long date)
二、比较两个日期的大小compareTo 、Boolean after、boolean before
升级版的Date类:Calender类:
一、add 、get、类似于add的roll(不会影响前面的字段)、set
要注意的是set方法中的Moth字段是从0开始,即0代表1月
Set方法有延迟性。
Calendar的add和roll方法有区别:
Add修改的话,上一个字段会增大,比如月数增加,那么增加到12,年数会加1;
Roll修改的话,上一个字段是不会增加的。
l TimeZone类:抽象类,只能通过getDefualt和getTimeZone获取实例。
l Pattern 、Matcher类:
Pattern pattern=Pattern.compile("a*b");
Matcher matcher=pattern.matcher("aaaaab");
》true
l 国际化:Locale类、ResourceBundle类
ResourceBundle bundle=ResourceBundle.getBundle(“文件名”,locale对象);
l MessageFormat类:自动补全一些字段
: String str="你好 ,{0},现在是:{1}";
System.out.println(MessageFormat.format(str, "guxuewu",new Date()));
l 另外两个Format类:DateFormat、NumberFormat
DateFormat format=DateFormat.getDateInstance(DateFormat.LONG, Locale.CHINA);
System.out.println(format.format(new Date()));
String str="2014年12月8日";
System.out.println(DateFormat.getDateInstance(DateFormat.LONG).parse(str));
l SimpleDateFormat类:
SimpleDateFormat format=new SimpleDateFormat("Gyyyy年中第D天");
System.out.println(format.format(new Date()));
6.因为String是不可变类,所以下面的代码会产生三个对象:
String str1=”sdfs”;
Str1=str1+”sfsf”;
Str1=str1+”sfsfsd”;
StringBuffer或者StringBuilder就不会出现这个问题。
java和生产机器交互 java与硬件交互
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
多模态大模型硬件交互方案剖析分享
剖析分享可以在任何地方低成本使用大模型的方案:端侧轻量级AI+云端大模型
大模型 多模态 开源 智能硬件 开发板 -
使用python的原始模块与网站交互数据 代码块 网络测试
-
mysql查看一张表的分片数
1、Mysql的limit用法在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。Sql代码 SELECT * FROM table LIMIT [offset,] rows | rows OFFSET&nbs
mysql查看一张表的分片数 mysql分页查询语句 limit 分页 SQL 子查询