Java常量与数据类型全解析
1.对于字面常量, 咱们得弄明白这是个啥回事儿, 这里面分好了几种类型, 第一类叫做字符串常量, 第二类叫做整形常量,第三类叫做浮点型常量, 第四类叫做字符常量, 第五类叫做布尔常量, 还有一类叫做空常量。被final修饰之后, size变量就变成字面常量了, 它是不可以再进行修改的。2.对于这8种, 常见的数据类型的名字, 还有它们的内存占用的大小, 以及它们各自能够表示的范围的多少, 都需要去进行了解和掌握, 同时呢, 也还要清楚各种各样的数据类型之间, 是如何互相进行转换的, 这里所列举出来的常见数据类型, 具体包含有byte、short、int、long、float、char这些名称。实际上长整型的后面部位也是能够添加一个小写的L字母的, 可是因为小写字母l的形状非常难以和数字1相区别, 容易让人搞混, 所以人们更加倾向于大家去使用大写的形式来进行标识。它是双精度, 小数默认是那个类型的, 后面加 F 或者 f 这个标识的话就是 float。只有那两个值的情况之下, 一个是true, 另一个是false, 默认的设定是false, 至于其他的变量, 它们的默认值就都是各自所属类型的零值。把变量类型进行强制转换, 这种方式是不推荐的, 因为其存在这样的风险, 即可能会超出范围, 从而造成数据的丢失。不同类型在相加的时候, 编译器会自动去进行转换处理。3.字符串类型与整形数字之间的装换字符串类型相加为拼接public class Test {public static void main1(String[] args) {System.out.println(10);//被final修饰过的变量叫做常量不能再进行修改了类似于c当中的constfinal int size 10;System.out.println(size);}public static void main2(String[] args) {//四个字节int a 10;System.out.println(a);System.out.println(Integer.MIN_VALUE);System.out.println(Integer.MAX_VALUE);//Integer为int的包装类特殊其他只需首字母大写//这样子可以打印出int类型的最大值和最小值-2^31~2^31-1Integer b 10;//当然包装类也可以当作数据类型来定义变量}public static void main3(String[] args) {//8个字节long a 10L;//长整型变量的初始值后加L标识这为长整形否则整形数字默认为intSystem.out.println(a);System.out.println(Long.MIN_VALUE);System.out.println(Long.MAX_VALUE);//-2^63~2^63-1}public static void main4(String[] args) {/*短整型 2个-2^15 2^15 -1*/short sh 10;System.out.println(sh);System.out.println(Short.MIN_VALUE);System.out.println(Short.MAX_VALUE);}public static void main5(String[] args) {/*字节型 1个字节char-2^7 2^7 -1*/byte a 9;System.out.println(a);System.out.println(Byte.MAX_VALUE);//127System.out.println(Byte.MIN_VALUE);//-128}public static void main6(String[] args) {/*double d 12.5;System.out.println(d); 屏蔽/取消 ctrshift / */// double a 1;// double b 2;// System.out.println(a / b); 屏蔽/取消 ctr /double num 1.1;System.out.println(num * num);//1.21 8个字节//单精度float f 12.5F;System.out.println(f);//小数默认是double类型的后面加F标识为float类型}public static void main7(String[] args) {//char 类型 是2个字节 unicode字符集char ch1 a;char ch2 高;//不同于c语言Java的字符编码包含了汉字System.out.println(ch1);System.out.println(ch2);Character c p;}public static void main8(String[] args) {// 没有明确说明 大小是多少字节 boolean b true;//BooleanSystem.out.println(b);}public static void main9(String[] args) {/*int a 10;long b 100L;//b a;a (int)b;*/byte a 10;int b 129;a (byte)b;//强制转换但是不推荐有风险System.out.println(a);}public static void main10(String[] args) {int a 10;//4字节long b 20;//8字节//a提升为long long类型 和 long类型 进行运算 结果就是long类型int c1 (int)(ab);long c2 ab;//推荐这种}public static void main11(String[] args) {byte a 10;byte b 20;//虽然为两个byte类型相加但是由于默认数字为int//所以会导致相加结果变为int类型int c a b;}public static void main12(String[] args) {String str hello;String str2 word;System.out.println(strstr2);//相加为拼接——hellowordSystem.out.println(str.length());//计算长度System.out.println(str.charAt(0));//字符串可以相当于数组这个意思就是字符串中下标为0的字符}public static void main13(String[] args) {int a 10;//a10System.out.println(a a);//打印可以直接打印内容加变量int c 20;System.out.println(a a c);System.out.println(a (a c));System.out.println(a c ac);//System.out.printf(a %d\n,a);}//字符串变成整数public static void main14(String[] args) {String s 123;//int a Integer.valueOf(s);//底层实现 parseIntint a Integer.parseInt(s);System.out.println(a1);}//整数变成字符串public static void fun() {int a 123;String str a;System.out.println(str);System.out.println();String str1 String.valueOf(a);System.out.println(str1);}}