基本数据类型的表示范围
基本数据类型的表示范围如下:(转自慕课网)
字面值
(1)整型字面值——>Java中表示整数的方法:二进制、八进制、十进制、十六进制
二进制:以0和1组成 3表示为011 8表示为1000
八进制:以0开头,包括0——7的数字
十六进制:以0x开头或0X开头,包括0——9的数字,及字母a——f,A——F
(2)浮点型字面值
-
浮点型字面值默认情况下是double类型(双精度浮点型字面值),也可以在值后面加d或D
-
如:123.45、123.45d、123.45D
-
如果表示float类型(单精度浮点型字面值),则需要在字面值后面加f或F
-
如:23.4f、23.4F
(3)字符型字面值
-
字符型字面值用单引号内的单个字符表示
-
如:‘a’、‘b’、‘$’
如何定义字符型变量?
char a = ‘a’; //输出结果为:a=a
char b = 65 //输出结果为:b=A
字符型变量为什么可以赋值整数呢?
整数代表的是ASCII码(美国标准信息交换码),而65在ASCII码中表示为‘A’
拓展:Unicode编码
char c = ‘\u005d’; //005d表示16进制
Unicode表示法,在前面加前缀\u
(4)布尔类型字面值
布尔类型只能定义为true和false
例如: boolean flag = true;
(5)字符串字面值
-
双引号引起来的0个或多个字符
-
0字符称为空字符串
变量综合案例
//变量综合案例
public class VarDemo {
public static void main(String [] args){
//定义两个整型变量
int a,b;
//直接将变量输出会报错:The local variable a may not have been initialized
//注意:变量在声明的时候如果没有进行赋值是不可以直接输出的
//System.out.println(“a=”+a+“,b=”+b);
a = 3;
b = 5;//对两个变量进行赋值(变量的初始化)
System.out.println(“a=”+a);
System.out.println(“b=”+b);
//关于换行的问题
//如果不想换行,想在同一行输出,可以不加ln
System.out.print(“a=”+a);
System.out.print(“b=”+b);
//换行也可以使用换行符来完成换行 换行符 \n
System.out.print(“a=”+a+“\n”+“b=”+b);
//定义一个汉字的字符
char ch = ‘中’;
System.out.println(“ch=”+ch);
//char 中文 = ‘中’;变量名也可以是中文但是不建议使用该方式
//定义浮点型数据
double d1 = 123;//浮点型可以赋值整数
//double类型的变量值可以加d或D,也可以不加
double d2 = 123.45;
double d3 = 123.45d;
double d4 = 123.45D;
//float f = 123.45;float类型的变量值如果是小数后必须加f或F,因为小数默认情况下是double类型
float f1 = 123;
float f2 = 123.45f;
float f3 = 123.45F;
//科学计数法表示浮点型数据
double num1 = 1.23e5;//表示1.23*10^5 , 可以使用e或E表示
double num2 = .2;//表示0.2
double num3 = 1.23e-5;//表示1.23*10^-5
}
}
数据类型转换
======
数据类型转换分为自动类型转换和强制类型转换。
自动类型转换
自动类型转换又称为隐式类型转换。
转换顺序:
强制类型转换
如果A类型的数据表示范围比B类型数据表示范围大,则将A类型的值赋值给B类型,需要进行强制类型转换。
如:
double d = 123.4;
float f = (float)d;
强制类型转换的格式:(数据类型)数值
类型转换案例
//类型转换案例
public class TypeExchange {
public static void main(String [] args){
//char类型和int类型之间的转换
//char ch = 65536;char类型的范围是0——65535,如果将65536赋值给ch会超出范围,需要进行强制类型转换
char ch = (char)65536;
//该类型转换方式为自动类型转换(隐式类型转换)
int n = ch;//int类型的数据表示范围比char类型的数据表示范围大,可以直接将ch赋值给n
//整型和浮点型之间的转换
int x = 100;
long y = x;//int类型的表示范围小于long类型,可以直接将x赋值给y
x =(int)y;//long类型的表示范围大于int类型,赋值需要进行强制类型转换
float f = 1000000000L;//long类型表示范围小于float类型,可以直接将long类型的数据赋值给f
System.out.println(“f=”+f);//结果为1.0E9
float f2 = 115616684646163L;
System.out.println(“f2=”+f2);//结果为1.15616686E14
//原数据发生了精度丢失,数据类型转换数据图上可以知道,虚线表示类型转换时可能会发生精度丢失情况。
}
}
运算符
====
表达式
表达式由运算符和操作数组成。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
最后
经过日积月累, 以下是小编归纳整理的深入了解Java虚拟机文档,希望可以帮助大家过关斩将顺利通过面试。
由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
)]
[外链图片转存中…(img-TPMJ0VCy-1713458184826)]
[外链图片转存中…(img-3AYeJ3L2-1713458184830)]
[外链图片转存中…(img-rdDv54qZ-1713458184837)]
[外链图片转存中…(img-HCcg3wdZ-1713458184839)]
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!