一、java标识符
1.标识符是编程时使用的名字:Java对包、类、接口、方法、变量、常量(不包括项目名)等命名时使用的字符序列称为标识符。
2.Java标识符有如下命名规则:
1、标识符由字母、数字、 “_”、 “$”组成,且首字母不能是数字;
2、不能把Java关键字作为标识符;
3、标识符没有长度限制;
4、标识符对大小写敏感。
3.标识符的命名规则建议
规范(类、接口、方法名、变量名采用驼峰式,包名一律小写,常量一律大写并且有多个单词组成时以_间隔)、易读(简短)、含义清楚(见名知意)。
二.数据类型
1.一个int(数据类型),两个作用。第一,决定内存空间的大小。第二,决定能存储的东西,不能存储的东西。(8位,即位数)
2.定义数据类型的时候,观察变量到底是什么类型的。比如人的年龄(一般不超过150),那我们就可以定义成short(16位,-2e15——2e15-1),甚至byte(8位,-2e7——2e7-1)。 (现在使用数据类型基本都是int,因为现在计算机比较先进,内存都够用,可以怎么顺手怎么来。)
3.在二进制逻辑中Java规定1为真0为假.
4. 可进入https://unicode-table.com/en/#cjk-unified-ideographs查看unicode码。
5. “+”为连字符,连字符的使用如下:
public classShujuleixing{
public static void main(String [] args){
char letter='\n';
System.out.println("woshi"+letter+"我是");
}
}
6.unicode使用十六进制编码使用英文单引号括起来十六进制字符代码值来表示单个字符,格式为'\uXXXX',其中u是约定的前缀,为Unicode的第一个字母,例如:
public classShujuleixing{
public static void main(String [] args){
char letter='\n';
char c1='\u0061';
System.out.println("xingtang"+letter+"兴唐"+"c1");
}
}
效果如下:
7.转义字符其实就是为了让界面好看。如:
public class Shujuleixing{
publicstatic void main(String [] args){
System.out.println("xingtang\nsss");
}
}
三.基本类型转换
1.自动类型转换
将表示范围小的数据类型赋值给表示范围大的数据类型时,Java自动使用隐式类型完成数据类型转换,即:
低---------------------------------------------------------------------------------------------------------------------->高
byte ------------> short/char ------------> int ------------> long ------------> float ------------> double。
2.强制类型转换
当把级别高的变量赋值给级别低的变量时,必须使用显式类型转换。显示转换格式:(要转换的类型)被转换的值。
注意:可能导致数据精度损失或溢出。
四.变量和常量
1.变量
(1)变量概述:Java通过定义变量来申请数据存储空间,并通过变量名获取或改变存储的值。
(2)变量命名规则:
变量名必须遵循标识符命名规则;
首字母必须小写,如果由多个单词组成,从第二个单词开始首字母必须大写;
变量名一般由名词组成。
(3)变量定义:[访问控制符] [修饰符] 数据类型 变量名 [ = 初始值];
(4) 示例
private static int x;
static int y = 20;
2.常量
(1) 常量概述
常量有final关键字修饰
常量是值不可变的变量,即不能重新赋值(有别于“值不变”)
常量在声明时必须进行初始化
(2)常量定义
[访问控制符] [修饰符] final 数据类型 常量名 = 初始值;
(3) 示例
static final double PI = 3.1415926;
3.变量常量区别
(1) 变量:在符合标识符的前提下,首字母小写,之后每个单词的首字母大写;
常量:在符合标识符的前提下,所有字母大写,多个单词之间用下划线间隔;
值是否可以重新改变:
(2) 变量:变量的值可以改变;
常量:常量的值初始化以后不允许再次改变;
是否使用final关键字:
(3)变量:一定没有final关键字;
常量:必须使用final关键字修饰;
是否需要初始化:
(4)变量:只有局部变量在使用前必须赋值(不是初始化);
常量:必须在声明的时候初始化;
五.java运算符
(1) Java语言支持如下运算符:
算术运算符:+、-、*、/、%、++、- -
赋值运算符:=、+=、-=、*=、/=等等
位运算符:~、&、|、^
逻辑运算符:!、&&、||
关系运算符:>、<、>=、<=、= = 、!=
移位运算符>>、<<、>>>(无符号右移)
(2)关于算术运算符:Java按照运算符两边最高精度保留结果,即如果int类型数据与float类型数据进行运算,结果为float类型。
(3)关于三目运算符:三目运算符语法如下:<逻辑表达式> ? <表达式1> : <表达式2>
当逻辑表达式为真时,表达式1有效;当逻辑表达式为假时,表达式2有效。
(4)关于位运算:位运算是将数据先转化为二进制数补码形式,再逐位(bit)按规则计算。
(5)逻辑运算符(&&、||)与位运算符(&、|)的区别:
a. 逻辑运算符只能针对boolean类型进行逻辑运算,而位运算还可以对数值进行逻辑运算。
b.逻辑运算符有短路情况,即前面的表达式可以得到最终结果时,后面的表达式将不被执行。
(6)关于移位运算符:
移位运算符有三种:
>> 右移运算符:将二进制数据进行右移运算。
<< 左移运算符:将二进制数据进行左移运算。
>>> 无符号右移运算符:无论正负,都在高位插入0。
六.java表达式
(1)表达式是符合一定语法规则的运算符和操作数的序列。
(2)运算符的优先级从高到低的顺序进行,优先级相同的运算符按照事先约定的结合方向进行,运算符优先级如下: