Java SE中常量变量及包机制问题

常量

常量:初始化后不能再改变值!不会变动的值。所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
用法:final 常量名=值;
【演示如下】

final double PI=3.14; 
final String today="hello";

程序中使用常量可以提高代码的可维护性。例如,在项目开发时,我们需要指定用户的性别,此时可以定义一个常量 SEX,赋值为 “男”,在需要指定用户性别的地方直接调用此常量即可,避免了由于用户的不规范赋值导致程序出错的情况。

变量

一、变量定义

变量是什么:就是可以变化的量!
Java是一种强类型语言,每个变量都必须声明其类型。
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储单元,声明格式为:
type varname=value
注意事项
1.每个变量都有类型,类型可以是基本类型,也可以是引用类型。
2.变量名必须是合法的标识符。
3.变量声明是一条完整的语句,因此每一个声明都必须以分号结束
演示如下

int a, b, c; // 声明三个int型整数:a、 b、c  
int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值 
byte z = 22; // 声明并初始化 z 
String s = "runoob"; // 声明并初始化字符串 s 
double pi = 3.14159; // 声明了双精度浮点型变量 pi 
char x = 'x'; // 声明变量 x 的值是字符 'x'。

编码规范
虽然可以在一行声明多个变量,但是不提倡这个风格,逐一声明每一个变量可以提高程序可读性。

二、变量分类(作用域)

变量根据作用域可划分为三种:
1.类变量 (静态变量: static variable):独立于方法之外的变量,用 static 修饰。
2.实例变量(成员变量:member variable):独立于方法之外的变量,不过没有 static 修饰。
3.局部变量(lacal variable):类的方法中的变量。
【演示如下】

public class HelloWorld{ 
	static int allow=0; // 类变量 
	String str="Hello World!"; // 实例变量 
	public void method(){ 
		int i =0; // 局部变量 
	}
}

三、静态变量

1.使用static定义。
2.从属于类,生命周期伴随类始终,从类加载到卸载。
3.如果不自行初始化,他会自动初始化成该类型的默认初始值(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)
【演示如下】

public class Employee { 
	//salary是静态的私有变量 
	private static double salary; 
	// DEPARTMENT是一个常量 
	public static final String DEPARTMENT = "开发人员"; 
	public static void main(String[] args){ 
		salary = 10000; 
		System.out.println(DEPARTMENT+"平均工资:"+salary); 
	} 
}

四、实例变量

1.方法外部、类的内部定义的变量。
2.从属于对象,生命周期伴随对象始终。
3.如果不自行初始化,他会自动初始化成该类型的默认初始值(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)
【演示如下】

public class Test { 
	// 这个实例变量对子类可见 
	public String name; 
	// 私有变量,仅在该类可见 
	private double salary; 
}

五、局部变量

1.方法或语句块内部定义的变量。生命周期是从声明位置开始到”}”为止。
2.在使用前必须先声明和初始化(赋初值)。
3.局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
【演示如下】

public static void main(String[] args) {
	int i; 
	int j = i+5 ; //编译出错,变量i还未被初始化
	System.out.println(j);

应修改为

public static void main(String[] args) { 
	int i=10; 
	int j = i+5 ; 
	System.out.println(j); 
}

六、变量的命名规范

1.所有变量、方法、类名用英文等:见名知意
2.类成员变量:首字母小写和驼峰原则 : monthSalary
3.局部变量:首字母小写和驼峰原则
4.常量:大写字母和下划线:MAX_VALUE
5.类名:首字母大写和驼峰原则: Man, GoodMan
6. 方法名:首字母小写和驼峰原则: run(), runRun()


包机制

一、问题描述

存在这样一个问题:当定义了多个类的时候,可能会发生类名的重复问题。
解决方式:在java中采用包机制处理开发者定义的类名冲突问题。就好比我们平时的用电脑,一个文件夹下不能存在同名的文件,我们要是有这样的需求,但是又不想换名字,我们就可以考虑使用新建一个文件夹来存放!在我们的Java中也是这样的。

二、 包的作用

1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。Java 使用包这种机制是为了防止命名冲突,访问控制,提供搜索和定位类、口、枚举和注释等。
包语句的语法格式为:package pkg1[.pkg2[.pkg3…]];
例如,一个Something.java 文件它的内容:

package net.java.util; 
public class Something{ 
	...
 }

那么它的路径应该是 net/java/util/Something.java 这样保存的。 package(包) 的作用是把不同的java 程序分类保存,更方便的被其他 java 程序调用。


三、创建包

1.创建包的时候,你需要为这个包取一个合适的名字。之后,如果其他的一个源文件包含了这个包提供的类、接口、枚举或者注释类型的时候,都必须将这个包的声明放在这个源文件的开头。
2.包声明应该在源文件的第一行,每个源文件只能有一个包声明,这个文件中的每个类型都应用于它。
3.如果一个源文件中没有使用包声明,那么其中的类,函数,枚举,注释等将被放在一个无名的包中。


一般利用公司域名倒置作为包名;
例子:www.baidu.com 包名:com.baidu.www

四、import关键字(导入包)

为了能够使用某一个包的成员,我们需要在 Java 程序中明确导入该包。使用 “import” 语句可完成此功能。在 java 源文件中 import 语句应位于 package 语句之后,所有类的定义之前,可以没有,也可以有多条。
语法格式如下:
import package1[.package2…].(classname|*);
(注意如果在一个包中,一个类想要使用本包中的另一个类,那么该包名可以省略。要是要用到其他包下的类,就必须要先导包!)


用 import 关键字引入,使用通配符 " * " , 导入io包下的所有类!
import java.io.*;
使用 import 关键字引入指定类:
import com.bj.Hello;
【注意】类文件中可以包含任意数量的 import 声明。import 声明必须在包声明之后,类声明之前。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值