Java学习笔记(四)
文章目录
Java语言基础(二)
一、基本数据类型
Java中有8种基本数据类型来存储数值、字符和布尔值。
1.1 整数类型
整型数据在Java程序中有3种表现形式,分别是十进制、八进制(以0开头)和十六进制(以0X或0x开头)。
整型数据根据它所占内存大小的不同,可分为 byte、short、int 和 long 4种类型。
Java 把整数常量的数据类型均视为int 型,对于 long型值,若赋给的值大于 int 型的最大值或小于 int 型的最小值,则需要在数字后面加L或l,表示该数值为长整数。
1.2 浮点类型
Java语言中浮点类型分为单精度浮点类型(float)和双精度浮点类型(double)。
默认情况下,小数都会被看成double类型,若使用float型小数,则必需要在小数后面添加F或f。double型小数后面可加或不加后缀D或d。
1.3 字符类型
1、char型
字符类型(char)用于存储单个字符,占用16位(两个字节)的内存空间。在定义字符型变量时,要以单引号表示。
2、转义字符
转义字符是一种特殊的字符变量,它以反斜杠 “ \ " 开头,后跟一个或多个字符。
将转义字符赋值给字符变量时,与字符常量一样需要使用单引号,
1.4 布尔类型
布尔类型又称逻辑类型,通过关键字boolen来定义布尔类型变量,只有 true 和 false 两个值。分别代表布尔逻辑中的“真”和“假”。布尔值不能与整数类型进行转换。通常用在流程控制中作为判断条件。
二、变量与常量
2.1 标识符和关键字
1、标识符
Java 中的包、类、方法、参数和变量的名字,可由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是Java 中的保留关键字。
在Java语言标识符中的字母严格区分大小写,其使用Unicode标准字符集,最多可以标识65535个字符,因此Java语言中的字母不仅包括通常的拉丁文字,还包括汉字、日文以及其他许多语言中的文字。
2、关键字
Java 中的保留关键字:
abstract | const | finally | interface | short | transient |
---|---|---|---|---|---|
assert | continue | float | long | static | try |
boolean | default | long | native | strictfp | void |
break | do | goto | new | super | volatile |
byte | double | if | package | switch | while |
case | else | implements | private | synchronized | |
catch | enum | import | protected | this | |
char | extends | instanceof | public | throw | |
class | final | int | return | throws |
goto、const 是C++保留的关键字,在Java中没有任何意义;
字面常量 true、false和null不是关键字,但也不能用作标识符。
2.2 声明变量
在程序运行过程中,空间内的值是变化的,这个内存空间就称为变量。给这个空间取的名字称为变量名。内存空间内的值就是变量值。
变量的命名规则:
变量名必须是合法标识符。变量名不可以使用Java中的关键字。变量名不能重复。应选择有意义的单词作为变量名。
2.3 声明常量
在程序运行过程中一直不会改变的量称为常量(constant),通常也被称为“final 变量”。声明常量语法如下:
final 数据类型 常量名称[=值]
常量名通常使用大写字母。
常量在整个程序中只能被赋值一次。当定义的final变量属于“成员变量”时,必须在定义时就设定它的初值。
2.4 变量的有效范围
在类体中所定义的变量被称为成员变量,成员变量在整个类中都有效。类的成员变量又可分为静态变量和实例变量两种。在成员变量的类型前加上关键字static,称为静态变量。静态变量的有效范围可以跨类,以“类名.静态变量”的方式在其他类中使用。
在类的方法体中定义的变量称为局部变量,局部变量只能在当前代码块中有效。局部变量与成员变量的名字相同时,此成员变量将被隐藏,即这个成员变量将在此方法中暂时失效。
三、运算符
3.1 赋值运算符
赋值运算符“=”是一个二元运算符,其功能是将右方操作数所含的值付给左方的操作数。左方操作数必须是一个变量,右边操作数可以是任何表达式,包括变量、常量、有效的表达式。
3.2 算术运算符
算数运算符主要有+(加)、-(减)、*(乘)、/(除)、%(求余),都是二元运算符。
3.3 自增和自减运算符
自增(++)、自减(–)运算符都是单目运算符。作用是使变量的值增1或减1.放在操作数前面的自增、自减运算符,会先将变量的值加1或减1,然后再使用该变量的值参与表达式的运算;放在操作数后面的自增、自减运算符,会先使用变量参与表达式的运算,然后再将该变量的值加1或减1。
3.4 关系运算符
比较运算符属于二元运算符,用于程序中的变量之间、变量和自变量之间以及其他类型的信息之间的比较。比较运算符的运算结果是boolean型。
3.5 比较运算符
逻辑运算符包括&(&&)(逻辑与)、||(逻辑或)、!(逻辑非)。逻辑运算符的操作元必须是boolean型数据。
逻辑运算符”&“会判断两个表达式,属于“非短路”运算符;而“&&”当第一个表达式为false时则不会去判断第二个表达式,直接输出结果,属于“短路”运算符。
3.6 位运算符
包括按位与“&”、按位或“|“、按位取反”~“、按位异或”^“、位移操作(左移 ”<<“、右移 ”>>“、无符号右移 ”>>>“)
">>>“运算符将用0填充高位;”>>"运算符用符号位填充高位。
3.7 三元运算符
三元运算符格式为:
条件式?值1:值2
三元运算符的运算规则为:若条件式的值为true,则整个表达式取值1,否则取值2。
3.8 运算符优先级
四、数据类型转换
类型转换是将一个值从一种类型更改为另一种类型的过程。
从低精度数据类型向高精度数据类型转换,则永远不会溢出;而把高精度数据类型向低精度数据类型转换则必然会信息丢失,有可能失败。
数据类型转换有两种方式:隐式转换和显示转换。
4.1 隐式类型转换
从低级类型向高级类型的转换,系统将会自动执行,程序员无须进行任何操作,这种类型的转换称为隐式转换。类型按精度从低到高排列顺序:byte<short<int<long<float<double。
4.2 显式类型转换
把高精度的变量的值赋给低精度的变量时,必须使用显式类型转换运算(又称强制类型转换)。语法如下:
(类型名)要转换的值
当执行显式类型时可能会导致精度损失。