首页 / JAVA / java语言基础--数据类型:详解
java语言基础--数据类型:详解
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java语言基础--数据类型:详解,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4153字,纯文字阅读大概需要6分钟。
内容图文
数据类型--char
一、char
1.1
- char占用2个字节
- char取值范围:【0~65535】
- char采用unicode编码方式
- char类型的字面量用单引号括起来
- char可以存储一个汉字
1 public class Test{ 2 3 public static void main(String[] args){ 4 5 // 定义一个char类型的变量,起名c,同时赋值字符‘a’ 6 char c1 = ‘a‘; 7 System.out.println(c);//结果为:a 8 9//一个中文字符占用2个字节,char类型刚好是2个字节 10//所以java中的char类型可以存储一个中文字符11char c2 =‘果‘; 12 System.out.println(c2);//结果为:果 1314//如果加上单引号0就不是数字0了15char c3 = ‘0‘; 16 System.out.println(c3); 1718//编译报错:类型不兼容19char c4 = "a"; 20 System.out.println(c4); 2122//错误:未结束的字符文字23char c5 = ‘ab‘; 24 System.out.println(c5); 2526 } 27 }
1.2 数据类型-- 转义字符 ‘\’
\t 表示"制表符tab"
1 public class Test{ 2 public static void main(Stirng[] args){ 3 4 // 普通的n字符 5 char c1 = ‘n‘; 6 System.out.println(c1);//结果为:n 7 8//经过编译,发现编译通过,这说明以下并不是一个字符串,而是一个字符 9//这是一个“换行符”,属于char类型的数据 10//反斜杠在java语言中具有转义功能11char c2 = ‘\n‘; 1213 System.out.print("A"); 14 System.out.print(c2); 15 System.out.println("B"); 16 输出结果: 17 A 18 B 19202122//制表符\t(tab) 23//强调:制表符和空格不同,它们的ASCII码不同,体现在键盘上两个不同的“按键”24char y = ‘\t‘; 25 System.out.print("A"); 26 System.out.print(y); 27 System.out.println("B"); 28 输出结果: 29 A B 3031 //假设现在想在控制台上输出一个‘ ‘ ’字符怎么办
//错误:空字符文字
//System.out.println(‘ ‘ ‘);
//修改错误,(\‘联合起来表示一个普通的‘)
System.out.println(‘\‘‘);
3233//要求控制台上输出“反斜杠字符” 34//反斜杠将后面的单引号转义成不具备特殊含义的普通单引号字符 35//左边的单引号缺少了结束的单引号字符,编译报错36/*37 char k = ‘\‘; 38 System.out.println(k); //编译报错 39*/4041//第一个\具有转义功能,将后面的反斜杠转译为普通的反斜杠字符 42//结论:java当中两个反斜杠代表一个普通的反斜杠字符43char k = ‘\\‘; 44 System.out.println(k); 4546//输出"HelloWorld!" 47//System.out.println("\"HelloWorld!\"");4849 } 50 }
1 public class CharTest{ 2 public static void main(String[] args){ 3 // 双引号括起来的是字符串 4 System.out.println("test"); 5//希望输出的结果是:“test” 6//错误:需要‘)‘ 7//System.out.println(""test""); 8//修改 9 System.out.println("\"test\""); 10 System.out.println("“test”");//内部用中文双引号“”是可以的 1112//编译报错:4e2d是字符串 13//错误:未结束的字符文字14char x = ‘4e2d‘; 1516//反斜杠u表示后面的是一个字符的unicode编码 17//uncode编码是16进制的18char x = ‘\u4e2d‘; 19 System.out.println(x);//‘中‘20} 21 }
二、数据类型--整数型int
1、java语言当中的“整数型字面值”被默认当作int类型来处理,要让这个“整数型字面值”被当作long类型来处理的话,需要在“整数型字面值”后面添加1/L,建议使用大写L
2、java语言当中的整数型字面值有三种表示方式:
十进制【是一种缺省默认的方式】
八进制【在编写八进制整数型字面值的时候需要以0开始】
十六进制【在编写十六进制整数型字面值的时候需要以0x开始】
1 public class Test{ 2 3 public static void main(Stirng[] args){ 4 5 int a=10; 6int b=010;//整数型字面值以0开头,后面那一串数字就是八进制形式 7int c=0x10;//整数型字面值以0x开头,后面那一串数字就是十六进制形式 8 9 System.out.println(a); //1010 System.out.println(b); //811 System.out.println(c); //1612 System.out.println(a+b+c); //34 13141516//123这个整数型字面值是int类型 17//i变量声明的时候也是int类型 18//int类型的123赋值给int类型的变量i,不存在类型转换19int i=123; 20 System.out.println(i); 2122//456整数型字面值被当作int类型,占用4个字节 23//x变量被声明的时候是long类型,占用8个字节 24//int类型的字面值456赋值给long类型的x,存在类型转换 25//int类型转换成long类型 26//int类型是小容量 27//long类型是大容量 28//小容量可以自动转换成大容量,称为自动类型转换机制29long x=456; 30 System.out.println(x); 313233//2147483647是int类型,占用4个字节 34//y是long类型占用8个字节,自动类型转换35long y=2147483647; 36 System.out.println(y); 3738//编译错误:过大整数:2147483648 39//2147483648被当作int类型4个字节处理,但是这个字面值超出int类型范围 40// long z=2147483648; 41// System.out.println(z); 4243//解决错误 44//2147483648字面值一上来就当作long类型来处理,在字面值后面添加L 45//2147483648L是8个字节的long类型 46//z是long类型变量,以下程序不存在类型转换47long z=2147483648L; 48 System.out.println(z); 49 } 50 }
1 public class Test{ 2 3 public static void main(Stirng[] args){ 4 5 // 100L是long类型字面值 6 // x是long类型变量 7 // 不存在类型转换,直接赋值 8 long x=100L; 910//x变量是long类型,8个字节 11//y变量是int类型,4个字节 12//以下程序可以编译通过吗 13//编译报错,大容量不可以直接赋值给小容量14int y=x; 1516//大容量转换成小容量,需要进行强制类型转换 17//强制类型转换需要加“强制类型转换符” 18//加上强制类型转换符之后编译通过了,但是运行阶段可能损失精度 19//所以强制类型转换谨慎使用,因为损失精度之后可能损失严重 20//强制类型转换原理: 21//原始数据:00000000 00000000 00000000 00000000 00000000 00000000 00000000 01100100 22//强制转换后的数据:00000000 00000000 00000000 01100100 23//将左边的二进制砍掉【所有数据强转的时候都是这样完成的】24int y=(int)x; 25 System.out.println(y); 262728//原始数据:00000000 00000000 00000000 00000000 10000000 00000000 00000000 00000000 29//强制转换后的数据:10000000 00000000 00000000 00000000 30//10000000 00000000 00000000 00000000目前存储在计算机内部,计算机存储数据都是采用补码的形式存储 31//所以以上为补码形式 32//将以上补码转换为原码就是最终结果33long k=2147483648L; 34int e=(int)k; 35 System.out.println(e);//损失精度严重,结果是负数【-2147483648】3637383940 } 41 }
原文:https://www.cnblogs.com/llrra/p/14628384.html
内容总结
以上是互联网集市为您收集整理的java语言基础--数据类型:详解全部内容,希望文章能够帮你解决java语言基础--数据类型:详解所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。