本系列为本人学习情况记录,部分内容来自老师课件。本文仅作为自己的学习笔记,所有内容仅代表个人观点,不一定正确。欢迎辩证。
今天的学习内容:
标识符和关键字
二进制及转换
常量和变量
数据类型
运算符
Scanner的简单使用
整理之后总结了几个重要知识点:
标识符作用及命名规则
关键字及保留字
基本数据类型及其特点
基本数据类型的转化特点
常量和变量的区别
局部变量和成员变量的区别
运算符的优先级排序
一、标识符作用及命名规则
标识符的作用:用于定义常量、变量、方法、类和包等的名称。
标识符的命名规则:
必须以字母、下划线_、美元符$开头
由字母、下划线_、美元符$、数字组成
不能使用关键字和保留字
大小写敏感
命名最好见名知意
类名和接口命每个单词首字母大写
方法名和变量名第一个单词全小写,其余首字母大写
常量全部单词大写
包名全小写
二、关键字及保留字
关键字:一些有特定含义并有特殊用途的字符串,java关键字全部为小写。
关键字 | |||||||||
---|---|---|---|---|---|---|---|---|---|
abstract | boolean | break | byte | case | catch | char | class | const | continue |
default | do | double | else | extends | final | finally | float | for | goto |
if | implements | import | instanceof | int | interface | long | native | new | package |
private | protected | public | return | short | static | strictfp | super | switch | synchronized |
this | throw | throws | transient | try | void | volatile | while | assert | enum |
保留字:没有定义用途,但保留备用。goto、const
三、基本数据类型及其特点
序号 | 数据类型 | 大小/位 | 可表示的数据范围 |
---|---|---|---|
1 | byte(位) | 8 | -128~127 |
2 | short(短整数) | 16 | -215~215-1 |
3 | int(整数) | 32 | -231~231-1 |
4 | Long(长整数) | 64 | -263~263-1 |
5 | loat(单精度) | 32 | -231~231-1 |
6 | double(双精度) | 64 | -263~263-1 |
7 | boolean(布尔类型) | 如果声明的布尔类型是变量,占4字节(32位),如果是数组类型,占1字节(8位) | true、false |
8 | char(字符) | 16 | 0~232 |
char字符型的特点:
用单引号包裹,’a’、’王’,字符串使用双引号
是无符号型的,可以表示一个整数,不可以表示负数
表示任意在Unicode编码表中存在的单个有效字符符号
boolean类型的特点:
Boolean类型在java中不能和其他类型进行转换,在js中可以转化为0、1
如果声明的布尔类型是变量,占4字节(32位),如果是数组类型,占1字节(8位)
用于判断,只表示true、false
四、基本数据类型的转化特点
取值范围小的自动转化为取值范围大的
boolean类型不能和其他类型进行转换
自动转换的顺序:byte--short--int--long--float--double
两个数据类型不同的变量相加时,会自动统一数据类型,遵循小转大规则
取值范围大的转化为取值范围小的需要强制转换,若值超过取值范围小的数据类型,数据可能精度损失或溢出,结果不可控
五、常量和变量的区别
常量:
常量是程序运行过程中值不会发生改变的量;
变量:
变量其实是内存中的一块存储空间,使用变量名来访问这块存储空间,定义变量时需要先声明变量的数据类型和名称,系统会根据不同的数据类型给变量分配相应的存储空间,给变量赋值就是往这块存在空间里存入数据。
六、局部变量和成员变量的区别
局部变量:在方法中定义的变量称为 局部变量
成员变量:在方法外,类的内部定义的变量称为 成员变量
静态变量:指静态的成员变量
局部变量和成员变量的区别:
*定义的范围不一样
局部变量在方法体内,属于方法内部的变量
成员变量在类中、方法外部,属于类的变量
*成员变量的默认值要依据成员变量的类型来(int = 0,boolean=false ,float = 0.0F ,double =0.0 )
*局部变量没有默认值,必须赋值或初始化。
*作用范围不一样:
局部变量只能在它所属的方法体内被使用
成员变量的作用范围在整个类中任何方法中都可以调用。
*局部变量和成员变量如果同名,他们其实是不同的变量,符合各自的运行规则
七、运算符的优先级排序
单目>算术>关系>逻辑>三目>赋值
算术运算符 (++ --) > (* / %) > (+ -)
关系运算符 (> < >= <=) > ( == !=)
逻辑运算符 ! > & >^ >|
八、关于运算符的一些要点
关系运算符返回的是布尔类型
关系运算符(> < >= <=)只针对数值类型,(== !=)针对所有类型
逻辑运算符的操作数是boolean类型
| & ^ 既是逻辑运算符,也是位运算符,根据操作数的类型进行区分
三目条件运算符 X ? Y : Z经常用来代替简单的if-else判断
扩展运算符是指,+=、-=、/=、%=、*=,且扩展运算符自带强转