Java的基本数据类型分为两大类:原始数据类型和引用数据类型。其中,原始数据类型是Java内置的类型,包括整数、浮点数、字符和布尔值等八种基本类型;而引用数据类型则是程序员根据需要创建的数据类型。以下是Java的八种基本(原始)数据类型及其特点:
byte:8位的有符号二进制整数,范围从-128到127。主要用于处理文件和网络传输等字节级别的数据。
short:16位的有符号二进制整数,范围从-32,768到32,767。通常用于节省内存空间的需求场景。
int:32位的有符号二进制整数,是最常用的整数类型,范围从-231 (-2,147,483,648) 到 231 - 1 (2,147,483,647)。
long:64位的有符号二进制整数适用于需要大数值计算的场合,范围从-9,223,372,036,854,775,808到9,223,372,036,854,775,807。
float:32位的单精度浮点数,可表示小数点前后一定范围的数字,常用于科学计算和需要高精度的计算场景。
double:64位的双精度浮点数,比float更精确,也是使用最广泛的浮点数类型。
char:16位的Unicode字符,可以表示任何单个字符,如字母、数字和特殊符号等。
boolean:只有两个取值true或false,常用于条件判断和逻辑运算。
此外,需要注意的是,在Java中进行算术运算时,默认的数据类型是int,而且byte和short类型的变量在进行运算时会被自动提升为int类型进行处理。同时,整型数以二进制补码的形式存在,并且具有特定的取值范围和默认值设置。对于数值类型的基本类型的取值范围,我们无需强制去记忆,因为它们的值都已经以常量的形式定义在对应的包装类中了。如:

基本类型byte 二进制位数:Byte.SIZE最小值:Byte.MIN_VALUE最大值:Byte.MAX_VALUE

基本类型short二进制位数:Short.SIZE最小值:Short.MIN_VALUE最大值:Short.MAX_VALUE

基本类型char二进制位数:Character.SIZE最小值:Character.MIN_VALUE最大值:Character.MAX_VALUE

基本类型double 二进制位数:Double.SIZE最小值:Double.MIN_VALUE最大值:Double.MAX_VALUE

注意:float、double两种类型的最小值与Float.MIN_VALUE、 Double.MIN_VALUE的值并不相同,实际上Float.MIN_VALUE和Double.MIN_VALUE分别指的是 float和double类型所能表示的最小正数。也就是说存在这样一种情况,0到±Float.MIN_VALUE之间的值float类型无法表示,0 到±Double.MIN_VALUE之间的值double类型无法表示。因为这些范围内的数值超出了它们的精度范围。

Java基本类型存储在栈中,因此它们的存取速度要快于存储在堆中的对应包装类的实例对象。从Java5.0(1.5)开始,JAVA虚拟机(JavaVirtual Machine)可以完成基本类型和它们对应包装类之间的自动转换。因此我们在赋值、参数传递以及数学运算的时候像使用基本类型一样使用它们的包装类。另外,所有基本类型(包括void)的包装类都使用了final修饰

基本类型的优势:数据存储相对简单,运算效率比较高;
包装类的优势:有的容易,比如集合的元素必须是对象类型,满足了java一切皆是对象的思想。

Java中的常量:
十六进制整型常量:以十六进制表示时,需以0x或0X开头,如0xff,0X9A。

八进制整型常量:八进制必须以0开头,如0123,034。

长整型:长整型必须以L作结尾,如9L,342L。

浮点数常量:由于小数常量的默认类型是double型,所以float类型的后面一定要加f(F)。同样带小数的变量默认为double类型。
如图一:
字符常量:字符型常量需用两个单引号括起来(注意字符串常量是用两个双引号括起来)。Java中的字符占两个字节。一些常用的转义字符:
①\r表示接受键盘输入,相当于按下了回车键;
②\n表示换行;
③\t表示制表符,相当于Table键;
④\b表示退格键,相当于Back Space键;
⑤\'表示单引号;
⑥\''表示双引号;
⑦\\表示一个斜杠\。

数据类型之间的转换:
简单类型数据间的转换,有两种方式:自动转换和强制转换,通常发生在表达式中或方法的参数传递时。

