一、关键字
二、标识符
三、注释
四、常量和变量
五、运算符
六、语句
七、函数
八、数组
一、关键字 被Java赋予特殊含义的单词
二、标识符(如自己定义的类名)
可以数字、大小写字母、下划线、美元符号;严格区分大小写,数字不能开头
main( 黑色 ):不是关键字,能被虚拟机识别,入口
命名规范:
四、常量和变量
(一)常量:不能改变的数值
1、常见常量
如整数和小数(23(10)十进制、023(8)八进制、0x4A(16)十六进制)
Boolean常量(true 、false)
字符(字母、数字、符号)常量(用" ' ' ")
字符串常量 用 " "
NULL常量
2、十进制与二进制的转换
System.out.println{Integer.to .BinaryString(6)};
再执行javac编译,执行java编译
3、
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
第二个数列所有和为255
一个字节8位,4个二进制位级一个十六进制位(4个二进制位最大值为15)
4、负数的二进制表示形式:原数二进制取反再加一
6的二进制
0000-0000 0000 -0000 0000-0000 0000-0110
取反 1111-1111 1111-1111 1111-1111 1111-1001
加一 0000-0000 0000-0000 0000-0000 0000-0001
得 1111-1111 1111-1111 1111-1111 1111-1010
(二)变量
1、形式:数据类型 变量名称
2、数据类型:
1)基本:byte(范围是 -2^7~2^7-1)、short 、int、long、float、double、char(java里占两个字节)、Boolean
2)引用:class、interface 接口、[ ]数组
注:整数,默认int;小数,默认double
float f=1.3 (X)默认double
float f=1.3f(V)
3、类型转换
例:byte b=3;b=b+2 报错
(1)算式一中3为常量,系统自动判断,在byte范围内,自动植入3到变量b中
(2)算式二中,赋值号右边b占一个字节,2占四个字节,系统自动提升b 由一个字节到四个字节,则赋值号右边结果占四个字节,在赋值给左边的占一个字节b,报错!丢失精度、运行结果不确定
(3)方法:强制转换 b(一个字节)=(byte)(b+2)
System.out.println('a'+1)
输出98,'a'自动转换---ascll码
五、运算符
1、算术运算符int\int -----int
b=a++ 先参与运算再自加
b=++a 先自加再参与运算
2、+ 字符连接符
3、转义字符: 换行(\n)、退格(\b---backspace)、制表符(\t---tab键)、回车(\r)
4、赋值运算符
=;+=;*= (都是一个运算符)
如:short s=1;s=s+5(报错----精度丢失) 两次运算,先
short s=1;s+=5(V) 一次运算 ,把左右两边的和赋值给左边,int再自动转换short
5、比较运算符 结果为true or false
6、逻辑运算符
& 与| 或
^异或 和 或 有点不一样 即 true^true=false
双与比单与 、效率高
7、位运算符----针对于二进制
(1)左移和右移
左移:左移两位,末尾补0,舍去高位
右移:右移两位,高位补0或1,舍去末尾两位(带符号右移:负数补1;无符号右移:补0)
3<<1=3*2=6 ; 3<<2=3*2^2=12 ; 3<<3=3*2^3=24
左移<< 乘以2的移动的位数次幂
右移>>除以2的移动的位数次幂
(2)& | ^
一个数异或同一个数两次结果仍为该数。
8、三元运算符 条件表达式
优点:可以简化 if else 语句。缺点:由于是运算符,运算完必须有返回结果
如:b=(a>1)? System.out.println("haha"):100 只是输出haha ,没有赋值给b
六、语句
1、if else 语句
2、swith 语句
注意:case语句顺序可以和default语句打乱
原则;先执行case语句再执行default语句。遇到break结束判断。
当case条件都不满足时,执行default,没有break,没有大括号,紧接着,不在判断case,直接执行case的命令语句。