1、关键字:不能用作变量名、方法名、类名、包名和参数
2、标识符:由数字,字母和下划线(_),美元符号($)组成。在Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。
3、数据类型
b 默认 int 型
10.0默认 double 型
基本数据类型:
数值型:
整数类型:
a、byte:1字节 -128~127
b、short:2字节 -2^15~2^15-1
c、int:4字节 -2^31~2^31-1
d、long:8字节 -2^63~2^63-1
浮点类型:
e、float:4字节 -3.403E38~3.403E38
f、double:8字节 -1.798E308~1.798E308
字符型:
g、char:2字节 ''
排序: byte, short, char, int,long,float,double
布尔型:
h、boolean:1字节 false true
引用数据类型:
i、类
j、接口
k、数组
4、基本数据类型的转换规则
a、容量小的类型自动转换为容量的类型;
b、容量大的类型转换为容量小的类型时,要加强制转换符;
c、byte,short,char之间不会互相转换,并且三者在计算时首先转换为int类型;
d、实数常量默认为double类型, 整数常量默认为int类型;
5、常量:
a、接口(Interface)的中变量默认为static final的特性
b、Java 5.0中引入的Enum类型
c、static final修饰变量
6、变量:
a、成员变量
b、局部变量
7、变量命名规范:
a、Pascal规范
b、Camel 规范
8、数据类型转换:
在4的基础上进行拓展。
9、进制转换:
int n = 14;
//十进制转成十六进制:
Integer.toHexString(n);
//十进制转成八进制
Integer.toOctalString(n);
//十进制转成二进制
Integer.toBinaryString(12);
//十六进制转成十进制
Integer.valueOf("FFFF",16).toString();
//十六进制转成二进制
Integer.toBinaryString(Integer.valueOf("FFFF",16));
//十六进制转成八进制
Integer.toOctalString(Integer.valueOf("FFFF",16));
//八进制转成十进制
Integer.valueOf("576",8).toString();
//八进制转成二进制
Integer.toBinaryString(Integer.valueOf("23",8));
//八进制转成十六进制
Integer.toHexString(Integer.valueOf("23",8));
//二进制转十进制
Integer.valueOf("0101",2).toString();
//二进制转八进制
Integer.toOctalString(Integer.parseInt("0101", 2));
//二进制转十六进制
Integer.toHexString(Integer.parseInt("0101", 2));
10、运算符
a、算数
+
-
*
/
%
b、赋值
=
+=
-=
*=
/=
%=
&=
|=
c、关系
<
>
<=
>=
==
!=
d、逻辑
&&
||
!
e、三目
f、字符串连接
g、位运算
& 位都为1,结果才为1,否则结果为0
| 位只要有一个为1,那么结果就是1,否则就为0
^ 两个操作数的位中,相同则结果为0,不同则结果为1
~ 如果位为0,结果是1,如果位为1,结果是0
h、移位
<< 左移运算符,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0)
>> "有符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。使用符号扩展机制,也就是说,如果值为正,则在高位补0,如果值为负,则在高位补1.
>>> "无符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。采用0扩展机制,也就是说,无论值的正负,都在高位补0.
(PS:x<<y 相当于 x*2y ;x>>y相当于x/2y,从计算速度上讲,移位运算要比算术运算快。如果x是负数,那么x>>>3没有什么算术意义,只有逻辑意义。)
11、表达式的值和类型
12、转义符
\n 回车(\u000a)
\t 水平制表符(\u0009)
\b 空格(\u0008)
\r 换行(\u000d)
\f 换页(\u000c)
\' 单引号(\u0027)
\" 双引号(\u0022)
\\ 反斜杠(\u005c)
13、运算符优先级
[ ] ( ) ++ -- ! ~ instanceof * / % + - << >> >>> <> < = > \ == != &^&& || ? := op=
代码附后:
1.十进制转二进制 可以转负数
//十进制转二进制 可转负数 public static void main(String[] args) { int a = -1; int b = 0; // 存放余数 int i = 0; // 计数器 String result = ""; boolean temp = a < 0 ? true : false; // 判断是 否为负数,负数为true,整数为false if (temp) { // 如果为负数取反+1 a = Math.abs(a + 1); } while (true) { // while死循环 b = a % 2; // 余数 i++; // 余数计数 if (temp) { // 如果为负数,则进行取反 b = b == 0 ? 1 : 0; } result = b + result; // 字符串链接 a /= 2; // 商 if (a == 0) { if (temp) { // 判断负数,则补1 for (int m = 0; m < 32 - i; m++) { result = "1" + result; } } System.out.println(result); break; } } } }
2.数值交换
//交换 a 和 b 的值 int a = 20; int b = 12; a = a ^ b; b = b ^ a; a = a ^ b; System.out.println(a); System.out.println(b);
//交换 a 和 b 的值
a = a + b; b = a - b; a = a - b; System.out.println(a); System.out.println(b);