java中的常量、变量、数据类型及运算符

阅读: 评论:0

java中的常量、变量、数据类型及运算符

java中的常量、变量、数据类型及运算符

                          

1.字面常量

2.数据类型

目录

                          

1.字面常量

2.数据类型

3.变量

3.1变量概念

3.2定义格式

3.3整型变量

3.3.1整型变量

3.3.2长整型变量

3.3.3短整型变量

3.3.4字节型变量

3.4浮点型变量

3.4.1双精度浮点型(double)

3.4.2单精度浮点数(float)

3.5字符类型

3.6布尔类型

3.7类型转换

3.7.1自动类型转换(隐式)

3.7.2强制类型转换(显示)

3.3.7类型提升

int 与 long的运算

byte和byte运算

3.8引用类型(浅浅介绍)

3.8.1字符串类型


1.字面常量

常量即程序运行期间,固定保持不变的量。比如一年有四个季节、一年有12个月、一个星期有7天
用代码解释就是

public class Demo{
public static void main(String[] args){

System.Out.println("hello world!");//字符串常量
System.Out.println(3.14);//浮点数常量
System.Out.println('A');//字符常量
System.Out.println(true);//布尔常量

}

输出的helloworld、3.14、A、true都是常量

2.数据类型

在java中数据类型分为基本数据类型和引用数据类型

a.四类:整形、字符型、浮点型、布尔类型

b.八种

ps:a.比C语言中多出了字节型.比字节类型还小的还有bite且

     1byte=8bite 1KB=1024byte 1MB=1024KB 1GB=1024MB

注意:1.不管在16位还是32位,int类型都占4个字节,long类型都占八个字节

           2.整形和浮点型都是带有符号的

           3.整形默认为int类型,浮点型默认为double(使用float时,注意使用规范)

