强类型语言:要求变量使用严格符合规定,所有变量都必须先定义后在使用
弱类型语言:不要求变量使用严格符合规定
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条)