一、java语法基础
1.java标识符
标识符:给“变量”,“函数名”,“类名”命名的字母组合。
标识符满足规则:
(1)只能由字母,数字,_和$组成
(2)只能由字母,_和$开头
(3)不能与关键字冲突
关键字即java中有特殊意义的单词
a.用于定义数据类型的关键字:class、interface、enum、byte、short、int、long、float、double、char、boolean、void
b.用于定义数据类型值的关键字:true、false、null
c.用于定义流程控制的关键字:if、else、switch、case、default、while、do、for、break、continue、return
d.用于定义访问权限修饰符的关键字:private、protected、public
e.用于定义类、函数、变量修饰的关键字:abstract、final、static
f.用于定义类和类之间关系的关键字:extends、ipplements
g.二个保留字:goto、const
总共53个。
特点:关键字的所有字母都为小写、不能作为标识符
(4)尽量让标识符的命名有含义:类名尽量是名词,子类尽量以父类名作结尾,变量和函数名采用陀峰法
如
类名:类名每个单词的首字母都要大写
class Ball:父类球, class FootBall:子类足球
变量名:一个单词小写,多个单词的首字母小写、后面每个单词的首字母大写
特殊的变量名:常量,命名全部大写
int sum:表示和,float myMathScore:我的数学成绩,static final AGE = 18:18岁
函数名:与变量名一致
void fly():飞,void tellTruth():说真话
补充:
接口:一种特殊的抽象类,接口里面的所有方法都是抽象方法,接口里面的所有属性都是常量,也就是说接口里面只有方法定义而没有任何方法实现。因此,接口名与类名命名规则一致。
interface Flyable:形容词,能飞的,interface ActionListener:事件处理接口
包:全部小写命名
java.util:工具包
2.变量:程序的大部分数据存储在内存(快)。
内存——房间
变量——也是房间
变量名——房间的编号
变量值(存储的数据)——房间里面住的人
变量类型——房间里面住的人种
–>(1)变量是可用的一块内存,用于存储特定类型的数据
(2)变量名是该内存的“标识”
(3)变量的最大特点:a 内容可变; b 类型不变
(4)常量是在程序不变的数据,也是在内存中存储
(5)变量和常量的区别:变与不变
(6)变量的声明:定义1个指定类型的变量,此时还没有赋值,还没有分配内存空间
String name; //叫name的人
变量的初始化:给变量赋初值,才是真正分配内存空间
name= "张三"; //分配内存,name标识该内存。
3.数据类型:基本数据类型(内置数据类型8种)+引用数据类型
基本数据类型:包括6种数字类型(包括4个整数型,2个浮点型),一种字符类型,一种布尔型
(1)数字类型
按照存储所需的字节数从少到多:
byte:比特型 (1字节),范围:[0,2的8次方-1]
short:短整型(2字节),范围:[-2的15次,2的15次方-1]
int:整型(4字节),范围[-2的31次,2的31次方-1]
long:长整型(8字节),范围[-2的63次,2的63次方-1]
float:单精度浮点数(4字节),保持8位有效数字的精度。
double:双精度浮点数(8字节),保持16位有效数字的精度。
注意:
a.long类型必须加 L
b.float类型必须加 F
c.double类型的D可以省略
(2)布尔类型:1字节,只能是true或false
注意:布尔类型无法和数字类型进行相互的赋值。
(3)字符类型:2字节,所有的字符在java的内存中以unicode编码[国际统一字符编码,支持宽字符
如下人为宽字符:
注意:
a.java中,char允许存放中文
char c = 'a'; 2字节
char b = '人';2字节
b.使用单引号
c.字符在内存中以ascii码方式存储 unicode>ascii
常用字符的ascii码范围
字符 ascii码
—————————
[0,9] [48,57]
[A,Z] [65, 90]
[a,z] [97,122]
空格 32
—————————
转义字符:
n :换行
b :退格
t :4个空格
:8进制
4.常用运算
运算:由运算数+运算符组成,又称之为“表达式计算”
注意:在给定的时间点,所有的运算都有唯一确定的结果
运算符的分类:
a.结合性 :
左结合性(当优先级相同时,从左往右算) 1+2+3+4
右结合性(从右往左算) i = j = k = 10;
b.优先级:当出现2个或以上运算符时,优先级高的先运算。
1+2*3; *号优先级高于+号
c.运算数个数:
单目:只需要一个运算数 。++i, -i ,!b
双目:需要2个运算数.1+3 true&&false
三目:逻辑表达式?值1:值2
按运算的类型分为:
(1)数学运算: 运算结果是数字,左结合
优先级从高到低:-:取负>*(乘)/ (除以) %(取模,即求余数)>+(加) -(减)
注意:
a.四则运算的结果是2个运算数中精度最高的类型
b.四则运算的结果至少4个字节
(2)比较运算:结果是boolean类型变量值,一般很少连用,优先级都相同,左结合
>(大于) >=(大于或等于) <(小于) <=(小于或等于)
==(等于,特别注意) !=(不等于)
(3)逻辑运算:结果是boolean类型变量值
按优先级从高到低:!(非)>&&(与,且)>||(或)
如:
!true 等于 false:取反
true&&true等于true:只有2个为真,才为真,否则就是假
false&&false等于true
false&&true等于false
false&&false等于false
true||true等于true:只要1个为真,就是真
true||false等于true
true||true等于false
false||false等于false
注意两种短路的情况:
false&&被忽略语句=false
true||被忽略语句=true
(4)赋值运算:右结合性,优先级最低
注意:
a.赋值运算的左值只能是“变量”
b.赋值运算也是有“返回值”的,就是左值或右值
赋值运算的简化:
i=i+1 ==> i+=1 ==> i++
(5)位运算:将运算数转换成2进制,逐位进行运算
a.按位与&
int i = 7&3;//3
7: 111
3: 011
—————-
i: 011 ==>3
b.按位或|
7: 111
3: 011
—————-
i: 111 ==>7
c.按位异或^(两位如果相同=0,如果不同=1)
7: 111
3: 011
—————-
i: 100 ==>4
d. 左移<< ,乘以2的n次方
int i =7<<2 //相当于乘以2的平方,7转换成二进制00000111,左移两位==> 00011100,即28
e.左移<< ,除以2的n次方,往小取整
int i = 7>>2//00000111 ==>00000001,即1
(6) 三目运算
变量 = 逻辑表达式?值1:值2
当逻辑表达式为true时,取值1
当逻辑表达式为false时,取值2
如:i = 3>2?5:6等于5
注意:
a.三目运算符的后2个运算数必须有明确结果
b.三目运算符也是有返回值的
上一篇
下一篇
资源内容 今天为大家带的是评分9.6分的BBC纪录片《恐龙星球》系列。资源包括全片6集,每集30分钟左右。 怎么下载 社群 ...
文 / 桔媽育兒 整編 / 小桔子媽媽自從寶寶出生之後,媽媽們把大部分的時間也都獻給瞭寶寶,看著寶寶的一眸一笑,一點點地成長...