           4.字符串为引用类型

3.变量


3.1变量概念

在java中,既有保持不变的量,也有改变的量。比如人的年龄,身高,体重,数学函数等等。

这些经常发生改变的量,在java程序中被称之为变量,而数据类型就是用来定义不同类型的变量的

3.2定义格式

数据类型  变量名=初始值

3.3整型变量

3.3.1整型变量

//1.一种定义方式,直接初始化
int a = 0;
System.Out.println(a);
//2.第二这种定义方式
int b;
b = 0;
System.Out.println(b);
//如若使用第二种定义方式未进行初始化系统会报错
int c;
System.Out.println(c);//注意赋值时不能超过整型数值的最大范围,下面为int类型的最大值和最小值
System.Out.println(Integer.MIN_VALUE);
System.Out.println(Integer.MAX_VALUE);
//Integer为int类型的包装类型
//举例
int d=1234567890000;
//超出范围则系统报错

注意:

1. int不论在何种系统下都是4个字节

2. 推荐使用方式一定义,如果没有合适的初始值,可以设置为0

3. 在给变量设置初始值时,值不能超过int的表示范围,否则会导致溢出(-2^32-2^32-1)

4. 变量在使用之前必须要赋初值,否则编译报错

5. int的包装类型为 Integer

3.3.2长整型变量

//初始化方式与int类型一致
//以下为注意事项
int a = 5;
long b = 10;long b = 10l;//为了区分整型和长整形在赋值后面加上l或L
long b = 10L;//推荐使用L 因为1和l类似,不推荐使用//赋值时也需要注意限定范围
System.Out.println(Long.MAX_VALUE);
System.Out.println(Long.MIN_VALUE);
long c = 1010000000000000000000000;//超出范围系统报错

注意事项:

1. 长整型不论在那个系统下都占8个字节

2. 长整型的表示范围为:(-2^64-2^64-1)

3. long的包装类型为Long

3.3.3短整型变量

//初始化与上述一致
short a = 10;
System.Out.println(a);
// short型变量所能表示的范围:
System.Out.println(Short.MIN_VALUE);
System.Out.println(Short.MAX_VALUE);
//也需要注意赋值大小

注意事项:

1. short在任何系统下都占2个字节

2. short的表示范围为:-32768 ~ 32767   

. short的包装类型为Short

3.3.4字节型变量

//初始化与上述一致
byte b = 10;
System.Out.println(b);
// byte型变量所能表示的范围:
System.Out.println(Byte.MIN_VALUE);
System.Out.println(Byte.MAX_VALUE);

注意事项:

1. byte在任何系统下都占1个字节

2. byte的范围是:-128 ~ 127

3. 字节的包装类型为Byte

ps:整型变量的使用由情况而定,选择适合的变量才能更高效的完成作业。

3.4浮点型变量

3.4.1双精度浮点型(double)

//初始化方式有两种这里之后只使用我推荐的方法
double a = 3.14;
System.Out.println(a);int b = 1;
int c = 2;
System.Out.println(b/c);
//答案不等于0.5,因为除数与被除数定义的都为整数,结果都取整数。
//如果想得到一个0.5,应该定义为double类型
int d = 1;
int e = 2;
System.Out.println(d/e);//输出0.5int f =1.1;
System.Out.println(f*f);//结果并不会输出1.21,double,小数位精度高,输出为1.2100000000000002

注意事项:

1. double在任何系统下都占8个字节

2. 浮点数与整数在内存中的存储方式不同,不能单纯使用 的形式来计算

3. double的包装类型为Double

4. double 类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势 必会存在一定的精度误差,因此浮点数是个近似值,并不是精确值。

3.4.2单精度浮点数(float)

//赋值
float a = 1.7f;//或者为F
System.Out.println(a);

注意

1.在java中,float中占4个字节

2.其包装类型为,Float

3.其精度范围比double小

4. 浮点数与整数在内存中的存储方式不同,不能单纯使用 的形式来计算

3.5字符类型

char ch ='a';//可以是字母
char b = '1';//也可以是字符
//均已单个字母或字符使用''引起来
System.Out.println(a);
Sysout.Out.println(b);char c = '叒'
Sysout.Out.println(c);//也可以是汉字

注意事项

1.计算机中的数值本质上是整数java中使用Unicode表示字符,故占用两个字节

2.char的包装类型是Character

3.6布尔类型

boolean flga=1;//这种是错误的赋值方法
boolean flga=ture;//正确的复制方法
System.Out.println(flga);boolean rigth=false;//正确复赋值方法
System.Out.println(right);

注意事项:

1.boolean中只有true和false,表示真和假,没有0为假非0为真的说法。

2.在java虚拟机中中明确规定,boolean没有具体的大小。

4. boolean的包装类型为Boolean。

3.7类型转换

在Java中,当参与运算数据类型不一致时,就会进行类型转换

这里放个引子

int a= 10;
long b = 20;a = b;//会报错
b = a;//编译通过

为什么呢这里先卖个关子,往下看

3.7.1自动类型转换(隐式)

其概念是:代码不经过任何处理,在编译过程中,编译器自动发生转换;在数据小范围转变到数据范围大时会自动进行处理

int a = 10;
long b =20;a = b;//将数据大范围的b赋值给a,这时代码是编译不过去的。大到小范围需要强制转化(后面会介绍)
b = a;//小范围a赋值给b,编译器会自动发生转换 int转为long。//同样的浮点型中
float c = 1.2f;
double d = 2.1;c = d;//将大范围的数据赋值给小范围的数系统会报错
d = c;//小范围赋值大范围,folat会自动转换为doubleSystem.Out.println(1024);//1024默认为int数据
System.Out.println(3.14);//3.14默认为是double数据,如需要强调是float类型后面需+l或Lbyte z = 10;//默认数据为int,但数据为超范围发生隐式转换。上述
byte x =200;//默认为int类型,但是超过byte类型的最大值,编译报错,如需要转换,可强制进行转换,但是可能会发生截断

3.7.2强制类型转换(显示)

概念为:代码需要一定的格式处理,不能自动发生转换。其特点为小范围到大范围

int a = 10;
long b =20;a = (int)b;//大范围数据赋值小范围数据需要强制转换
b = a;//小范围a赋值给b,编译器会自动发生转换 int转为long。//同样的浮点型中
float c = 1.2f;
double d = 2.1;c = (int)d;//将大范围的数据赋值给小范围,需要强制转换
d = c;//小范围赋值大范围,folat会自动转换为doubleSystem.Out.println(1024);//1024默认为int数据
System.Out.println(3.14);//3.14默认为是double数据,如需要强调是float类型后面需+l或Lbyte z = 10;//默认数据为int,但数据为超范围发生隐式转换。上述
byte x =(int)200;//默认为int类型,但是超过byte类型的最大值,编译报错,如需要转换,可强制进行转换,但是可能会发生截断
boolean flag = true;
flag = a;//编译失败,类型不匹配
flag = c;//编译失败,类型不匹配

注意:

1.不同数字类型的数据,小范围的数据转换为大范围的数据会隐式发生

2.如需将大范围的数据赋值给小范围的数据需要强制类型转换

3.隐式类型转换不一定成功,两个不相关的数据类型无法完成转换

4.将数据赋值时,java会自动检索数据的范围

3.3.7类型提升

在不同数据类型的运算中,小范围的数据一般会提升为大范围数据之后在进行运算。

int 与 long的运算
int a = 10;
long b = 20;//int c = a + b;//编译错误long c = a + b;//编译过程中int提升为long类型之后再进行计算即 int + long->long + long
byte和byte运算
byte a = 10;
byte b = 20;byte c = a + b;//虽然a 和 b都是byte类型,但是都要先提升为int类型才能进行计算
//报错为:错误: 不兼容的类型: 从int转换到byte可能会有损失如真的需要为byte类型则强制转换
byte=byte(a + b);

注意:

1.不同数据类型进行计算,小范围数据都会先转换为数据大的类型再进行运算

2.小于2个字节的类型,比如short、byete,都需要提升为int类型再进行计算。

3.8引用类型(浅浅介绍)

3.8.1字符串类型

在java中使用String,定义字符串

public static void main(String[] args) {
String s1 = "hello";
String s2 = " world";
System.out.println(s1);
System.out.println(s2);
System.out.println(s1+s2); // s1+s2表示:将s1和s2进行拼接
}

java中的字符串相较于c语言中,java有个有趣的地方,可以随意拼接,还有字符串和数字之间转换。

a.随意拼接,比如

public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a=="+a+b);//其输出为a==1020}

相较于c语言是不是java中的字符串更加方便更加有趣。

b.1. int 转成 String

int num = 10;
// 方法1
String str1 = num + ""; 
// 方法2
String str2 = String.valueOf(num)

2. String 转成 int

String str = "100";
int num = Integer.parseInt(str);

这是对字符串进行简单的介绍

                                                                                                                            未完待续

学疏才浅,有错误欢迎指正。

本文发布于:2024-01-29 16:20:15,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170651641816549.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:常量   变量   数据类型   运算符   java
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23