一、java的数据类型:
1、基本数据类型(8种)
字节型 byte 8bit
短整型 short 16bit
整型 int 32bit 十进制存储
长整型 long 64bit
字符型 char 16bit 十进制存储
单精度 float 32bit 十六进制存储
双精度 double 64bit 十六进制存储
布尔类型 boolean 结果只有true和false两种
!!!自动转型:小范围的值赋给大范围的值
强制转型:大范围的值赋给小范围的值
若要用整型或char来存储float和double,可能会损失精度,要用到强制转型
强制转型格式:(以长整型转化整型为例)i=int(l)
例:
char c="A";
int i=c; //小范围值赋给大范围值——>自动转型
long l=1000L;
i=int(l); //大范围值赋给小范围值——>强制转型
2、引用数据类型
对象类型和类类型
二、字符串的创建方式
关键字:String
方式:
1、String 字符串名="****"; 有值有空间
String 字符串名; 无值有结果(结果为NULL)
2、String 字符串名=new String ("****");
!****表示新建的字符串
三、练习
1、字符串的统计
//定义一个字符串统计的类
public class TimeDeal
{
//定义入口主函数
public static void main(String[] args) {
//设置字符串
String s ="dsjk asdfiu eoi weuish fsdf si ";
//将字符串s转换成数组
char[] a= s.toCharArray();
//定义一个比较数组
char[] b ={' ','a','b','c','d','e','f','g'};
//初始化
int blank=0;
int na=0;
int nb=0;
int nc=0;
int nd=0;
int ne=0;
int nf=0;
int ns=0;
System.out.println("s.length = "+s.length() );
//将字符串中的每一个字符与b中的作比较,并记录出现次数
for(int i=0; i<s.length();i++)
{
for(int j=0;j<b.length;j++)
{
if(a[i]==b[0]) {blank++; break;}
if(a[i]==b[1]) {na++; break;}
if(a[i]==b[2]) {nb++; break;}
if(a[i]==b[3]) {nc++; break;}
if(a[i]==b[4]) {nd++; break;}
if(a[i]==b[5]) {ne++; break;}
if(a[i]==b[6]) {nf++; break;}
if(a[i]==b[7]) {ng++; break;}
}
}
System.out.println("blank "+blank);
System.out.println("na "+na);
System.out.println("nb "+nb);
System.out.println("nc "+nc);
System.out.println("nd "+nd);
System.out.println("ne "+ne);
System.out.println("nf "+nf);
System.out.println("ng "+ng);
}
}
2、equals和==的区别
==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同(对象是值或地址)
equals操作表示的是两个变量是否是对同一个对象的引用,即堆中的内容是否相同(对象是内容)