目录
1 Java标识符
2 关键字
3 注释
4.数据类型
5 变量定义
6 类型转换
7.五条字面值规则与五条运算规则
8 运算符
9 分支结构
10 循环结构
11 成员变量与局部变量
12.方法
1.Java标识符可以由数字,字母,下划线,美元符号$组成
2.不能以数字开头
3.Java严格区分大小写
4.命名最好见名知义,方便代码阅读,不要使用拼音或者中英文混杂
5.不能使用关键字(共50个)
1.Java提前保留的全小写单词,共50个
2.const,goto为保留字,目前还没有明确意义
3.true,false,null也不可做为标识符
解释代码,方便看代码的人理解代码,程序运行时会自动忽略注释,并不会执行,注释分三种
1.单行注释:// 解释一行的内容
2.多行注释:/**/ 可以注释多行内容
3.文档注释:/** */ 不仅可以注释多行内容,还可以添加代码作者,日期等信息
数据类型分两种:基本类型,引用类型
4.1基本类型:共八种,其中包括整数型(byte,short,int long),浮点型(float,double),字符型(char),布尔类型(boolean)
4.2 引用类型 String ,int引用类型Integer,double引用类型Double等
两种方式:
5.1 定义且赋值,例: int a=1;
5.2先定义后赋值 ,例: int a; a=1;
类型转换取决于类型的取值范围,不是字节数,字节数只能做大概参考
小转大,直接转(隐式转换)
大转小 ,强制转(显示转换) 例:int a=128 byte b=(byte) a;
浮变整,小数没:浮点型转整形直接舍弃所有小数部分,不会四舍五入
字面值规则:
1.整数默认为int类型
2.小数默认为double类型
3.byte,short,char因比int小,可使用范围内的值直接赋值
4.long类型字面值后缀L,float类型后缀F,double后缀D
5.进制前缀:0b--2进制 0---8进制 0x---16进制
运算规则
运算结果的数据类型与参与运算的最大类型保持一致
3种比int小的类型,运算时会先升成int再参与运算
整数参与运算后的结果一旦溢出,数据就错误
浮点数运算不精确
浮点数的特殊值 infinity NaN
1.普通四则运算符:+-*/ 不会改变变量本身的值,如果想要改变变量本身的值,需要把表达式的结果重新赋值给变量
2.取余(求模mod):取余数,整除余数为0
3.自增自增自减:
自增++: 表示变量本身的值+1
自减--:表示变量本身的值-1
自增符号在前,先改变变量本身的值,再使用,符号在后,先使用,再改变变量本身的值
4.比较运算符
!= , == , >< ,<= , >==,比较结果都是boolean类型
5.逻辑运算符
&&:双与(短路与):逻辑与单于相同,全真为真,只不过增加了短路效果
||:双或(短路或):逻辑与单或相同,全假才假,只不过增加了短路效果
6.三目运算符:格式:1?2:3 1为表达式,若1真,取2,若1假取3
7.赋值运算符
=:普通赋值运算符,等号右边的值交给等号左边的变量保存
复合赋值运算符:+= -= *= /= 主要是可以简写&类型的自动转换
单分支结构 if 多分支结构 嵌套分支结构 if else if 选择结构 switch case
switch(a){ case 1: 操作1; case 2: 操作2; case 3: 操作3; default;
执行顺序:先拿着变量a的值,一词与每个case后的值作比较,相等,执行 当前case后的操作,如果操作后没有加break,就继续执行下一个case,一直没有遇到break,就会发生穿透现象,包括default
另:
变量a支持byte short char int String
变量a数据类型与case后的value的数据类型必须一致
case的个数和break是否添加根据具体业务决定
如果添加了default保底选项,没有被任何case匹配到就会执行default保底选项
1. for循环
for(开始条件; 循环条件; 更改条件){ 循环体 }
注意:循环从哪开始,到哪结束,循环变量如何变化,for循环能执行多少次,取决于循环变量能取到几个值
开始条件只会在第一轮开始的时候执行一次
可以通过break直接结束当前循环剩余的所有轮
可以通过continue结束本轮循环continue后面的语句,开始新的一轮循环
可以通过return结束整个方法
注意:break continue return后都不可以直接写代码,因为都是不可到达的代码
2.嵌套for循环
1.外层循环控制执行的轮数,内层循环控制这一轮种执行的次数
2.打印图形时:外层循环控制图形的行数,内训循环控制图形的列数
如果把内层循环变量的最大值设置为固定值,打印的时矩形,如果把内层变量的循环变量j设置成随着外城循环变量i的变化而变化,打印出的时三角形
for(int i=1;i<7; i++){ for(j=1; j<=i; j++){ system,out.print("*"); } system.out.println(); }
3.while循环
先判断再执行
while(判断条件){ 循环体 }
4.do-while循环
先执行,再判断,故最少执行一次
do{ 循环体 }while(判断条件);
如何判断业务使用哪种循环
知道循环次数:for循环
循环次数不确定:while或do-while循环
循环之间可以相互替代,但最好选择合适的循环
成员变量:
1.位置:类里方法外
2.成员变量有自己对应类型的默认值,不需我们初始化赋值
3.在整个类都生效,类消失,成员变量随之释放
局部变量:
1.位置:方法/局部代码块里
2.局部变量使用时必须初始化赋值
3.在方法里/局部代码块里才生效,对应的代码执行完毕,局部变量也随之释放
1.方法定义的格式:修饰符 返回值类型 方法名(参数列表){方法体}
2.一个方法会不会执行取决于这个方法是否被调用 调用格式:方法名+参数列表
3.方法执行顺序取决于main函数的执行顺序
4.一个方法,可以不设置参数,也可以设多个参数,使用方法时必须传参数列表对应类型的参数
5.返回值类型为void时,不允许有返回值
6.如果方法要返回值,必须设置返回值类型,并且return对象的结果
7.调用有返回值的方法时,可以接收这个方法的返回值,后续可以多次使用此返回值,若不接就只是调用该方法的功能,不适用其返回值