
强类型语言:要求变量使用严格符合规定,所有变量都必须先定义后在使用
弱类型语言:不要求变量使用严格符合规定
java的数据类型分为2类
1.基础类型
整数类型:byte,short,int,long
小数类型(也叫浮点型):float,double
字符类型:char
布尔类型:boolean
2.引用类型
类、接口、数组
基础类型的使用方法如下
public class Demo2 {
public static void main(String[] args) {
String a="hello";
int num=10;
System.out.println(a);
System.out.println(num);
//八大数据类型
//整数
int num1=10;
byte num2=20;
short num3=300;
long num4=3444L;
//浮点数,小数
float num5=20.1F;
double num6=3.1415926;
//字符类型
char name='a';
//String不是关键字,类
//String name="tianxia"
//布尔值
boolean flag=true;
//boolean flag=false;
}
}
数据类型扩展
public class Demo3 {
public static void main(String[] args) {
//整数拓展 进制 二进制 八进制0b 十进制 十六进制0x
int i=10;
int i2=010;
int i3=0x10;
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("==================");
//===================================
//浮点数扩展? 银行业务怎么表示? 钱
//BigDecimal 数学工具类
//===================================
//float 有限 离散 有限 舍入误差 大约 接近但不等于
//double
//最好完全使用浮点数进行比较
float f=0.1f; //0.1
double d=1.0/10; //0.1
System.out.println(f==d);//false
float d1=98878886878890f;
float d2=d1+1;
System.out.println(d1==d2);//true
//===================================
//字符扩展?
//===================================
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);
//所有字符的本质都是字符
//编码 Unicode 表:
//U0000-UFFFF
char c3='u0061';
System.out.println(c3);//a
//转义字符
// t 制表符
// n 换行
// 以及更多的转义字符
//
//String sa= new String ("hello world");
//String sb= new String ("hello world");
//System.out.println(sa==sb);
System.out.println();
java.lang.String sc="hello world";
java.lang.String sd="hello world";
System.out.println(sc==sd);
//对象 从内存分析
//布尔值扩展
boolean flag=true;
if(flag=true){} //新手
if(flag){} //老手
//Less and More! 代码要精简易读
}
}
public class Demo4 {
public static void main(String[] args) {
int i=128;
double b=i;//内存溢出
//强制转换 (类型)变量名
//自动转换 低--高
System.out.println(i);
System.out.println(b);
System.out.println("=============");
System.out.println((int)23.7);//结果23
System.out.println((int)-45.89f);//结果-45
System.out.println("=============");
char c='a';
int d=c+1;
System.out.println(d);
System.out.println((char)d);
}
}
public class Demo5 {
public static void main(String[] args) {
// *** 作比较大的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下滑线区分
int money=10_0000_0000;
int years=20;
int total=money*years;//-1474836480, 计算的时候溢出了
long total2=money*years;//默认是int类型,转换之前已经进行计算了
long total3=money*((long)years);
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)