特点:关键字中所有字母都为小写
引用数据类型:
class(类) interface(接口)
void用于函数上表示无返回值类型
2、用于定义数据类型值的关键字
true(真) false(假) null(空)
3、 用于定义流程控制的关键字
判断:if else ; switch case default
循环:for ; while ; do while
继续循环:continue 结束循环或选择结构:break
返回:return
1.2、标识符
定义:在程序中自定义的一些名称。 由26个英文字母大小写,数字:0-9 符号:_ $ 组成
定义合法标识符规则:
1、数字不可以开头。 2、不可以使用关键字。 3、 Java中严格区分大小写。
注意:在起名字的时,为了提高阅读性,要尽量有意义。
1.3、Java中的名称规范:
包名: 多单词组成时所有字母都小写。 xxxyyyzzz
类名接口名: 多单词组成时,所有单词的首字母大写。XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。xxxYyyZzz
常量名: 所有字母都大写。多单词时每个单词用下划线连接。 XXX_YYY_ZZZ
1、定义:常量表示不能改变的数值。
Java中常量的分类:
1,整数常量(byte short int long)。所有整数
2,小数常量(float double)。所有小数
3,布尔型常量(boolean)。较为特有,只有两个数值。true false。
4,字符常量(char)。将一个数字字母或者符号用单引号( ' ' )标识。
5,字符串常量(“ ”)。将一个或者多个字符用双引号标识。
6,null常量(定义空)。只有一个数值就是:null.
2、对于整数:java有三种表现形式。
十进制:0-9 ,满10进1.
八进制:0-7 ,满8进1. 用0开头表示。
十六进制:0-9,A-F,满16进1. 用0x开头表示。
十进制二进制 互转
十进制转成二进制除以2取余数
二进制转成十进制乘以2的幂数
十进制 八进制 互转
十进制 十六进制 互转
负数的二进制表现形式
对应的正数二进制取反加1
1.5、变量
2、为什么要定义变量:用来不断的存放同一类型的常量,并可以重复使用
3、 使用变量注意:
①变量的作用范围(一对{}之间有效)
②初始化值
4、 定义变量的格式:
数据类型 变量名 = 初始化值;
* 注:格式是固定的,记住格式,以不变应万变。
5理解:变量就如同数学中的未知数。
{byte b = 3;
b = b + 4;//报错
b = (byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋
值给b。}
{byte b = 3;
int x = 4;
x = x + b;//b会自动提升为int类型进行运算。}
1.7、 运算符
1、算术运算符
+;-;*;/;%(取模);++;--;+(字符相加)
*注意:进行取模(即取余数)运算时,都看被除数(正负号)
System.out.println(+-1%5);//取模看被除数,被除数是1不能被整除,值为(+-1)
2、赋值运算符
符号:= += -= *= /= %=
{ int a=3,b;b=a++; //(++为自增1.a++=a+1);运算先后,先赋值b。后运算b=a=3;a=a+1
/*b=++a: ++为自增1.a++=a+1);先++a,a=a+1,在赋值给b 即:输出为a=b=4*/
}
3、比较运算符
" == " ; " != " ; " > " ; " < " ; " > = " ; " <= ";
*注意 1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。
2:比较运算符“==”不能误写成“=”
4、逻辑运算符
&(与 谁“与”谁一起) |(或 或者 谁或者谁) ^ (异或 谁异或者谁强调必须切只能是一个)
!(非 !一件事结果与他相反) &&(短路 双与&的升级版第一个判断正确即输出true)
||(|的升级版第一个为假就输出假的结果)
5、位运算符
<< (左移):空位补0,被移除的高位丢弃,空缺位补0。
>> (右移):被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。
>>> (无符号右移):被移位二进制最高位无论是0或者是1,空缺位都用0补。
& ( 与):二进制位进行&运算,只有1&1时结果是1,否则是0。
| ( 或):二进制位进行 |运算,只有0 | 0时结果是0,否则是1。
^ 异或:;任何相同二进制位进行 ^运算,结果是0;1^1=0 , 0^0=0。不相同二进制位 ^运算结果是1。1^0=1 , 0^1=1。
~ 反码:;对二进制进行取反。
例如: 3<<2=12=3*(2*2); 3<<1=6=3*(2); 3<<3=24=3*(2*2*2)//相当于左移几位就乘以2的几次幂-6>>2=-6/(2*2)=-1;-6>>>2=6/(2*2)=1;
~ ~6 = -7(-6取反算法)
/*取反符号 -6等于6取反加一 本题直接6的反码的值
6=0000-0000 0000-0000 0000-0000 0000-0110
取反为 : 1111-1111 1111-1111 1111-1111 1111-1001=-7
-6等于6取反加一 ,同 1111-1111 1111-1111 1111-1111 1111-1000
理反过来是先减一取反: 0000-0000 0000-0000 0000-0000 0000-0111=7
即反过来求所得数据为~6=-7 */
1.8、三元运算符
格式 : (条件表达式)?表达式1:表达式2;
• 如果条件为true,运算后的结果是表达式1; 如果条件为false,运算后的结果是表达式2;
例如:获取两个数中大数。
• { int x=3,y=4,z;
• z = (x>y)?x:y;//z变量存储的就是两个数的大数。}(if的必须有值输出的简化写法)
1.9、具体实例
对两个整数变量的值进行互换(不需要第三方变量)
/* 互换变量值*/
public static void main(String[] args)
{
int n=3, m=8; //n=3后面的符号是","不是";"分号表示结束
/* //方法一:定义一个变量法
int z=n , n=m,m=z; */
System.out.println("n="+n+",m="+m); //输出语句
/* //方法二:不定义变量法 3+8=11,11-8=3/11-3=8
n=n+m;
m=n-m;
n=n-m;
System.out.println("n="+n+",m="+m); */
//方法三:n=(n^m)^m
/* n=n^m;
m=n^m; //m=(n^m)^\m=n
n=n^m; //n=(n^m)^m=n
System.out.println("n="+n+",m="+m); */
//方法四:
System.out.println("m="+n+",n="+m);
java运行结果