Java基本语法-变量


1.关键字和保留字
关键字(keyword)定义:被Java语言赋予了特殊含义,用作专门用途的字符串(单词)
特点:关键字中所有字母都为小写
官方网址:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
用于定义数据类型的关键字:classinterfaceenumyteshortintlongfloatdoublecharooleanvoid
用于定义流程控制的关键字:ifelseswitchcasedefaultwhiledoforreakcontinue eturn
用于定义访问权限修饰符的关键字:privateprotectedpublic
用于定义类,函数,变量修饰符的关键字:abstractfinalstaticsynchronized
用于定义类与类之间关系的关键字:extendsimplements
用于定义建立实例及引用实例,判断实例的关键字:new hissuperinstanceof
用于异常处理的关键字:trycatchfinally hrow hrows
用于包的关键字:packageimport
其他修饰符关键字:nativestrictfp ransientvolatileassert
用于定义数据类型值的字面值:truefalse ull

保留字(reserved word)
Java保留字:现有Java版本尚未使用,但以后版本可能会用作关键字使用,自己命名标识符时要避免使用这些保留字:gotoconst

2.标识符(Identifier)
标识符:Java对各种变量、方法、类等要素命名时使用的字符序列称为标识符;(类名、变量名、方法名、接口名、包名等)
技巧:凡是自己可以起名字的地方都叫标识符

定义合法标识符规则:(必须严格遵守,否则无法通过编译)
由26个英文字母大小写,0-9,_或$组成;
数字不可以开头;
不可以使用关键字和保留字,但能包含关键字和保留字;
Java中严格区分大小写,长度无限制;
标识符不能含空格;

Java中的名称命名规范:(不遵守编译运行都可以通过,但最好遵守)
包名:多单词组成时所有字母都小写:xxxyyyzzz
类名、接口名:都单词组成时,所有单词的首字母大写:XxxYyyZzz
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
常量名:所有字母都大写,多单词时每个单词用下划线连接:XXX_YYY_ZZZ
注意1:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”
注意2:Java采用Unicode字符集,因此标识符也可以用汉字声明,但是不建议使用。
更多细节可以参考《代码整洁之道》

3.变量
变量的概念:
内存中的一个存储区域;
该区域的数据可以在同一类型范围内不断变化;
变量是程序中最基本的存储单元,包含变量类型,变量名和存储的值。

变量的作用:用于在内存中保存数据;

使用变量注意:
Java中每个变量必须先声明后使用;
初始化值;
变量的作用域:一对{}之间有效;
同一个作用域内,不能定义重名的变量;
使用变量名来访问这块区域的数据;

变量的分类:
分类方式1:按照数据类型区分
基本数据类型:
整型:byteshortintlong
浮点型:floatdouble
字符型:char
布尔型:boolean
引用数据类型:
类(包括String)、接口、数组
分类方式2:按照声明的位置不同:
成员变量(属性)
局部变量

整型:byte(1个字节=8bit)short(2个字节)int(4个字节)long(8个字节)
byte范围:-128 - 127;
一般情况下,我们习惯将整型定义为int;
定义long型变量时,需要以l或L结尾;long n = 123L;
整形常量,默认为int型,例如int n = 12 + 13;其中12.13默认为int型。

浮点型:float(4个字节)double(8个字节)
float的表数范围比long还大;
float:单精度;double:双精度;
通常声明浮点型变量时,习惯使用double;
定义float型变量时,需要以f或F结尾;
浮点型常量,默认为double型。

字符型:char
使用一对‘’表示
一对单引号内,只能包含一个字符:表示方式如下
(1)char c = 'a';
(2)char c = ' ';char c = ' ';
(3)char c = 'u3456';(2)两个打印出来就是换行和制表符(空格);(3)是Unicode值来表示字符的声明定义方式;

布尔型:boolean
只有两个值:true或者false;
通常使用在if-else或者循环的条件表达式中。

基本数据类型变量间的运算:
(1)自动类型提升:当容量小的数据类型变量与容量大的数据类型变量做运算时,结果为容量大的数据类型。
说明:
此时的运算只包含基本数据类型中的7种,唯独不包括布尔型!
byteshortchar<int<long<float<double
即byteshortchar这三者两两做运算或者任意一个和自己做运算之后的结果都至少用int来接收。
整型常量默认为int型。
浮点型常量默认为double类型。

注意:此时的容量的大小,不是指占用内存的空间的大小,而是指表数范围的大小。long(8个字节)<float(4个字节)。

(2)强制类型转换(是自动类型提升的逆运算):将容量大的数据类型的变量转换为容量小的数据类型的变量。需要使用强转符()。
注意:使用强转符,可能会损伤精度。

String:字符串
1.String属于引用数据类型;不是基本数据类型;
2.使用一对“”来声明;
3.String可以和8种基本数据类型做运算(连接运算‘+’),运算的结果为:String型。
4.不能将基本数据类型直接赋值为String类型;
5.不能将字符串类型强转为基本数据类型。

4.关于进制:

所有数字在计算机底层都是以二进制形式存在。
对于整数,有四种表示方法:
二进制(binary):0,1,满二进一,以Ob或OB开头。
十进制(decimal):0-9,满10进1。
八进制(octal):0-7,满8进1,以数字0开头。
十六进制(hex):0-9及A-F,满16进1。以Ox或OX开头表示。此处的A-F不区分大小写。
注意:以上进制描述的0都是数字0。

二进制:
Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位。

二进制的整数有如下三种形式:
原码:直接将一个数值换成二进制数。最高位是符号位。
负数的反码:是对原码按位取反,只有最高位(符号位)确定为1。
负数的补码:其反码加1。

计算机以二进制补码的形式保存所有的整数。
正数的原码,反码,补码都相同。
负数的补码是其反码+1。

原文地址:https://www.cnblogs.com/1185937986-jili/p/12808988.html