Java学习笔记 - 数据类型与运算符【上】

2.1 注释

为了方便程序的阅读,Java语言允许程序员在程序中写上一些说明性的文字,用来提高程序的可读性,这些文字性的说明就称为注释。 注释不会出现在字节码文件中,即Java编译器编译时会跳过注释语句。 在Java中根据注释的功能不同,主要分为单行注释、多行注释和文档注释。

  • 单行注释: 使用“//”开头,“//”后面的单行内容均为注释。

  • 多行注释: 以“/”开头以“/”结尾,在“/”和“/”之间的内容为注释,我们也可以使用多行注释作为行内注释。但是在使用时要注意,多行注释不能嵌套使用。

  • 文档注释: 以“/**”开头以“*/”结尾,注释中包含一些说明性的文字及一些JavaDoc标签(后期写项目时,可以生成项目的API)

【示例2-1】认识Java的三种注释类型

/**  
 * Welcome类(我是文档注释)  
 * @author 高淇  
 * @version 1.0  
 */  
public class Welcome {  
	//我是单行注释  
	public static void main(String[] args/*我是行内注释 */) {  
		System.out.println("Hello World!");  
	}  
	/*  
	 	我是多行注释!  
	 	我是多行注释!  
	 */  
}

2.2 标识符

标识符是用来给变量、类、方法以及包进行命名的,如Welcome、main、System、age、name、gender等。标识符需要遵守一定的规则:

标识符必须以字母下划线_、**美元符号$**开头。

标识符其它部分可以是字母下划线“_”美元符“$”数字的任意组合。

Java 标识符大小写敏感,且长度无限制

标识符不可以是Java的关键字。

标识符的使用规范

表示类名的标识符:每个单词的首字母大写,如Man, GoodMan

表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写,我们称之为“驼峰原则”,如eat(), eatFood()

【注意】:Java不采用通常语言使用的ASCII字符集,而是采用Unicode这样标准的国际字符集。因此,这里字母的含义不仅仅是英文,还包括汉字等等。但是不建议大家使用汉字来定义标识符!

【示例2-2】合法的标识符

int  a = 3;
int  _123 = 3;
int  $12aa = 3;
int  变量1 = 55;  //合法,但是不建议使用中文命名的标识符

【示例2-3】不合法的标识符

int  1a = 3;   //不能用数字开头
int  a# = 3;   //不能包含#这样的特殊字符
int  int = 3;  //不能使用关键字

课堂测试代码:

/**
 * 测试标识符的用法
 * @author 高淇
 *
 */
public class TestIdentifer {
     
    //能力是练出来的,不是看书看出来的。对于初学者来说,再简单的代码也一定要敲一下!
    public static void main(String[] args) {
        int  a123 = 1;
        //int  123abc = 2;        //数字不能开头
        int  $a = 3;
        int  _abc = 4;
        //int  #abc = 5;
         
        int  年龄 = 18;        //可以使用汉字,但是一般不建议
         
        //int class = 2;        //关键字不能作为标识符
         
    }
}

2.3 Java中的关键字/保留字

Java关键字是Java语言保留供内部使用的,如class用于定义类。 关键字也可以称为保留字,它们的意思是一样的,我们不能使用关键字作为变量名或方法名。

表2-1 Java中的关键字/保留字
abstractassertbooleanbreakbytecase
catchcharclassconstcontinuedefault
dodoubleelseextendsfinalfinally
floatforgotoifimplementsimport
instanceofintinterfacelongnativenew
nullpackageprivateprotectedpublicreturn
shortstaticstrictfpsuperswitchsynchronized
thisthrowthrowstransienttryvoid
volatilewhile

2.4 变量(variable)

2.4.1 变量的本质

变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。

Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。 比如,int a=3; 表示a变量的空间大小为4个字节。

变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储空间。

变量的声明

格式为:

type  varName [=value][,varName[=value]...]; 
//[]中的内容为可选项,即可有可无
数据类型  变量名  [=初始值] [,变量名  [=初始值]…];

【示例2-4】 声明变量:

double  salary;
long  earthPopulation;
int  age;

不同数据类型的常量会在内存中分配不同的空间,如图2-1所示。

1.png

图2-1 声明变量的内存示意图

注意事项

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。

  • 变量名必须是合法的标识符

  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

【示例2-5】在一行中声明多个变量