自动转换:
具体地讲,当一个较"小"数据与一个较"大"的数据一起运算时,系统将自动将"小"数据转换成"大"数据,再进行运算。而在方法调用时,实际参数较"小",而被调用的方法的形式参数数据又较"大"时(若有匹配的,当然会直接调用匹配的方法),系统也将自动将"小"数据转换成"大"数据,再进行方法的调用,自然,对于多个同名的重载方法,会转换成最"接近"的"大"数据并进行调用。这些类型由"小"到"大"分别为 (byte,short,char)--int--long--float—double。这里我们所说的"大"与"小",并不是指占用字节的多少,而是指表示值的范围的大小。
①下面的语句可以在Java中直接通过:如图二
②如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,例如:如图三
③对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。如图四
强制转换:
将"大"数据转换为"小"数据时,你可以使用强制类型转换。即你必须采用下面这种语句格式:int n=(int)3.14159/2;可以想象,这种转换肯定可能会导致溢出或精度的下降。
表达式的数据类型自动提升,关于类型的自动提升,注意下面的规则。
①所有的byte,short,char型的值将被提升为int型;

②如果有一个操作数是long型,计算结果是long型;

③如果有一个操作数是float型,计算结果是float型;

④如果有一个操作数是double型,计算结果是double型;

例,byte b; b=3; b=(byte)(b*3);//必须声明byte。

字符串与其它类型间的转换:
其它类型向字符串的转换:
①调用类的串转换方法:X.toString();

②自动转换:X+"";

③使用String的方法:String.volueOf(X);

字符串作为值,向其它类型的转换:
①先转换成相应的封装器实例,再调用对应的方法转换成其它类型
例如,字符中"32.1"转换double型的值的格式为:new Float("32.1").doubleValue()。也可以用:Double.valueOf("32.1").doubleValue()

②静态parseXXX方法
如图五
③Character的getNumericValue(char ch)方法

Date类与其它数据类型的相互转换:
整型和Date类之间并不存在直接的对应关系,只是你可以使用int型为分别表示年、月、日、时、分、秒,这样就在两者之间建立了一个对应关系,在作这种转换时,你可以使用Date类构造函数的三种形式:
①Date(int year, int month, int date):以int型表示年、月、日

②Date(int year, int month, int date, int hrs, int min):以int型表示年、月、日、时、分

③Date(int year, int month, int date, int hrs, int min, int sec):以int型表示年、月、日、时、分、秒

在长整型和Date类之间有一个很有趣的对应关系,就是将一个时间表示为距离格林尼治标准时间1970年1月1日0时0分0秒的毫秒数。对于这种对应关系,Date类也有其相应的构造函数:Date(long date)。获取Date类中的年、月、日、时、分、秒以及星期你可以使用Date类的getYear()、getMonth()、getDate()、getHours()、getMinutes()、getSeconds()、getDay()方法,你也可以将其理解为将Date类转换成int。而Date类的getTime()方法可以得到我们前面所说的一个时间对应的长整型数,Date类也有一个toString()方法可以将其转换为String类。

总结:只有boolean不参与数据类型的转换

强制类型转换:用圆括号括起来目标类型,置于变量前

Java引用类型:
Java有5种引用类型(对象类型):类 接口 数组 枚举 标注
引用类型:底层结构和基本类型差别较大
JVM的内存空间:
Heap堆空间:分配对象new Student()

Stack栈空间:临时变量Student stu

Code代码区 :类的定义,静态资源Student.class

eg:Student stu = new Student();//new在内存的堆空间创建对象

stu.study(); //把对象的地址赋给stu引用变量

运算符:
运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符,它们分别对应于1个、2个、3个操作数。运算符按其功能来分,有算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符和其他运算符。
算术
单目:~(按位取反)、! (取非)、-(负号运算符)、++(自增)、- -(自减)、
双目:+ - * / %(取余)
三目:a>b?true:false说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是“>”"<""!="等等),一个“?”,一个“:”,冒号前后需要有两个表达式或者是值或者是对象。
关系
等于符号:==,不等于符号:!=,大于符号:>, 小于符号:<,大于等于符号:>=,小于等于符号:<=。
位与逻辑:
位运算符 与(&)、非(~)、或(|)、异或(^)
&:双目运算符,运算时均把运算数转换为二进制再做比较,规则:当相同的位上均为1时结果为1,否则结 果为0.如:1010&1101,转为二进制:1111110010&10001001101,比较结果为:1000000转为十进制:64。所以1010&1101=64;
|:当两边操作数的位有一边为1时,结果为1,否则为0。如1100|1010=1110
~:0变1,1变0
^:两边的位不同时,结果为1,否则为0.如1100^1010=0110
赋值
= += -= *= /= %= &= ^= |= <<=>>=
运算符综述
运算符的优先级决定了表达式中运算执行的先后顺序.例如,x位移:
<<带符号左移 >>带符号右移 >>> 无符号右移
运算符优先级:
按优先级从高到低排列如下:[ ] ( ) ++ -- !~instanceof * / % + - <<>> >>><>< =>\ == != &^& & || ? := op=
程序控制:
三大程序流程控制结构:
1)顺序结构:程序从上到下逐行逐行的执行,中间没有任何的判断和跳转
2)分支结构:程序具有选择性的进入某一段代码
3)循环结构:程序重复的执行某一段代码

