【学习记录2】变量、数据类型、运算符(上)
一、二进制C类二进制是计算技术中广泛采用的一种数制由德国数理哲学大师莱布尼茨于1679年发明。二进制数据是用0和1两个数码来表示的数。它的基数为2进位规则是“逢二进一”。数字计算机只能识别和处理由‘0’.‘1’符号串组成的代码。其运算模式正是二进制。二、二进制和十六进制的转换C类二进制、十进制数和十六进制的对应十进制数二进制十六进制0001112102311341004510156110671117810008910019101010a111011b121100c131101d141110e151111f十进制转二进制十进制整数转换为二进制整数采用除2取余逆序排列法。十进制数29转成二进制就是11101二进制转十进制二进制转十进制采用“权相加法”。三、注释A类注释不会出现在字节码文件中即Java编译器编译时会跳过注释语句。单行注释单行注释使//开头。多行注释多行注释以/*开头以*/结尾。注意多行注释不能嵌套使用。文档注释文档注释以/**开头以*/结尾注释中包含一些说明性的文字及一些JavaDoc标签后期写项目时可以生成项目的API例子/** * 这是文档注释主要用于开发环境IDEA、eclispe、VScode都可以用。 * 我的第一个Java程序 * author WYMRSCX * version 1.0 */ public class Welcome{ //这里是单行注释。main()方法是程序的入口。 public static void main(String[] /*行内注释arguments是单词参数的缩写 */args){ System.out.println(要说技术哪家强); System.out.println(当属中国尚学堂。); System.out.println(学堂一支穿云箭); System.out.println(万水千山来相见。); } /* 我是多行注释。 我是多行注释。 我是多行注释。 */ }四、标识符和关键字A类标识符标识符是用来给变量、类、方法以及包进行命名的。4大规则必须以字母、下划线_、美元符号$开头。其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。大小写敏感且长度无限制。不可以是Java的关键字。标识符的使用规范表示类名的标识符每个单词的首字母大写如Man,GoodMan表示方法和变量的标识符第一个单词小写从第二个单词开始首字母大写我们称之为“驼峰原则”如eat(),eatFood()Java不采用ASCII字符集而是采用Unicode字符集。因此这里字母的含义不仅仅是英文还包括汉字等等。但是不建议大家使用汉字来定义标识符【示例4-1】合法的标识符int a 3; int _123 3; int $12aa 3; int 变量1 55; //不建议使用中文命名的标识符【示例4-2】不合法的标识符int 1a 3; //不能用数字开头 int a# 3; //不能包含#这样的特殊字符 int int 3; //不能使用关键字关键字/保留字Java关键字是Java语言保留供内部使用的如class用于定义类。 我们不能使用关键字作为变量名或方法名。菜鸟雷区出于应试教育的惯性思维很多新手很可能去背上面的单词从实战思维出发我们不需要刻意去记随着学习的深入自然就非常熟悉了。五、变量A类变量的本质变量本质上就是代表一个”可操作的存储空间”空间位置是确定的但是里面放置什么值不确定。可通过变量名来访问“对应的存储空间”从而操纵这个“存储空间”存储的值。Java是一种强类型语言每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。 比如int a3;表示a变量的空间大小为4个字节。变量的声明不同数据类型的常量会在内存中分配不同的空间。double salary; //8个字节大小 long earthPopulation; //8个字节大小 int age; //4个字节大小【示例5-1】声明变量和初始化int age 18; double e 2.718281828; int i ,j; // 同一行可定义多个变量两个变量的数据类型都是int【示例5-2】试运行public class TestVariable{ public static void main(String[] args){ int age 18; int b; System.out.println(age); System.out.println(b); } }运行报错可能尚未初始化变量bSystem.out.println(b);^public class TestVariable{ public static void main(String[] args){ int age 18; int b; //只是声明了变量b没有初始化使用前必须初始化 int x 0, y 0, z 1; System.out.println(age); b 0; //变量使用之前必须初始化 System.out.println(b); System.out.println(z); } }运行1801变量的分类和作用域变量有三种类型局部变量、成员变量(也称为实例变量)和静态变量。局部变量、成员变量、静态变量的核心区别类型声明位置从属于生命周期作用域局部变量方法或语句块内部方法/语句块从声明位置开始直到方法或语句块执行完毕局部变量消失成员变量(实例变量)类内部方法外部对象对象创建成员变量也跟着创建。对象消失成员变量也跟着消失静态变量(类变量)类内部static修饰类类被加载静态变量就有效类被卸载静态变量消失。老鸟建议成员变量和静态变量不是目前重点不要过多纠结理解与否。我们学习面向对象时再重点讲解成员变量和静态变量。局部变量(local variable)方法或语句块内部定义的变量。生命周期是从声明位置开始到到方法或语句块执行完毕为止。局部变量在使用前必须先声明、初始化(赋初值)再使用。成员变量也叫实例变量 member variable【暂不用掌握讲面向对象再说】方法外部、类的内部定义的变量。从属于对象生命周期伴随对象始终。如果不自行初始化它会自动初始化成该类型的默认初始值。实例变量的默认初始值数据类型实始值int0double0.0char‘\u0000’booleanfalse静态变量类变量 static variable【暂不用掌握讲面向对象再说】使用static定义。 从属于类生命周期伴随类始终从类加载到卸载。(注讲完内存分析后我们再深入先放一放这个概念)如果不自行初始化与成员变量相同会自动初始化成该类型的默认初始值如表 2-3所示。六、常量(Constant)在Java语言中用关键字final来定义一个常量。常量一旦被初始化后不能再更改。声明格式final type varName value;【示例6-1】常量的声明及使用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); } }运行结果area 50.24circle 25.12为了更好的区分和表述一般将1、2、3、’a’、’b’、true、false、helloWorld等称为字符常量而使用final修饰的PI等称为符号常量。老鸟建议变量和常量命名规范所有变量、方法、类名见名知义类成员变量首字母小写和驼峰原则:monthSalary局部变量首字母小写和驼峰原则常量大写字母和下划线MAX_VALUE类名首字母大写和驼峰原则:Man,GoodMan方法名首字母小写和驼峰原则:run(),runRun()