安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

javaSE数据类型(打开java世界的大门)

5月25日 斩情道投稿
  前言:
  在上两篇文章讲述了java语言的特点以及用记事本(搭配命令行)演示了java程序执行的过程,相信大家已经对java有了一个大概初步的认识,那从这篇文章文章开始,跟随着干饭人的步伐,正式开始java语言的学习吧,好的我已经迫不及待了,家人们上口号!1。常量
  常量,顾名思义,就是固定不变的量,例如:一周有七天,一年有12个月,我们形如这种固定不变的量叫做常量
  常量:即程序运行期间,固定不变的量称为常量1。1常量的分类字符串常量:由括起来的,比如12345、hello、你好。2。整形常量:程序中直接写的数字(注意没有小数点),比如:100、1000浮点数常量:程序中直接写的小数,比如:3。14、0。49字符常量:由单引号括起来的当个字符,比如:‘A’、‘1’布尔常量:只有两种true和false空常量:null(后面了讲)
  具体如下
  publicclassjavademo{
  publicstaticvoidmain(String〔〕args){
  System。out。println(hellojava);字符串常量
  System。out。println(3。14);浮点型常量
  System。out。println(A);字符常量
  System。out。println(true);布尔常量
  }
  }2。数据类型
  java中数据类型分为两大类:即我们在经常使用的基本数据类型,和java中的引用数据类型
  基本数据类型表
  2。1java数据类型要点
  注意:
  这里需要格外注意的就是,java的数据类型一定不要和c语言的搞混淆了,比方说多了字节型和布尔型,而且在java中整型类型int内存占用有4字节
  注意:
  1。不论是在16位系统还是32位系统,int都占用4个字节,long都占8个字节
  2。整形和浮点型都是带有符号的
  3。整型默认为int型,浮点型默认为double
  4。字符串属于引用类型,该中类型后序介绍。2。2字节知识扩展
  什么是字节?
  字节是计算机中表示空间大小的基本单位。
  计算机使用二进制表示数据。我们认为8个二进制位(bit)为一个字节(Byte)。
  我们平时的计算机为8GB内存,意思是8G个字节。
  其中1KB1024Byte,1MB1024KB,1GB1024MB。
  所以8GB相当于80多亿个字节3。变量
  在了解什么是是常量之后,我们知道常量是不能够被改变的,但实际写代码时肯定要对数据进行修改,所以就不得不引入变量的的概念。3。1变量概念
  1。在程序中,除了有始终不变的常量外,有些内容可能会经常改变,比如:人的年龄、身高、成绩分数、数学函数的计
  算结果等,对于这些经常改变的内容,在Java程序中,称为变量。而数据类型就是用来定义不同种类变量的。
  2。定义变量前一定要对变量进行初始化,如果定义时没进行初始化,那在使用变量之前一定要对变量进行赋值,不然会发生错误(一定要与c语言中变量使用区别开,即不初始化不再有随机值)3。2语法格式
  定义变量的语法格式为:数据类型变量名初始值;
  inta1;定义整形变量定义字符变量doublef2。3;定义双精度浮点型整型变量
  整型变量
  首先整型变量的关键字是int,内存占用大小4字节,可表示的数据范围见代码
  publicclassjavademo{
  publicstaticvoidmain(String〔〕args){
  System。out。println(Integer。MINVALUE);打印最小值
  System。out。println(Integer。MAXVALUE);打印最大值
  最小值为2147483648
  最大值为2147483647
  这里的Integer是整形的的包装类(后面章节会介绍)
  暂且理解为整形的加强版吧
  }
  使用整形的注意事项
  http:1。int不论在何种系统下都是4个字节
  2。推荐使用方式一定义,如果没有合适的初始值,可以设置为0
  3。在给变量设置初始值时,值不能超过int的表示范围,则会导致溢出
  4。变量在使用之前必须要赋初值,否则编译报错
  http:5。int的包装类型为Integer
  方式一:在定义时给出初始值
  inta10;
  System。Out。println(a);
  方式二:在定义时没有给初始值,但使用前必须设置初值
  
  b10;
  System。Out。println(b);
  使用方式二定义后,在使用前如果没有赋值,则编译期间会报错
  
  System。Out。println(c);
  6。在定义int性变量时,所赋值不能超过int的范围
  inta66666666666;
  编译时会报错,因为超过了最大储存数值范围长整型变量
  首先长整型变量的关键字是long,内存占用大小8字节,可表示的数据范围见下
  publicclassjavademo{
  publicstaticvoidmain(String〔〕args){
  System。out。println(Long。MAXVALUE);打印最大值
  System。out。println(Long。MINVALUE);打印最小值
  最大值9223372036854775807
  最小值9223372036854775808
  }
  使用长整型的注意事项长整型变量的初始值后加L或者l,推荐加L(建议用大写,小写的容易看错)长整型不论在那个系统下都占8个字节long的包装类型为Long短整型变量
  首先短整型变量的关键字是short,内存占用大小2字节
  publicclassjavademo{
  publicstaticvoidmain(String〔〕args){
  System。out。println(short。MAXVALUE);打印最大值
  System。out。println(short。MINVALUE);打印最小值
  最大值32767
  最小值32768
  }
  使用短整形的注意事项short在任何系统下都占2个字节使用时注意不要超过范围(一般使用比较少)short的包装类型为Short字节型变量
  首先字节型变量的关键字是byte,内存占用大小1字节
  publicclassjavademo{
  publicstaticvoidmain(String〔〕args){
  System。out。println(Byte。MAXVALUE);打印最大值
  System。out。println(Byte。MINVALUE);打印最小值
  最大值127
  最小值128
  }
  使用字节型的注意事项byte在任何系统下都占1个字节字节的包装类型为Byte单精度浮点型
  首先单精度浮点型型变量的关键字是float,内存占用大小4字节
  例如
  写作1。0F也可以
  floatnum1。0f;
  System。out。println(num);
  注意事项
  1。float类型在Java中占四个字节,同样遵守IEEE754标准。数据储存方式与c语言中相同
  2。由于表示的数据精度范围较小,一般在工程上用到浮点数都优先考虑double,不太推荐使用float。
  3。给初始化的值后加上F或f
  4。float的包装类型为Float。双精度浮点型
  首先双精度浮点型型变量的关键字是double,内存占用大小8字节
  例如
  doubled3。14;
  System。Out。println(d);
  双精度浮点型中几个值得推敲的问题
  1。下方代码输出0。5吗?
  inta1;
  intb2;
  System。out。println(ab);
  答案是并不会,因为a和b两个数据类型都为整形,所以输出结果也为整形,即在Java中,int除以int的值仍然是int(会直接舍弃小数部分)。如果想得到0。5,需要使用double类型计算。
  2。下方代码会输出1。21吗?
  doublenum1。1;
  System。out。println(numnum);
  执行结果1。2100000000000002
  在浮点型数据中,数据永远不是完全精确的,而是只能精确到某一位,比如说float只可以精确到小数点6到7位,而double只能精确到小数点15位
  注意点
  1。double在任何系统下都占8个字节
  2。浮点数与整数在内存中的存储方式不同
  3。double类型的内存布局遵守IEEE754标准(和C语言一样),尝试使用有限的内存空间表示可能无限的小数,势必会存在定的精度误差,因此浮点数是个近似值,并不是精确值。
  4。double的包装类型为Double字符型变量
  首先字符型型变量的关键字是char,内存占用大小2字节(注意与c语言中的不同)
  charc1A;
  大写字母charc21;
  数字字符
  System。out。println(c1);
  System。out。println(c2);
  注意:java中的字符可以存放整形
  charc3帅;
  System。out。println(c3);
  注意事项
  1。Java中使用单引号单个字母的形式表示字符字面值。
  2。计算机中的字符本质上是一个整数。在C语言中使用ASCII表示字符,而Java中使用Unicode表示字符。因此一个字符占用两个字节,表示的字符种类更多,包括中文关于字符编码方式的讨论,参见布尔类型变量
  简单来说就是就是表示真或假两种情况的变量,关键字是boolean,内存占用大小1字节
  使用
  
  System。out。println(b);
  
  System。out。println(b);
  注意事项boolean类型的变量只有两种取值,true表示真,false表示假。Java的boolean类型和int不能相互转换,不存在1表示true,0表示false这样的用法。(注意与c语言区分)
  错误示范
  
  System。out。println(value1);
  代码编译会出现如下错误Test。java:4:错误:二元运算符的操作数类型错误
  System。out。println(value1);
  第一个类型:boolean
  第二个类型:int数据类型转换
  Java作为一个强类型编程语言,当不同类型之间的变量相互赋值的时候,会有教严格的校验,在Java中,当参与运算数据类型不一致时,就会进行类型转换。Java中类型转换主要分为两类:自动类型转换(隐式)和强制类型转换(显式)。自动类型转换(隐式)
  自动类型转换即:代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。
  特点:数据范围小的转为数据范围大的时会自动进行。
  例如
  inta100;
  longb10L;
  
  a和b都是整形,a的范围小,b的范围大,当将a赋值给b时,编译器会自动将a提升为long类型,然后赋值
  编译报错,long的范围比int范围大,会有数据丢失,不安全
  floatf3。14F;
  doubled5。12;
  
  编译器会将f转换为double,然后进行赋值
  double表示数据范围大,直接将float交给double会有数据丢失,不安全
  byteb1100;
  编译通过,100没有超过byte的范围,编译器隐式将100转换为bytebyteb2257;
  编译失败,257超过了byte的数据范围,有数据丢失强制类型转换(显式)
  强制类型转换:当进行操作时,代码需要经过一定的格式处理,不能自动完成。
  特点:数据范围大的到数据范围小的。
  注意事项
  1。不同数字类型的变量之间赋值,表示范围更小的类型能隐式转换成范围较大的类型
  2。如果需要把范围大的类型赋值给范围小的,需要强制类型转换,但是可能精度丢失
  3。将一个字面值常量进行赋值的时候,Java会自动针对数字范围进行检查
  4。强制类型转换不一定能成功,不相干的类型不能互相转换类型提升
  1。不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的。
  2。在java中在进行运算时,如果该变量类型小于4字节,那会被先提升为4字节。例(字节型字节型字节型)
  int与long之间:int会被提升为long
  inta10;
  longb20;
  
  编译出错:ab》intlonglonglong赋值给int时会丢失数据
  编译成功:abintlonglonglong赋值给long
  byte与byte的运算
  错误示例
  bytea10;byteb20;
  
  这里的ab已经转化为了整形,所以左右数据类型不相同
  System。out。println(c);
  编译报错Test。java:5:错误:不兼容的类型:从int转换到byte可能会有损失
  正确示例
  bytea10;
  byteb20;
  bytec(byte)(ab);
  将右侧整形数据类型强制类型转换为字节型
  System。out。println(c);
  小结
  byte和byte都是相同类型,但是出现编译报错。原因是,虽然a和b都是byte,但是计算ab会先将a和b都提升成int,再进行计算,得到的结果也是int,这是赋给c,就会出现上述错误。
  2。由于计算机的CPU通常是按照4个字节为单位从内存中读写数据。为了硬件上实现方便,诸如byte和short这种低于4个字节的类型,会先提升成int,再参与计算。字符串类型
  首先字符串类型,是一个较新颖的类型,回想一下我们在学习c语言时,并没有字符串这样的类型,都是以一个字符数组对一个字符串进行储存,但在java中就有了字符串类型,即在Java中使用String类定义字符串类型
  例如
  publicstaticvoidmain(String〔〕args){
  Strings1
  Strings2
  System。out。println(s1);
  System。out。println(s2);
  System。out。println(s1s2);s1s2表示:将s1和s2进行拼接}
  这里的号代表的是两个字符串进行拼接,实际上当其他部分其他类型与字符串类型之间存在’‘号时,也是代表拼接,但如果相邻的数据类型相同’就会表示相加运算符如下
  publicclassjavademo{
  publicstaticvoidmain(String〔〕args){
  S
  Stringstr2好家伙;
  inta10;
  System。out。println(strastr2);
  }
  输出结果为a2好家伙
  那这个代码会输出1030a好家伙吗
  publicclassjavademo{
  publicstaticvoidmain(String〔〕args){
  S
  Stringstr2好家伙;
  inta10;
  intb30;
  System。out。println(abstrstr2);
  }
  其实不然,实际输出结果为40a好家伙
  这也证实了相邻的数据类型相同就会表示相加运算符
  int转成String
  方法1Stringstr1
  方法2使用字符串的包装类String
  intnum10;
  方法1Stringstr1
  方法2使用字符串的包装类String
  str2String。valueOf(num);
  String转成int
  使用整型数据类型的包装类Integer
  Stringstr100;
  intnumInteger。parseInt(str);
投诉 评论 转载

javaSE数据类型(打开java世界的大门)前言:在上两篇文章讲述了java语言的特点以及用记事本(搭配命令行)演示了java程序执行的过程,相信大家已经对java有了一个大概初步的认识,那从这篇文章文章开始,跟随……7月执行北京调整社保缴费基数上下限7月19日,北京市人力资源和社会保障局、北京市医疗保障局、国家税务总局北京市税务局联合发布《关于统一2022年度各项社会保险缴费工资基数上下限的通知》,将月缴费基数下限提升至5……姚明主席的重要谈话发人深思中国篮球确实应当要居危思危中国篮协换届选举工作将在本月底完成,目前,正在筹备换届工作的姚明主席依然很忙碌。在部分球迷纷纷猜测和高喊姚明下课的时候,换届工作备受关注。小编告诉大家的是,姚明主席将继续……紫罗兰AJ11Low国区SNKRS上架!实物美图来了喜欢AirJordan11的小伙伴今年可算是有福了。继大魔王AJ11发售后,JordanBrand为女生打造的紫罗兰AirJordan11Low终于正式上架国区SNKRS……格林年轻球员里莫兰特的个性最像我北京时间8月13日,据ClutchPoints报道,勇士球员德雷蒙德格林在接受采访时表示,灰熊球员贾莫兰特是最像自己的年轻球员。格林在一档节目中说道:我是那种不向任何人屈……龙行天下俄罗斯之旅(七)游览冬宫(埃尔米塔什博物馆)2018年9月7日是入境俄罗斯的第六天,一早从我们入住的波罗的海海滨大酒店出发,首先参观了圣彼得堡的滴血大教堂后才按照旅游局安排的规定时间参观冬宫。我们在停车场下车后,首……今日欧美明星时尚街拍图集今日欧美明星时尚街拍图集(2022年8月18日)时尚欧美明星的街拍就是行走在马路上的秀场,明星们的街拍就是时尚界的潮流风向标。明星们身穿什么牌子的衣服、肩背什么大牌包包,……是否可以推动天体,天体离开本位是否可以喜欢科普类的朋友都了解,天体运动在一个固定轨道上,离轨也可能像火车脱轨一般,生死难料。除了天体间能影响星级轨道的改变,我们人为可以实现吗?假如未来可能太阳系变了,我们会像……46岁马伊琍带女儿高调走机场!爱马身高赶超妈妈,穿健美裤真新娱乐圈中,夫妻俩离婚大多都是由妈妈带孩子,马伊俐就是如此,跟文章离婚之后,她一个人抚养两个女儿,并且把两个孩子都培养的非常优秀,近日就有记者拍到马伊俐带着大女儿文君竹跟小女儿哎……梦幻西游新手入坑指导梦幻西游,作为一款开服十多年的游戏,内容实在太过丰富,连攻略都纷繁复杂,甚至老玩家回流都无从下手。今天写的这篇是梦幻西游新手入门级攻略,希望可以帮助到不了解梦幻的玩家快速上手,……蜘蛛侠重置地平线5新DLC上架,暑期两款3070Ti游戏本推最近关注PC端游戏的同学,应该发现了电脑上的各类3A游戏大作的画质也是越发精细了起来。像是前不久登陆的猫猫模拟器《Stray》,不管怎么截都是可以当壁纸用的地步。另外还有从PS……飞利浦推出ScreeneoU4超短焦投影机1080p分辨率,IT之家6月16日消息,据TechPowerUp消息,飞利浦宣布推出飞利浦ScreeneoU4,这是一款超短焦投影仪,可在30。5厘米短距离内提供80英寸全高清画面。据介……
火星样本备货完成,太空骑士准备接单近期科技趣评热身赛吉林男篮战平山西男篮双方厉兵秣马迎接第三阶段比赛CBA浙江男篮与山东男篮比赛结束后,球迷曝料这3人准备休息了双11电视推荐行业大拿选哪家看完曾黎卸妆,才明白她为什么是中戏第一美卫衣卫衣,卫衣衬衫,2022年正流行又一批过气港星定居内地,住二线城市当网红,渴望在内地买房SharpIMDR580DR80DR805郭艾伦再受冷落,男篮亚洲杯宣传海报,中国队代表人物是王哲林电商品牌ZOZO最新总部大楼设计,无柱大跨度屋面够创新广东队内线被辽宁队打爆,下赛季沈梓捷可加盟保宏远王朝?荐读适合收藏的经典语录

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利