标识符
概念:
Java语言中,对于变量,常量,函数,语句块来说,都是有名字的,这些名字,我们统统称之为Java标识符。
命名规则:
1.可以由字母,数字,_和$,这四种的任意多个组成,但是数字不能开头;
2.大小写字母敏感,需要特别注意(严格区分大小写)
3.不能使用关键字,如int,for,if等
4.多个单词时需要符合驼峰命名法
变量
定义:
jvm在其管理的内存中会开辟很多个空间、这些空间用来存储数据,而这些存储空间里的数据也会根据我们不同时间的不同需求而变化,那么,这样的存储空间,我们需要给他们命名,我们可以通过这些名字来操纵(使用)这些存储空间。 这些名字就是我们所说的变量。
语法规则:
-变量必须先声明和初始化
--声明:就是规定该变量要存储的数据类型,也称为定义变量
(变量名是小驼峰命名法) int myNumber; 注意:一句话说完,使用分号表示结束,英文输入法
--初始化:就是给变量第一次赋值。
--初始化的时机,分别是声明时直接初始化,和使用时再初始化
-变量可以重复的存和取
--存:使用等号给变量赋值
--取:使用变量做其他事情都是取。
public class VariableDemo{
public static void main(String[] args){
//练习1:声明一个int类型的变量,变量名number
int number;
//练习2:给上面的number变量赋值100;
number = 100;//第一次赋值,叫初始化
//使用输出语句,进行打印
System.out.println(number);
//练习3:定义一个long类型的变量time,直接赋值为1000,然后输出。
long time = 1000;
System.out.println(time);
//练习4:定义int类型的变量num,打印该变量
int num;
System.out.println(num);//会报编译错误
//除了变量在声明时的位置,出现在其他任何位置上,都是在使用该变量,那么变量使用前必须初始化。
int a = 10;
int b = 20;
int c = a + b; //将a和b里的值取出来然后计算,结果30再存入变量c里。
a = 5; //将5存入a变量里,原有的10被5覆盖掉了。
a = 50; //将50存入a变量里,原有的5被50覆盖了。
a = a + 6; //使用a里的50与6做加法运算,结果56,再次存入变量a中,把之前的50覆盖掉了。
}
}
变量的应用
- 变量的操作必须与声明时所强调的类型一致。 简短来说,就是类型必须一致,否则是类型不匹配。
- 变量是有自己的作用域。 (变量有自己的使用范围)
1)作用域:从声明处开始,一直到它所在的花括号的结束符号位置开始。
2)该作用域内,变量不能重复声明(定义),出了该作用域,需要重新定义(声明)
变量的分类:
1.按照位置分类
-成员变量: 在方法外,类体里定义的变量
-局部变量: 在方法里定义的变量
2.按照类型分类
-基本数据类型(原始数据类型) (8种) byte,short,int,long,double,float,char,boolean
-引用数据类型(包括数组)
public class VariableDemo03{
int age = 10; //成员变量
public static void main(String[] args){
//下面三个变量都是局部变量
int number = 1;
int num = -1;
String myName = "zeven";
}
String name = "lily"; //成员变量
String gender = " 女"; //成员变量
public void run(){
int a = 10; //局部变量
}
}
数据类型
整数型
类型名称 | 占用存储空间 | 数值范围 |
---|---|---|
byte | 1字节(8位) | -2^7^~2^7^-1 |
short | 2字节(16位) | -2^15^ ~ 2^15^ -1 |
int | 4字节(32位) | -2^31^ ~ 2^31^-1 |
long | 8字节(64位) | -2^63^ ~ 2^63^-1 |
-Java各整数类型都有固定的表数范围和字段长度,这样不受具体OS的影响,保证了java的可移植性。
- 整数字面量,也叫整数直接量(literal),就是直接写出来的整数,是int类型。
- int字面量,只要没有超出byte或者short的范围,是可以直接赋值给byte或short类型的变量的
- int字面量,可以直接给long类型的变量赋值。
- long字面量,需要在整数后面添加小写或者大写的L。
浮点型
float: 单精度类型,能精确表示到小数点后6~7位,
能表示的整数部分的范围在38位double:双精度类型,能精确表示到小数点后15~16位,
能表示的整数部分的范围在308位
-浮点数的字面量默认是double类型。如果想要float字面量,需要添加F/f
-浮点数字面量后面也可以添加D/d, 也可以省略。
字符型
char:
-占用内存大小2字节(16)位,
-java字符类型采用了Unicode字符集编码。Unicode是世界通用的定长字符集,所有的字符都是16位。
-可以赋值字符,使用单引号,能且只能是一个字符
-可以赋值十进制整数,范围为0~65535。
-可以赋值Unicode形式:’\uXXXX’,XXXX表示16进制数
布尔类型
boolean:
-占用内存大小1字节(8位),
-适于逻辑运算,表示某个条件是否成立
-布尔类型数据只允许取值true/false,true表示条件成立,false表示条件不成立
- 一般用于程序流程控制:分支控制结构语句;循环控制结构语句
以上是8大基本数据类型
字符串类型
String类型:
- 引用数据类型之一,是最常用的引用类型。
- 赋值的特点是:使用双引号引起来,里面有0个以上的任意字符。
- 字符串可以做拼接操作: 使用+号,
注意: +号前后只要有一个是字符串类型,那就一定是做拼接操作,
拼接的结果是字符串类型。