分支语句:
单分支形式:if (条件表达式) { 代码块; }
解释:条件表达式为true,则执行if语句里面的代码块,若是条件表达式为false,就跳过if语句,执行if (){ }后面的语句
双分支形式:if (条件表达式) { 代码块; } else { 代码块; }
解释:如果if的条件表达式为true,则执行if中的代码块,如果if的条件表达式为false,则执行else中的代码块
多分支形式:if (条件表达式) { 代码块; } else if (条件表达式) else if (条件表达式) …… else { 代码块; }
解释:那个的条件表达式为true,则执行那个分支的语句块,如果都为false,则执行else中的语句块
分支嵌套:
在if语句里面含有if语句,再在if语句里面有if语句,……;在else语句里面含有if语句……(注意:最后不要嵌套超过3层,可读性不好)分支语句详解

switch分支结构:
switch中的表达式类型应和case后面的常量类型一致,或者是可以自动转换成可以相互比较的类型;switch(表达式)中的值类型必须是:byte、short、int、char、enum、String类型;case 紧跟的值必须是常量,不能是变量或浮点类型;default语句可省略,在所有的case语句都没有匹配成功的情况下,执行default语句;break语句用来执行完一个case分支后跳出switch语句块,如果没有写break语句,程序会顺序执行到switch的结尾或执行到有break的case分支语句

switch和if的比较 :
1)配对比较,而且符合byte、short、int、char、enum、String6种类型,建议使用switch语句
2)区间判断,结果是boolean类型的数据,使用if分支语句

循环结构 :
循环四要素:
1)循环语句
2)循环体
3)循环判断
4)循环变量迭代

while、do-while循环和for循环三种循环的区别:
1)do-while循环先使用后执行
2)三种循环都有循环四要素
3)三种循环都需要使用条件判断
4)循环表达式判断的结果都是boolean型

数组的定义及基本要素:
数组的定义:
定义:数组是一个变量,是存储相同数据类型的一组数据序列
在内存中:声明一个数组变量就是在内存空间划出一串连续的空间
数组的基本要素:
标识符:数组的名称,用于区分不同的数组
数组元素:数组中存放的每个数据
元素类型:数组元素的数据类型
元素下标:对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问
注意事项:
一个数组只能存放一种类型的数据,这种数据类型在一开始就被规定好了
一个数组在初始化后的长度是固定的,最大的下角标是长度-1,超过这个范围则会报错
动态初始化的初始赋值依据不同数据类型而不同,int-->0 ,double-->0.0,String-->null , boolean -->false,char-->’’

