- 关键字-标识符-常量和变量-运算符-流程控制-方法-数组
1.关键字 keyword
Java系统中已经赋予了特殊含义的单词
特点:全部是小写字母注意:
Java中的保留字:现在没有使用,以后有可能会使用的单词
例:goto,const
案例:
public class Demo{ public static void main(String[] args){ System.out.println(“Hello World”); } }
关键字解析:
public:权限修饰符,说明此类是公共的
class:用于定义类
static:静态的
void:不需要返回值
2.标识符
用于给方法,变量,类,接口等命名的字符序列
2.1组成规则:
- 由26个英文字母大小写,数字,_,$ 组成
- 不能以数字开头
- 不可以使用关键字,但是可以包含关键字
- Java中严格区分大小写:main ≠ Main
2.2命名规范:
- 包名:多单词组成时所有字母都小写(以后详讲):xxxyyyzzz
- 类名,接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz,Test
- 变量名,方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz,main
- final变量名:所有字母都大写,多单词时单词之间用下划线分隔:XXX_YYY_ZZZ,MAX_VALUE
2.3在命名时要做到见名知意
public class AAA{...} x
public class Test{...} x
public class Person{...}
3.常量
3.1常量(字面量)
常量(字面量)表示不能改变的数值(程序中直接出现的值)
Java中常量(字面量)的分类:
- 整数常量:直接出现的整数
- 小数常量:直接出现的小数
- 布尔(boolean)型常量:只有两个值:true 和 false
- 字符常量:将一个数字,字母或者符号用单引号('')括起来
- 字符串常量:将一个或者多个字符用双引号("")括起来
- null常量:只有一个数值:null
对于整数:有四种表现形式
二进制:由0,1组成 ,满2进1.用0b/0B开头表示
八进制:由0-7组成 ,满8进1. 用0开头表示
十进制:由0-9组成 ,满10进1.
十六进制:由0-9,A-F组成,满16进1. 用0x/0X开头表示
3.2二进制
计算机底层都是以二进制存储数据的,多个位组合起来可以表示更多的状态.
进制的基本转换:
十进制 二进制 互转
十进制转成二进制 除以2取余数,将余数倒排
二进制转成十进制 乘以2的幂数,将结果相加
十进制 八进制 互转
十进制 十六进制 互转
二进制和八进制,十六进制互转(8421法则)
3.3原码反码补码
4.变量
内存:就是程序运行的地方,存放着数据和指令
不同的数据存储在不同的空间,互不影响
内存空间使用之前必须先申请
如果一个数据已经存储到内存中了,怎么找到它呢?
只要在申请空间的时候,给这个空间起一个名字就可以了
使用变量的时候,通过变量名就可以找到变量的值了。
3.1变量的概念:
内存中的一块存储区域
该区域有自己的名称(变量名)和类型(数据类型)
3.2为什么要定义变量:
就是为了使用内存空间
3.3变量的三个要素:
- 类型(数据类型:能存放的数据类型)
- 变量名(标识符:通过标识符可以访问内存空间里的值)
- 值(存储的内容)
3.4定义变量的格式:
3.5 8大基本数据类型:
note:
整数默认:int 小数默认:double
字符串是类:String,是引用数据类型
3.6 作用和初始化
- 作用域:Scope
变量定义在哪个大括号里,它的作用域就是所在的大括号(代码块:block)
同一个作用域中,不能定义同名的变量(类型不同也不行)
- 初始化值:
初始化有两种格式,定义时赋值 或 先定义,后赋值
变量在使用前一定要赋值
- 一行上最好只定义一个变量:
一行上可以定义多个变量,但是不建议,可读性差
3.7类型转换
类型相同的数才能进行运算
- 不同类型的数进行运算,首先要进行类型转换,变成相同类型
- 有的转换是系统自动完成的(自动类型转换/隐式类型转换)
- 有的是需要手动完成的(强制类型转换/显式类型转换):什么时候要用强制类型转换(大范围转小范围)
表达式的数据类型自动提升:找标准
1.所有的byte型、short型和char的值将被提升到int型
char型参与运算实际上使用的是对应的Unicode编码值
如果表达式中还有更大表数范围的类型,则继续提升
byte b = 10;System.out.println(b + 2 + 1.2);
2.
3.boolean类型不参与数值运算,也不能和其它类型进行转换