## **Java基本数据类型**
~~~
一:java数据类型
1.基本数据类型 int a ; int b; 四类,八种(整数,浮点数,布尔,字符)
[byte(1),booble(1),short(2),char(2),int(4),float(4),long(8) double(8)]
2.引用数据类型
string .数组,对象,集合,scanner,random,自定义类型
二:引用类型string中的方法(4,5,3,2)
第一组:判断方法
boolean equals(String str)
boolean equalsIgnoreCase(String str)
boolean startWith(String str)
boolean endWith(Sting str)
第二组;获取方法
int length();//获取字符串个数
char charAt(int index)//获取某个字符
string substring(int startIndex)//从指定下标开始截取字符串
string substring(int startIndex,int endIndex)
int indexOf(string substring)//获取子串第一次出现的下标
第三组:转换方法
string toLowerCase();
string toUpperCase();
char[] toCharArray()//变成字符数组
第四组:其他方法
string trim();
string[] split(string str)
三:流:读写文件
输出流:数据冲Java程序到硬盘到文件中
filewriter:文件的字符输出流。写数据(一个字符,一个字符串,一个字符数组)
write(int ch)//写一个字符,
write(char[] chs);//写一个字符数组
write(String s);//写一个字符串
write(char[] chs,int startIndex,int len);//写一个字符数组的一部分
write(String s,int startIndex ,int len);//写一个字符串的一部分
输入流:数据从文件到Java程序
fileReader:文件字符输入流
int read();//读取一个字符
~~~
### **变量自动类型转换**
**整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。**
~~~
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
~~~
数据类型转换必须满足如下规则:
* 1\. 不能对boolean类型进行类型转换。
* 2\. 不能把对象类型转换成不相关类的对象。
* 3\. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
* 4\. 转换过程中可能导致溢出或损失精度,例如:
~~~
int i =128;
byte b = (byte)i;
~~~
因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
* 5\. 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:
~~~
(int)23.7 == 23;
(int)-45.89f == -45
~~~