Java变量与数据类型
一、编程规范
- 任何地方的名字都需要见名知意;
- 代码适当缩进;
- 书写过程成对编程;
- 对代码进行合理注释;
注:
- 一旦修改的源代码之后要重新编译
- 一个java文件中可以存在多个类,但是只有一个类能被public修饰,并且要与文件名保持一致
- 一个类中只能有一个主方法
- java是以类为单位的,每个类都有对应的字节码文件,字节码文件跨平台,与平台无关性
二、关于注释
1)注释的三种形式
- 单行注释//
- 作用域:只在当前行有效
- 嵌套:可以嵌套单行注释,不能嵌套多行和文档
- 位置:这一行的上面或者行尾
- 多行注释/*注释的内容*/
- 作用域:多行
- 嵌套:可以嵌套单行注释,不能嵌套多行和文档
- 位置:类的上面或者方法的上面
- 文档注释/** 文档注释*/
- 作用域:多行
- 嵌套:可以嵌套单行注释,不能嵌套多行和文档
- 位置:类的上面或者方法的上面
/*
多行注释
*/
public class Demo01{
//主方法
/**文档注释*/
public static void main(String[] args){ //方法体
System.out.println("");
}
}
2)注释的作用
- 解释说明程序,提高了代码的阅读性
- 可以帮助我们调试程序
三、标识符
1)定义
就是给类,接口,方法,变量等起名字的字符序列
2)组成原则
由数字,字母,下划线_,美元符号$任意组合而成
3)注意事项
- 不能以数字开头
- java严格区分大小写
- 关键字不能作为标识符使用
关键字: java中有一些词,有自己的用法或者用途
保留字: java中有一些词,将来有可能有自己的用法或者用途 如:const、goto
4)标识符的命名规范
(1)见名知意
(2)驼峰命名原则
- (3)包:全部小写
- 单级包:单个文件夹 shangxuetang
- 多级包:多个文件夹嵌套 shang.xue.tang
(4)类|接口:每个单词的首字母大写 ShangXueTang
(5)方法|变量:第一个单词全部小写,从第二个单词开始每个单词的首字母大写 shangXueTang
(6)常量:全部大写 SHANG_XUE_TANG
四、变量
1)定义
在程序运行过程中,其值可以发生改变的量。
2)变量的使用
(1)声明的同时赋值
数据类型 变量名 = 变量值;
(2)先声明后赋值
数据类型 变量名; --声明
变量名 = 变量值; --赋值
(3)同时声明多个变量
注意:等号是唯一一个自由向左运算的符号
3)使用变量注意项
(1)变量必须已声明
(2)并且已经赋值
(3)从变量的声明开始,到包括它的最近的"}"结束为止
4)变量的分类
(1)局部变量:方法,语句块{}声明的变量,局部变量使用前必须声明并且赋值
(2)成员变量:类中方法外,不赋值有默认值
public class Variable04{
//成员变量
String de="hello";
public static void main(String[] args){
//System.out.println(name);
//存储一个学生的年龄 18->int
int age=18;
//存储学生的姓名 "因为" -->字符串
String name="张强";
System.out.println(name);
System.out.println(age+1);
//薪资
double money;
money=100.1;
System.out.println(money);
int x,y,z;
x=y=z=10;
System.out.println(x);
System.out.println(y);
System.out.println(z);
int haha=3;
System.out.println(haha);
}
public static void test(){
//String name="a";
//System.out.println(name);
}
}
五、常量
1)定义
在程序执行过程中,其值不可发生改变的量
2)字面值常量:
- 整数常量: 123 1 -5
- 小数常量: 123.123
- 字符常量: '1' 'a' '号'
- 字符串量: "123" "abc"
- 布尔常量: false true
- 空常量 : null
3)自定义常量:
被final修饰的变量为常量
public class Constant05{
public static void main(String[] args){
final double PI=3.1415926;
//pi=0;
System.out.println(PI);
}
}
六、数据类型
1)分类
A:基本数据类型:4类8种
B:引用数据类型:类,接口,数组。
2)基本数据类型:
注:整型的字面常量值默认int类型, 如果想要存储比int类型更大的long类型的数据,需要在数据的后面添加L/l,推荐使用L
注意:浮点型运行结果可能发生不精确.单精度的浮点数要加F或者f
字符型参与运算,会先转为对应的十进制的数再去参与运算
七、数据类型转换
1)boolean类型不参与转换
2)自动类型转换
小范围类型的数据到大范围类型会发生自动类型提升
public class AutoChange{
public static void main(String[] args){
char c1='a';//定义一个char类型
int i1 = c1;//char自动类型转换为int
System.out.println("char自动类型转换为int后的值等于"+i1);
char c2 = 'A';//定义一个char类型
int i2 = c2+1;//char 类型和 int 类型计算
System.out.println("char类型和int计算后的值等于"+i2);
}
}
运行结果
3)强制类型转换
(1)大范围类型的数据赋值给小范围类型的变量,需要发生强制类型转换,有可能损失精度
(2)小范围类型 变量名=(小范围类型)大范围类型数据;
注:
如果多个类型的数据参与运算,最终结果会提升成为参与运算的数据的最大类型
如果比int小的char,byte,short参与运算时,会自动类型提升为int类型
如果给short,byte,char赋值,只要在其范围内的常量就能成功赋值
public class ForceChange{
public static void main(String[] args){
int i1 = 123;
byte b = (byte)i1;//强制类型转换为byte
System.out.println("int强制类型转换为byte后的值等于"+b);
}
}
运行结果