眼镜一比一高仿 一比一高仿大牌钱包 Sw 更多细节— 更多细节—- 看起来就很柔软的包??容量也超足的背起来舒适得很~ 新品!
????????????????????????|酒神包最新奶白燕麦色被称为幸运之神眷顾的酒神系列,已成为经典元素里的王牌产品,见证了岁月流转的痕迹,依然是如今的大爆款,依然是受到大家的追捧喜爱,包还是那个包,今年换了个新的颜色新色集白色的纯净、驼色的温柔与咖色的复古于一体不仅百搭性完全不输之前出的所有颜色,还更加淡雅温和、软糯迷人!型号:499623尺寸:25×13.5×7cm Chane1嬉皮包|23B新款AS4378全新设计hobo~包边镶嵌着精美的编织链条??独特的工艺展现出时尚??让女孩子在不同场合中自信绽放,金色五金的点缀为包包增添了一份华丽感,散发出高贵的气质小号尺寸的单链条设计,简约而不失精致~大号尺寸的双链条设计则更添时尚感她们每一个细节都精致呈现~也太迷人了叭!这品质,绝啦绝啦??尺寸:15×23.5×2cm 【双十一购物狂欢节??】限时秒杀???22cm大号???仅5个手快有【勾引】【勾引】不退换货! ??B家双肩包选用由再生聚酯纤维和棉质纱线制成的面料打造,装饰ThomasBur专属标识图案提花,搭配牛皮边饰与同色系微标设计,网纹尼龙细节和品牌徽标。36x19x58 【NEW】全边框黑色漆皮拼黑色绒面格子_19cmSOLFERINOBOX_必火爆款,还没上市就攻陷了整个时尚圈,怀旧左岸,灵感来自巴黎左岸街名RueDeSolferino为名!包包采用进口绒面皮,手感及皮面的柔韧度都非常好!内里设计三层风琴隔,可轻松容纳日常所需物品,全新设计的“L”字母上下对半开扣,彻底颠覆你对包扣的认知,不禁让人发出惊叹,原来还能这样开包包,简直不要太有趣了!型号:634306尺寸:19×13×5cm

高仿原装正品 史密斯高仿正品首饰饰 腰包

??新款小邮差包??2VH070\/漆皮????这款充满现代感的手袋勾勒出简约的线条,配有拆卸可调式编织长肩带??肩带配有可拆卸小包??由进口尼龙布料加亮面牛皮设计,显得经典上原有气质和现代时尚????容量空间大,值得拥有,赶紧入手吧????长19x高12.5x底5.5cm??600000073 现货
New??胡杏兒同款度假系列太美了????LoropianoResortSS23藤编包系列??夏日必备款??超大容量,采用手工编织混纺而成??专柜同步现货供应?? ????DiorCaro小号黑色牛皮革精心制作,饰以标志性的藤格纹针脚。材质柔软,翻盖饰以复古金色饰面金属“CD”扣环,灵感源自ChristianDior香水瓶的封口。小号款式,搭配可拆卸的标志性“CD”链环肩带,亦可替换成刺绣宽肩带,更显优雅时尚。无论日常造型或是晚宴派对,均可轻松驾驭。翻盖开合搭配旋钮式“CD”扣环,背面“30Montaigne”压花标志,可拆卸、可调节的“CD”链环肩带,搭配军装风格的“ChristianDior”搭扣,内部拉链口袋和贴袋,后侧口袋,可手提、肩背或斜挎,尺寸:20厘米x12厘米x7厘米、型号:M9241、??独家实物拍摄??配送全新包装礼盒??(全国统一??60) 新色奶茶色现货岀货5BB148,Miu家新款保龄球包包,官网主推,今年绝对爆??款式,顶级进口小牛皮,Miu家独具风格Matelasse图案,包身精致立体有型,正面刻字徽标与皮革颜色相呼应,可拆卸可调节皮革长肩带,棉质缎面衬里,配拉链式口袋,众多明星网红同款,尺寸27X12X9Cm,配原版包装 【???????????????????系列】爱心调节扣盒子包黑色专柜售价购入开发????????最新爱心调节扣盒子包,内里还有化妆镜整个拿捏更直接可爱住,氛围感直接炸裂?进口荔枝纹小牛皮,耐造的质感更易打理。五金:全铜??????复古金尺寸:??7*9.55*8????。A 【火焰黄??三格刺绣戴妃】L???刺绣戴妃包“C???s????D???”标志时尚而柔美。饰以标志性“D.I.O.R.”吊饰,为精美的轮廓增添一分灵动。搭配大号可拆卸双面刺绣肩带,可随心选择背挎方式。可拆卸双面刺绣宽肩带,内部拉链口袋和贴袋,可手提、肩背或斜挎,可随心搭配其他刺绣肩带。尺寸:17×7.5×14cm款号:9028


