2.1 关键字
常用的关键字主要包括如下:
2.2 标识符
简单而言标识符它其实就是用于标识某些东西的符号。
2.3 注释的应用
注释说明
注释的作用:
注释的应用:
2.4 常量和变量
常量的定义与分类
进制的由来
注意:byte 是1个字节 = 8个二进制位, 1K = 1024。
进制的基本转换介绍
负数的进制
变量的介绍
JAVA的数据类型主要包含引用类型和基本数据类型,其中有8种基本数据类型
变量的基本演示
类型提升与强制转换说明
结果分别是97与98,其实就是二进制和生活中文字对应的关系表,即ASCII编码表,反之:System.out.println(char('a' + 1)), 输出结果等于b, 其中b对应的编码表里面的数字是98。
类型运算细节
class DemoTest20171015
{
public static void main(String[] args)
{
// int x = 3;
// byte b = 5;
// x = x + b;
// System.out.println("x=:" + x); // byte b = 3;
// b = (byte)(b + 200);
// System.out.println("b=:" + b); //输出结果为-53, 强制类型转换 // System.out.println('你' + 0); //输出结果为20320,即unicode国际编码表对应的关系 byte b = 4;
// b = 3+7;
// System.out.println("b=:" + b); //输出结果为10
// byte b1 = 3;
// byte b2 = 7;
// b = b1 + b2;
// System.out.println("b=:" + b); //编译报错,说int转换byte可能损失精度,原因是b1和b2是变量,其中它们的值是变化的,无法判断;
//而上面b = 3+7是属于固定的常量,可以判断,所以输出结果等于10. int x;
int x1 = 10;
int x2 = 98;
x = x1 + x2;
System.out.println("x=:" + x); //输出结果为108,因为x1和x2默认都是int类型,所以最终运算结果还是为整型,即int类型。 }
}
2.5 运算符
JAVA中主要包含以下6种运算符:
算术运算符
说明:算术运算符主要包含:+ - * / %(取余,模运算) ++(自增:在原有数据基础之上+1,再赋给原有数据) --
练习:
int x = 6370; x = x / 1000 * 1000 System.out.println(x); // 输出结果为6000 System.out.println(5 % 2); //输出结果为1 System.out.println(2 % 5); //输出结果为2 System.out.println(3 % 5); //输出结果为3 System.out.println(-5 % 2); //输出结果为-1 System.out.println(5%-2); //输出结果为1 System.out.println(5%5); //输出结果为0 注意:任何数字和字符串相连接,其结果为字符串,如:System.out.println("ab" + 5 + 5); //输出结果为ab55 int a = 3; a++; //a= a+1; System.out.println(a); //输出结果为4 int a =3,b; b = a++; System.out.println("a=" + a + ", b=" + b); //输出结果a=4, b=3 int a =3,b; b = ++a; System.out.println("a=" + a + ", b=" + b); //输出结果a=4, b=4 int i = 3; i = i++; System.out.println(i) ; //输出结果为3
赋值运算符
说明:主要包含: = += -= /= *= %=
int a = 4; a+=2;//a = a + 2; short s = 3; s+= 4;//输出结果为7 // s = s+4; //运行编译报错,有可能损失精度,原因是没有做强转,而s+=4可以自动做转换
比较运算符
逻辑运算符
思考:逻辑运算符有什么用呢?
用于连接两个boolean类型的表达式,如:2<x < 5, x > 2 & x < 5;
&符号的运算特点:
true & true = true;
true & false = false;
false & true = false;
false & false = false;
&符号的运算规律:
&运算符两边只有一个是false,结果肯定是false;只有两边都是true,结果才是true
|符号的运算特点:
true | true = true
false | true = true
true | false = true
false | false = false
|符号的运算规律
|运算符 的两边只要有一个是true,结果肯定是true;只有两边都是false,结果才是false
^:异或符号的运算特点:
true ^ true = false
false ^ true = true
true ^ false = true
false ^ false = false
^符号的运算规律:
^符号的两边结果如果相同,结果是false;两边的结果不同,结果是true。
!:非运算符,判断事物的另一面
!true = false;
!false = true;
!!true = true;
&&符号的运算特点:
和&运算的结果是一样的,但是运算过程有点小区别。
&符号无论左边的运算结果是什么,右边都参与运算;&&当左边为false时,右边不参与运算。
||符号的运算特点:
和|运算结果是一样的,但是运算过程有点小区别。
|符号无论左边的运算结果是什么,右边都参与运算;||当左边是true时,右边不参与运算。
位运算符
<< 相当于乘以2的倍数
>> 相当于除以2的倍数
移n位,就是对乘以或者除以2的n次幂。
图解
三元运算符
定义:简单而言就是三个元素参与运算的符号。
演示:
class OperateDemo
{
public static void main(String args[])
{
int x = 0, y;
y = (x > 1)?100:200;
System.out.println(y); // 输出结果为200 //获取两个整数中的较大的整数
int a,b;
int max = (a>b)?a:b; //获取三个整数中的较大的整数
int o,p,q;
int temp = (o>p)?o:p;
int max2 = (temp>q)?temp:q;
} }
练习:
1、 直接操作二进制位,或使用移位运算(2<<3)
2、
class OperateTest
{
public static void main(String[] args)
{
//最有效率的方式算出2乘以8等于几
System.out.println(2<<3); //对两个整型变量的值进行互换(不需要第三方变量)
int a = 3, b = 5;
System.out.println("a="+a+",b="+b); //开发时使用,使用第三方变量的形式,因为阅读性强
// int c;
// c = a;
// a = b;
// b = c;
// System.out.println("a="+a+",b="+b); //这种方式最好不要用,如果两个整数的数值过大,会超出int范围,会强制转换,数值会变化。
// a = a+b;//a = 3+5 = 8;
// b = a-b;//b = 3+5-5 = 3;
// a = a-b;//a = 3+5-3 = 5;
// System.out.println("a="+a+",b="+b); //面试时使用
a = a^b;//a = 3^5;
b = a^b;//b = (3^5)^5; b=3;
a = a^b;//a = (3^5)^3; a=5;
System.out.println("a="+a+",b="+b); }
}
2.6 语句
流程控制语句
2.6.1 判断结构
if语句三种格式:
1. if (条件表达式)
{
执行语句;
}
2. if (条件表达式)
{
执行语句;
}
else
{
执行语句;
}
3.if (条件表达式)
{
执行语句;
}
else if (条件表达式)
{
执行语句;
}
......
else
{
执行语句;
}
if 语句练习-星期
int week = 1;
if (week == 1)
{
System.out.println(week + "对应的中文是星期一");
}
else if (week == 2)
{
System.out.println(week + "对应的中文是星期二");
}
else if (week == 3)
{
System.out.println(week + "对应的中文是星期三");
}
else if (week == 4)
{
System.out.println(week + "对应的中文是星期四");
}
else if (week == 5)
{
System.out.println(week + "对应的中文是星期五");
}
else if (week == 6)
{
System.out.println(week + "对应的中文是星期六");
}
else if (week == 7)
{
System.out.println(week + "对应的中文是星期三日");
}
else
{
System.out.println("没有对应的星期");
}
if 语句练习-季节
int month = 13;
if (month <1 || month >12)
{
System.out.println("月没有对应的季节");
}
else if (month>=3 && month <= 5)
{
System.out.println("月是春季");
}
else if (month>=6 && month <= 8)
{
System.out.println("月是夏季");
}
else if (month>=9 && month <= 11)
{
System.out.println("月是秋季");
}
2.6.2 Switch语句
2.7 函数
定义
特点
应用
重载
2.8 数组