int  i ,j; // 两个变量的数据类型都是int

老鸟建议

不提倡这种"一行声明多个变量"风格,逐一声明每一个变量可以提高程序可读性。

【示例2-6】可以将变量的声明和初始化放在同一行中

int  age = 18;    
double  e = 2.718281828;

2.4.2 变量的分类

从整体上可将变量划分为局部变量、成员变量(也称为实例变量)和静态变量。

表2-2 局部变量、成员变量、静态变量的区别
类型声明位置从属于生命周期
局部变量方法或语句块内部方法/语句块从声明位置开始,直到方法或语句块执行完毕,局部变量消失
成员变量
(实例变量)
类内部,方法外部对象对象创建,成员变量也跟着创建。对象消失,成员变量也跟着消失
静态变量(类变量)类内部,static修饰类类被加载,静态变量就有效;类被卸载,静态变量消失

老鸟建议

成员变量和静态变量不是目前重点,不要过多纠结理解与否。我们学习面向对象时,再重点讲解成员变量和静态变量

局部变量(local variable)

方法或语句块内部定义的变量。生命周期是从声明位置开始到到方法或语句块执行完毕为止。局部变量在使用前必须先声明、初始化(赋初值)再使用。

【示例2-7】局部变量

public void test() {
   int i;
   int j = i+5 ; // 编译出错,变量i还未被初始化 
} 
 
public void test() {
   int i;
   i=10;
   int j = i+5 ; // 编译正确
}
成员变量(也叫实例变量 member variable)

方法外部、类的内部定义的变量。从属于对象,生命周期伴随对象始终。如果不自行初始化,它会自动初始化成该类型的默认初始值。

表2-3 实例变量的默认初始值
数据类型实始值
int0
double0.0
char‘\u0000’
booleanfalse

【示例2-8】实例变量的声明

public class Test {
	int i;
}
静态变量(类变量 static variable)

使用static定义。 从属于类,生命周期伴随类始终,从类加载到卸载。 (注:讲完内存分析后我们再深入!先放一放这个概念!)如果不自行初始化,与成员变量相同会自动初始化成该类型的默认初始值,如表 2-3所示。

课堂练习1:变量的声明并赋值

public class LocalVariableTest {
  public static void main(String[ ] args) {
      boolean flag = true;  // 声明boolean型变量并赋值
       char c1, c2;   // 声明char型变量
       c1 = '\u0041';   // 为char型变量赋值
      c2 = 'B';   // 为char型变量赋值
      int x;   // 声明int型变量
      x = 9;  //为int型变量赋值  
       int y = x;  // 声明并初始化int型变量
       float f = 3.15f;   // 声明float型变量并赋值
      double d = 3.1415926;  //声明double型变量并赋值
         }
}

课堂代码:

/**
 * 测试变量
 * 
 * @author 高淇
 *
 */
public class TestVariable {

    int a;            //成员变量, 从属于对象; 成员变量会自动被初始化
    static  int  size;   //静态变量,从属于类
    
    public static void main(String[] args) {

        {
            int age;        //局部变量,从属于语句块;
            age = 18;
        }
        
        int salary = 3000;    //局部变量,从属于方法

        int gao = 13;
        System.out.println(gao);

        int i;
    //    int j = i + 5; // 编译出错,变量i还未被初始化
        
    }
}

2.5 常量(Constant)

常量通常指的是一个固定的值,例如:1、2、3、’a’、’b’、true、false、”helloWorld”等。

在Java语言中,主要是利用关键字final来定义一个常量。 常量一旦被初始化后不能再更改其值。

声明格式为:

final  type  varName = value;

【示例2-9】常量的声明及使用

public class TestConstants {
	public static void main(String[] args) {
		final double PI = 3.14;
		// PI = 3.15; //编译错误,不能再被赋值! 
		double r = 4;
		double area = PI * r * r;
		double circle = 2 * PI * r;
		System.out.println("area = " + area);
		System.out.println("circle = " + circle);
	}
}

为了更好的区分和表述,一般将1、2、3、’a’、’b’、true、false、”helloWorld”等称为字面常量,而使用final修饰的PI等称为符号常量

老鸟建议

  • 变量和常量命名规范(规范是程序员的基本准则,不规范会直接损害你的个人形象):
  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则: monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则: Man, GoodMan
  • 方法名:首字母小写和驼峰原则: run(), runRun()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值