Java学习日记(二):Java语法

本系列为本人学习情况记录,部分内容来自老师课件。本文仅作为自己的学习笔记,所有内容仅代表个人观点,不一定正确。欢迎辩证。



今天的学习内容:

标识符和关键字
二进制及转换 
常量和变量
数据类型
运算符
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中可以转化为01
如果声明的布尔类型是变量,占4字节(32位),如果是数组类型,占1字节(8位)
用于判断,只表示true、false

四、基本数据类型的转化特点

取值范围小的自动转化为取值范围大的
boolean类型不能和其他类型进行转换
自动转换的顺序:byte--short--int--long--float--double
两个数据类型不同的变量相加时,会自动统一数据类型,遵循小转大规则
取值范围大的转化为取值范围小的需要强制转换,若值超过取值范围小的数据类型,数据可能精度损失或溢出,结果不可控

五、常量和变量的区别

常量:
常量是程序运行过程中值不会发生改变的量;

扫描二维码关注公众号,回复: 11981373 查看本文章

变量:
变量其实是内存中的一块存储空间,使用变量名来访问这块存储空间,定义变量时需要先声明变量的数据类型和名称,系统会根据不同的数据类型给变量分配相应的存储空间,给变量赋值就是往这块存在空间里存入数据。


六、局部变量和成员变量的区别

局部变量:在方法中定义的变量称为 局部变量
成员变量:在方法外,类的内部定义的变量称为 成员变量
静态变量:指静态的成员变量
局部变量和成员变量的区别:

*定义的范围不一样
	局部变量在方法体内,属于方法内部的变量
	成员变量在类中、方法外部,属于类的变量
*成员变量的默认值要依据成员变量的类型来(int = 0,boolean=false ,float = 0.0F ,double =0.0 )
*局部变量没有默认值,必须赋值或初始化。
*作用范围不一样:
	局部变量只能在它所属的方法体内被使用
	成员变量的作用范围在整个类中任何方法中都可以调用。
*局部变量和成员变量如果同名,他们其实是不同的变量,符合各自的运行规则

七、运算符的优先级排序

单目>算术>关系>逻辑>三目>赋值
算术运算符 (++ --) > (* / %) > (+ -)
关系运算符 (> < >= <=) > ( == !=)
逻辑运算符 ! > & >^ >|

八、关于运算符的一些要点

关系运算符返回的是布尔类型
关系运算符(> < >= <=)只针对数值类型,(== !=)针对所有类型
逻辑运算符的操作数是boolean类型
| & ^ 既是逻辑运算符,也是位运算符,根据操作数的类型进行区分
三目条件运算符 X ? Y : Z经常用来代替简单的if-else判断
扩展运算符是指,+=-=/=%=*=,且扩展运算符自带强转

猜你喜欢

转载自blog.csdn.net/qq_37733862/article/details/109236757