变量
java变量定义:在程序运行期间,随时可能产生一些临时数据,应用程序会将这些数据保存在一些内存单元中,每个内存单元都用一个标识符来标识。这些内存单元被称为变量,定义的标识符就是变量名,内存单元中存储的数据就是变量的值。
1)简单定义:用于存储数据的指定类型的元素;
2)变量的三个元素:变量类型、变量名和变量值;
数据类型
1基本数据类型
2引用数据类型
基本数据类型
1数值型
⑴整数类型:(byte short int long)
⑵浮点类型:(float double)
2字符型(char)
3布尔型(boolean) (只能为true和false,不能用0和1)
引用数据类型
1类(class)
2接口(interface)
3数组
整型字面值和变量声明(byte short int long)
1.进制表示
Java有三种表示整数的方法:十进制,八进制,十六进制
八进制:0开头,包括0-7,例如037 056
十进制:0开头,包括0-9
十六进制:0X或者0x开头,包括0-9数字,以及字母a-f,A-F,a表示10(如:0x12,0xabcf,0XABCFF)
2.变量声明
例:
int n; 声明整型变量n
long count; 声明长整型变量count
3.变量定义
int octal=037;//定义int类型变量存放在八进制数据
long longNumber=0xa2cdf3ffL;//定义一个存放十六进制的长整形数据
short shortNumber=123;//定义变量存放短整型数据
byte b=10;//定义变量存放byte类型数据
浮点型字面值(float double)
1.浮点型字面值默认情况下表示double(双精度浮点型)类型,也可以在值后加d或D
如:123.43d或123.43D
2.如表示float(单精度浮点型),则需要在字面值后面加f或F
如:23.4f或23.4F
2.浮点型案例
public class FloatDemo {
public static void main(String[] args) {
//定义一个单精度浮点型
float f = 1234.328f;
System.out.println("f="+f);
//定义一个双精度浮点型
double d = 3456.431;
System.out.println("d="+d);
//将整数类型的值赋值给双精度类型的变量
double d1 = 123;
System.out.println("d1="+d1);
//变量将的赋值
double d2 = d;
System.out.println("d2="+d2);
}
}
结果如下:
f=1234.328
d=3456.431
d1=123.0
d2=3456.431
字符型字面值(char)
1)字符型字面值用单引号内单个字符表示;
如 ‘a‘,‘b‘,‘$‘,‘@‘,‘看‘
单引号中只能有一个字符
2)定义字符型变量:
char a = ‘a‘ ; //把字符a的值赋值给变量a
char ch= 65; //输出 ch=A
3)char类型实际上是无符号16位整数类型,取值范围为0~65535;
字符类型和整型可以互相转换;
如果字面值超出char类型所表示的数据范围,需要进行强制类型转换,但是会造成精度丢失。
补充知识:
1)ASCII(美国标准信息交换代码),基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。 ASCII表示:使用7位或8位二进制组合来表示128或256种可能的字符 7位二进制数组合-标准ASCII,用来表示大小写字母、标点符号、美式英语中的控制字符等 8位二进制数组合(后128位)-扩展ASCII码,用来表示特殊符号,外来语言的字母等。
2)Unicode编码,称为统一码,万国码,目标是支持世界上所有的字符集。 Unicode表示法,在值的前面加上前缀\u: char c = ‘\u005d‘;
布尔类型和字符串常量
1.布尔类型字面值 布尔值只能定义为true和false
例:boolean b=true
2.字符串字面值 字符串不属于基本数据类型,它是类!
字符串字面值是双引号引起来的0个或多个字符(是允许双引号里面什么都不写的);
例:String s="";
字符串的关键字是:String
字符串可以定义为空!
字符串可以定义一个包含Unicode字符的字符串!
public class VarDemo {
public static void main(String[] args) {
//定义两个整型变量x,y
// int x=0,y=0;
int x,y;
x = 3;
y = 5;
System.out.println("x="+x);
System.out.println("y="+y);
//关于换行的问题
System.out.print(""+x+‘\t‘+y+‘\n‘);
// System.out.println();
System.out.print(x+","+y);
System.out.println("\n\‘"+x+"\‘");
//定义一个汉字的字符
char ch = ‘王‘;
System.out.println(ch);
// char 中文 = ‘中‘; // 不建议中文使用变量名
// System.out.println(中文);
//用科学计数法表示浮点型数据
double d = 1.23E5;
float f = 1.23e5f;
double d1 = .2;
System.out.println("d="+d);
System.out.println("f="+f);
System.out.println("d1="+d1);
}
}
结果如下:
x=3
y=5
3 5
3,5
‘3‘
王
d=123000.0
f=123000.0
d1=0.2