一、System系统操作类
1、System
1.1System类的简单介绍
- system没有构造方法
- 属性err,in,out都是为了得到一个流
- err、out都是用来输出信息的,在控制台输出我们想要输出的信息,都是一个printstream(标准输出流)
In是用来获取输入信息,得到一个inputstream
1.2System常用的方法
currentTimeMillis();
gc();
exit( int status); status状态----0,1
load( String filename);
该命令只能在32位操作系统运行,
getProperty(String key);
相关键值的对应如下所示
arraycopy(-,-,-,-,-,);
具体的代码演示如下:
//常用的方法
@Test
void test02() {
//获取系统当前时间,从1970.0.0到现在的毫秒值,与电脑同步
System.out.println("获取系统的当前时间"+System.currentTimeMillis());
//手动垃圾回收
System.gc();
//终止虚拟机的运行
for(int i = 0;i<10;i++) {
System.out.println(i);
if(i==5) {
System.exit(0);
}
}
}
//加载系统配置文件,只能在32位操作系统上进行
@Test
void test03() {
System.load("里面传入文件的全路径");
}
//获得指示建指示的系统属性
@Test
void test04() {
System.out.println("jdk版本"+System.getProperty("java.version"));
System.out.println("操作系统的名称"+System.getProperty("os.name"));
System.out.println("操作系统的架构是"+System.getProperty("os.version"));
System.out.println("用户的主目录是"+System.getProperty("user.home"));
System.out.println("用户当前的工作目录是"+System.getProperty("user.dir"));
}
//数组元素的拷贝
@Test
void test05() {
int [] num1 = new int [] {10,20,30,40};
int [] num2 = new int [3];
/*五个参数分别代表的意义
* 一:源数组
* 二:源数组中的起始位置
* 三:目标数组
* 四:目标数据中的起始位置
* 五:要复制的数组元素的数量
*/
System.arraycopy(num1, 1, num2, 0, 3);
for (int i : num2) {
System.out.println(i);
}
}
2、Runtime(运行时对象)
2、1简单介绍
2、2常用方法
getRuntime();
exec(String command); 使用Java程序开启电脑中的其他应用
代码演示如下:
//Runtime
@Test
void test06() {
//终止虚拟机的运行
for (int i = 0; i < 10; i++) {
System.out.println(i);
if(i == 5) {
//获取Runtime对象
Runtime runtime = Runtime.getRuntime();
runtime.exit(0);
}
}
}
//使用Java程序打开系统应用软件
@Test
void test07() {
Runtime runtime = Runtime.getRuntime();
try {
runtime.exec("D:\\应用软件\\Tencent\\QQLive\\QQLive.exe");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
二、基本数据类型的封装类
- Java的基本数据类型有:byte,short,int,long,char,float,double,boolean
- java给每一个基本数据类型都提供了一个对应的封装类,封装类可以对数据进行更多的处理
- 封装类的名字除了char是Character,int是Integer,其他封装类的名字都是首字母大写名
1、数值型 Integer
1、1简单介绍
1、2常用方法
-
MAX_VALUE
MIN_VALUE
代码演示: -
类型转换 int------》其他类型
-
parseInt(String s);
parseInt(String s,int radix);
-
compareTo(Integer);
代码演示如下:
//类型转换
@Test
void test3() {
//直接将int类型的数值赋值给Integer类型的变量
Integer integer02 = Integer.valueOf(10);
//将其他类型的值转为int类型的
String num = "200";
System.out.println("转换前"+num+100);
Integer valueOf = Integer.valueOf(num);
System.out.println("转换后"+(valueOf+100));
//将字符串类型转换为int类型
int parseInt = Integer.parseInt(num);//这样会得到一个int
System.out.println(parseInt+200);
/*
* 参数一:字符串
* 参数二:进制数
*/
int parseInt2 = Integer.parseInt("1010", 2);
System.out.println(parseInt2);
//反转和比较
int reverse = Integer.reverse(10);
System.out.println(reverse);
//比较的结果有1,0,-1
int compareTo = integer02.compareTo(130);
System.out.println(compareTo);
}
3、自动装箱和自动拆箱(注意byte常量池)
见代码
/*
* 自动装箱和自动拆箱
*
* 自动装箱:将基本数据类型转为Integer类型,直接赋值(编译的时候,默认调用的是valueOf)
* 自动拆箱:将封装类转为基本类型 Integer---int,直接赋值
*
*/
@Test
void test4() {
//自动装箱
Integer i01 = 10;
Integer i02 = new Integer(20);//手动装箱
Integer i03 = Integer.valueOf(30);//手动装箱
System.out.println(i01);
System.out.println(i02);
System.out.println(i03);
//自动拆箱
int num01 = i01;
int num02 = i01.intValue();//手动拆箱
}
注意:
当我们所要封装的值在byte取值的范围之内时,当我们使用封装类对他进行封装的时候,他默认的会去调用byte常量池中的东西,即当数值相同时,他所引用的地址值是相同的,所以我们使用==或者equals比较的值也是相同的
2、字符型 Character
1、介绍
2、代码演示
@Test
void Charactertest() {
//进行字符大小写判断
Character ct ='a';
System.out.println(Character.isLowerCase(ct));
System.out.println(Character.isUpperCase(ct));
//转换
String string = ct.toString();
System.out.println(string);
//小例子 怎么判断ct是一个小写字母
for (int i = 97; i < 122; i++) {
if(ct==i) {
System.out.println("是一个小写字母");
}
}
}
3、布尔型 Boolean
1、介绍
2、代码演示
@Test
void booleantest(){
//自动拆箱 ,对应基值 true 的 Boolean 对象。
boolean bool = Boolean.TRUE;
//转换
Boolean bool01 = new Boolean("true");
System.out.println(bool01);
//将字符串参数分析为 boolean 值。
boolean parseBoolean = Boolean.parseBoolean("123");
System.out.println(parseBoolean);//运行结果为false
}