提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
JAVA基础语法
提示:本节主要学习二进制,变量,数据类型,运算符。
# 一、变量 ## 什么是变量
变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。由于该存储单元中的数据可以发生改变,因此得名为"变量"。
变量的分类
- 按所属的数据类型划分:
基本数据类型变量
引用数据类型变量 - 按被声明的位置划分:
局部变量:方法或语句块内部定义的变量
成员变量:方法外部、类的内部定义的变量
public class Dome1 {
int a =10//成员变量
public static void main(String[] args) {
int b =10;//局部变量
}
}
变量的转换
int a = 10;
int b = 20;
int c = a;
a = b;
b = c;
二、数据类型
什么是数据类型
由于变量记录的数据内容大小不同, 导致所需的存储单元大小不同,在 Java 语言中使用数据类型的概念加以
描述 . 字节是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成
信息的一个小单位。Java 中的字节是八位的字节,即它包含八位的二进制数。
数据类型分类
八种基本数据类型
- 整数型:byte,short,int,long;
- 浮点数:float,double;
- 字符型:char;
- 布尔型:boolean
引用类型
- 类class
- 接口interface
- 数组
- 字符串String
数据类型要素
byte:
byte 数据类型是8位、有符号的,以二进制补码表示的整数,1个字节;
最小值是 -128(-2^7);
最大值是 127(2^7-1);
默认值是 0;
byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
例子:byte a = 100,byte b = -50。
short:
short 数据类型是 16 位、有符号的以二进制补码表示的整数,2个字节
最小值是 -32768(-2^15);
最大值是 32767(2^15 - 1);
Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
默认值是 0;
例子:short s = 1000,short r = -20000。
int:
int 数据类型是32位、有符号的以二进制补码表示的整数,4个字节;
最小值是 -2,147,483,648(-2^31);
最大值是 2,147,483,647(2^31 - 1);
一般地整型变量默认为 int 类型;
默认值是 0 ;
例子:int a = 100000, int b = -200000。
long:
long 数据类型是 64 位、有符号的以二进制补码表示的整数,8个字节;
最小值是 -9,223,372,036,854,775,808(-2^63);
最大值是 9,223,372,036,854,775,807(2^63 -1);
这种类型主要使用在需要比较大整数的系统上;
默认值是 0L;
例子: long a = 100000L,Long b = -200000L。
"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。
float:
float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
float 在储存大型浮点数组的时候可节省内存空间;
默认值是 0.0f;
浮点数不能用来表示精确的值,如货币;
例子:float f1 = 234.5f。
double:
double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数,4个字节;
浮点数的默认类型为double类型;
double类型同样不能表示精确的值,如货币,8个字节;
默认值是 0.0d;
例子:double d1 = 123.4。
boolean:
boolean数据类型表示一位的信息,1个字节;
只有两个取值:true 和 false;
这种类型只作为一种标志来记录 true/false 情况;
默认值是 false;
例子:boolean one = true。
char:
char类型是一个单一的 16 位 Unicode 字符,2个字节;
最小值是 \u0000(即为0);
最大值是 \uffff(即为65,535);
char 数据类型可以储存任何字符;
例子:char letter = ‘A’;。
数据转换
boolean 类型不能转换成任何其它数据类型。
自动类型转换:容量小的类型自动转换成容量大的数据类型
byte,short,int -> float ->long ->double
byte,short,int 不会互相转换,它们三者在计算时会转换成 int 类型
强制类型转换:容量大的类型转换成容量小的数据类型时,要加上强制转换符
long l = 100L;
int i = (int)l;
有可能造成精度降低或数据溢出,使用时要小心。