发布     👍 0 举报 写留言 🖊   
✋热门推荐
  • 由中国建筑企业家俱乐部(建企荟)、中建政研圆梦商学院发起的2021年度建筑企业家俱乐部(建企荟)精英“同行”之旅已正式起航,用行走感知拼搏的力量,在行进中共建企
  • 昨天在床上看零食测评视频 随口说了句好想吃饼干啊 自己都忘记了 可是小韩记得 今天和朋友逛街的时候特意买了饼干 我以为他在里面陪朋友给人家女朋友买零食 出来才发
  • 昨天买鸭脖子 打工看店那人特逗 说趁老板不在 送我点土豆哈哈哈 然后我在店里等我室友 结果我室友前脚刚到店 那人突然问我室友说:莲藕 爱不爱 我室友懵逼的站那吓
  • 糖尿病“神器”一次打通7条降糖通道,没有降不下来的高血糖
  • #让生活好看#碎碎念的日常昨天下班路上看到卖西瓜的其实我并不爱吃还是买了一个回家因为文姐喜欢吃每天都会见面文姐带着我一起吃饭无意间看到了文姐手机里我好早之前的
  • #上海租房[超话]#因要跟朋友整租现转租自己的朝南小阁楼1950一个月卫生间两人公用,都是女生限女生入住地点锦博苑 7号线锦绣路,走路到地铁5分钟。—- 室友都
  • 早上看到两条流浪狗在马路上追逐,第三条看到后也加入了,它们奔跑着来回过了好几次马路,路过的车纷纷减速。 忽然,其中一条狗撞到了一个辆行驶中的电动车,电动车应声倒
  • 我从不否认 我在营销上是比一些人悟性要高 但我也知道 天赋这东西你也不能高看它 所以 在有了那么一丢丢天赋的基础上 我依然付出了比很多人多得多的努力 我的经
  • 这游戏要是限制十六岁以上才能玩的话,宝宝七,某明星脑残粉,某些国剧粉丝估计会少一大批吧。椅子和血也不用改了。
  • ​​城‮人伙合市‬就是自己‮全了握掌‬国供应商资源,自‮了开己‬一家‮上线‬旅行社,一部手机,‮工由自‬作​​酒店住宿、景点门票都‮自你比‬己在美团上‮买购‬便
  • [鲜花]#易烊千玺电影长津湖#[鲜花][鲜花]#易烊千玺蒂芙尼全球品牌代言人#[鲜花] 招新啦还在为了新入圈找不到组织而烦恼吗?你是我永远特别的一朵玫瑰,永不枯
  • ​​​ ​​​ #La vie est très belle# 马上开学了我决定周六带小帕去海底捞叙旧践行帕君十分满意 盼望已久但是今天突然来了一个翻译急件
  • [心]#易烊千玺#[心] #易烊千玺电影长津湖#[心] #易烊千玺蒂芙尼全球品牌代言人# [心]#易烊千玺阿玛尼全球彩妆及护肤代言人#[心] 易烊千玺大城小爱
  • 在此也祝愿所有参加高考的考生高考加油,能够考入自己的理想大学,迈入自己新的阶梯!#时代少年团[超话]# #时代少年团 星芒初现# 六月是收获的季节,十二年寒窗
  • 易烊千玺大城小爱 yyqx大城小爱好听 易烊千玺搁浅 yyqx搁浅好听 易烊千玺舒适圈 yyqx舒适圈好听 易烊千玺干杯 yyqx干杯好听 易烊千玺恒温动物 y
  • 记者:曼城欧冠丢冠要补强 愿提供1600万欧年薪签下凯恩曼城本赛季在欧冠决赛中输给切尔西丢冠对俱乐部、教练组以及球员打击很大,事业也证明了斯特林难堪大任,曼城需
  • 喜欢可能使外向的人一下子变得矜持内敛,张扬的人一下子变得沉默浅笑,我有多喜欢你,偏偏不让你知道。这时候你就该抻着点,留点空间,喜欢你的人会找你啊。
  • -“你开心就好”的理念在螺丝钉型的shèhuì框架下能被接受和推广呢么-所以我究竟喜欢干嘛啊-最近啥时候感受到过flow的状态啊-我想想从月亮星座可以看出一个人
  • 《你最喜欢的古诗词有哪些?》[心] 1.“何时杖尔看南雪,我与梅花两白头。” 去年南京大雪时,刚好看到这句,心生欢喜。 2.“浮生只合尊前老,雪满长安道。”
  • 《你最喜欢的古诗词有哪些?》[心] 1.“何时杖尔看南雪,我与梅花两白头。” 去年南京大雪时,刚好看到这句,心生欢喜。 2.“浮生只合尊前老,雪满长安道。”