目录
Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。 不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。因此,Java是众多语言中的值得学习的一个不错的选择。而想要掌握Java,熟知它的数据类型和变量就变得必不可缺。
一、字面常量
常量即程序运行期间,固定不变的量称为常量。
public class Main {
public static void main(String[] args) {
System.out.println("HelloWorld");
System.out.println(100);
System.out.println(3.14);
System.out.println('a');
System.out.println(true);
}
}
上述中的“HelloWorld”、100、3.14、'a'、ture均为字面常量。
字面常量的分类:
1. 字符串常量:由""括起来的,比如上述中的“HelloWorld”。
2. 整形常量:程序中直接写的数字(注意没有小数点),比如上述中的100
3. 浮点数常量:程序中直接写的小数,比如上述中的3.14
4. 字符常量:由单引号括起来的单个字符,比如上述中的‘a’
5. 布尔常量:只有两种true和false
6. 空常量:null
注意:字符串、整形、浮点型、字符型以及布尔型,在Java中都称为数据类型。
二、数据类型
在Java中数据类型主要分为两类:基本数据类型和引用数据类型。在这里我们只讲基本数据类型。
基本数据类型分为4类:整型、浮点型、字符型以及布尔型。八种:字节型、短整型、整型、长整型(整型)、单精度浮点数、双精度浮点数(浮点型)、字符型(字符型)、布尔型(布尔型)。其各自的区别如下:
注意:
1.不论是在什么系统,int都占用4个字节,long都占8个字节
2.整形和浮点型都是带有符号的
3.整型默认为int型,浮点型默认为double
三、变量
1、变量概念
在程序中,除了有始终不变的常量外,有些内容可能会经常改变,对于这些经常改变的内容,在Java程序中,称为变量。而数据类型就是用来定义不同种类变量的。
2、语法格式
定义变量的语法格式为:
数据类型 变量名=初始值
如下:
//定义时直接赋初值
int a=10;
char ber='A';
//先定义再赋值
int b;
b=20;
3、整型变量
1.长整型变量
public class Main {
public static void main(String[] args) {
long a=100L;//定义长整型变量
System.out.println(a);//打印
System.out.println(Long.MAX_VALUE);//long型的最大值
System.out.println(Long.MIN_VALUE);//long型的最小值
}
}
其打印结果如下:
注意:
1. 长整型变量的初始值后加L或者l,推荐加L(比较容易辨认)
2. long的包装类型为Long
2.短整型变量
public class Main {
public static void main(String[] args) {
short a=10;//定义短整型变量
System.out.println(a);//打印
System.out.println(Short.MAX_VALUE);//short型的最大值
System.out.println(Short.MIN_VALUE);//short型的最小值
}
}
其结果如下:
注意:
1. short在任何系统下都占2个字节
2. short的包装类型为Short
3.整型变量
public class Main {
public static void main(String[] args) {
int a=120;//定义整型变量
System.out.println(a);//打印
System.out.println(Integer.MAX_VALUE);//int型的最大值
System.out.println(Integer.MIN_VALUE);//int型的最小值
}
}
其结果如下:
注意:int的包装类型为 Integer
4.字节型变量
public class Main {
public static void main(String[] args) {
byte a=120;//定义字节型变量
System.out.println(a);//打印
System.out.println(Byte.MAX_VALUE);//byte型的最大值
System.out.println(Byte.MIN_VALUE);//byte型的最小值
}
}
其结果如下:
注意:
1. byte在任何系统下都占1个字节
2. 字节的包装类型为Byte
4、字符型变量
public class Main {
public static void main(String[] args) {
char c1='A';
char c2='你';
char c3='1';
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
}
}
其结果如下:
注意: 1. Java 中字符变量的值要用‘ ’括起来。
2. 计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此 一个字符占用两个字节, 表示的字符种类更多, 包括中文。
3. char的包装类型为Character。
5、布尔型变量
布尔类型常用来表示真假。
public class Main {
public static void main(String[] args) {
boolean c1=true;
boolean c2=false;
System.out.println(c1);
System.out.println(c2);
}
}
其结果如下:
注意: 1. boolean 类型的变量只有两种取值, true 表示真, false 表示假.
2. Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false .
3. boolean的包装类型为Boolean。
四、类型转换
在Java中,当参与运算数据类型不一致时,就会进行类型转换。Java中类型转换主要分为两类:自动类型转换(隐 式) 和 强制类型转换(显式)。
1、自动类型转换
自动类型转换即:代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。特点:数据范围小的转为数 据范围大的时会自动进行。
public class Main {
public static void main(String[] args) {
int c1=100;
long c2=200L;
c1=c2;//编译会报错,因为int范围小于long
c2=c1;//可以编译,long范围大于int
}
2、强制类型转换
强制类型转换:当进行操作时,代码需要经过一定的格式处理,不能自动完成。特点:数据范围大的到数据范围小的。
public class Main {
public static void main(String[] args) {
int c1=100;
long c2=200L;
c1=(int)c2;//可以编译,强制类型转换
c2=c1;//可以编译,自动类型转换
}
}
注意: 1. 不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型
2. 如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失
3. 强制类型转换不一定能成功,不相干的类型不能互相转换
3、类型提升
不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的。
int a=10;
long b=20L;
int c=a+b;//编译出错,a + b等价于int + long会转换为long + long 赋值给int时会丢失数据
long d=a+b; //编译成功,a + b等价于int + long会转换为long + long 赋值给long
byte 和 short 这种低于 4 个字节的类型, 会先提升成 int, 再参与计算,所以如果是两个byte作运算,应byte d=(byte)(a+b)。
五、字符串类型
public class Main {
public static void main(String[] args) {
String a1="Hello";
String a2="World";
System.out.println(a1);
System.out.println(a2);
System.out.println(a1+a2);//将两个字符串拼接
}
}
结果如下:
注意:1.将int转换为String
int a1=1;
//String a2=a1+"";//方法一
String a2=String.valueOf(a1);//方法二
2.将String转换为int
String a1="1";
int a2=Integer.parseInt(a1);
以上便是本篇文章的全部内容,感谢各位看官观看,如本篇内容对你有帮助,可以一键三连支持一下,感谢支持!!!