2.2JAVA基础复习——JAVA语言的基础组成运算符和语句
JAVA语言的基础组成有:
1.关键字:被赋予特殊含义的单词。
2.标识符:用来标识的符号。
3.注释:用来注释说明程序的文字。
4.常量和变量:内存存储区域的表示。
5.运算符:程序中用来运算的符号。
6.语句:程序中常用的一些语句。
7.函数:也叫做方法,用来做一些特定的动作。
8.数组:用来存储多个数据的集合。
JAVA中的运算符
1.算术运算符:用来进行一些数据算法的符号
算术运算符分为单目运算符、双目运算符、三目运算符。
单目运算符有:+(取正)-(取负)++(自增)--(自减)代码如下:
1 1 //算术运算符:单目运算符+(取正)-(取负) 2 2 int a = 5; 3 3 //取a的正数b=5 4 4 int b = +a; 5 5 //取a的负数c=-5 6 6 int c = -a; 7 7 //单目运算符++(自增)自减原理与自增一样故省略 8 8 int d = 0; 9 9 int e = 0; 10 10 //f的结果为0,++在后面会先将d的值赋给f然后d自增1结果为0 11 11 int f = d++; 12 12 //g的结果为1,++在前面会先将e的值+1然后再赋值给g结果为1 13 13 int g = ++e;
双目运算符有:+(加)-(减)*(乘)/(除)%(取余)代码如下:
1 1 //算术运算符:双目运算符+(加)-(减)*(乘)/(除)%(取余) 2 2 int a = 5; 3 3 int b = 2; 4 4 //双目运算符可以对变量进行运算结果为:7 5 5 int c = a+b; 6 6 //也可以直接对数值进行运算结果为:5 7 7 int d = 10-5; 8 8 //结果为:10 9 9 int e = a*b; 10 10 //结果为:2因为java/默认的两个整数相除返回的也是整数 11 11 int f = a/b; 12 12 //结果为:1因为5/2余1%就是来去余数的所以为1 13 13 int j = a%b;
三目运算符有:a>b?true:false判断a是否大于b如果大于b返回true也就是:前的值否则返回false(true和false)可以自己定义想要返回的值
如:a>b?a:b判断a是否大于b如果大于b返回a的值否则返回b的值代码如下:
1 int a = 5; 2 int b = 6; 3 //结果为:6判断结果是b不大于a所以输出:后面的值也就是b的值为6 4 System.out.println(a>b?a:b);
2.关系运算符:用来判断数据比较关系的符号
关系运算符有:==(等于)!=(不等于)>(大于)<(小于)>=(大于等于)<=(小于等于)
1 //关系运算符:==(等于)!=(不等于)>(大于)<(小于)>=(大于等于)<=(小于等于) 2 int a = 5; 3 int b = 6; 4 //判断a是否等于b如果等于输出a的值否则输出b的值,结果为b的值6 5 int c = a==b?a:b; 6 //判断a是否不等于b如果不等于输出a的值否则输出b的值,结果为b的值5 7 int d = a!=b?a:b; 8 //判断a是否大于b如果大于输出a的值否则输出b的值,结果为b的值6 9 int e = a>b?a:b; 10 //判断a是否小于b如果小于输出a的值否则输出b的值,结果为b的值5 11 int f = a<b?a:b; 12 //判断a是否大于等于b如果大于等于输出a的值否则输出b的值,结果为b的值6 13 int g = a>=b?a:b; 14 //判断a是否小于等于b如果小于等于输出a的值否则输出b的值,结果为b的值5 15 int h = a<=b?a:b;
3.逻辑运算符:用来判断数据逻辑关系的符号
逻辑运算符有:与(&&)或(||)非(!)
1 //逻辑运算符:与(&&)或(||)非(!) 2 int d = 10; 3 int e = 12; 4 /* 5 * &&:两边条件都成立时为真只要有一个为假整个结果为假 6 * &&具有短路效果第一个表达式为假不会去判断第二个表达式 7 * 结果为:false 8 */ 9 boolean f = d==e&&d<e?true:false; 10 /* 11 * ||:两边条件只要有一个为真整个表达式为真 12 * ||具有短路效果第一个表达式为真时不会去判断第二个表达式 13 * 结果为:true 14 */ 15 boolean g = d==e||d<e?true:false; 16 /* 17 * !:如果表达式为真结果为假如果表达式为假结果为真 18 * 结果为:false 19 */ 20 int a = 5; 21 int b = 5; 22 boolean c = !(a==b)?true:false;
4.位运算符:用来对二进制位进行操作的符号(位运算比算术运算符效率高)
位运算符有:与(&)或(|)非(~)异或(^)<<(左移)>>(右移)>>>(无符号右移)
1 // * 位运算符:用来操作二进制的运算 2 int i = 3; 3 int b = 5; 4 /* 5 * &(与)运算符:两个二进制对应位是1时结果为1,否则为0; 6 * i转换为二进制:00000000-00000000-00000000-00000011 7 * b转换为二进制:00000000-00000000-00000000-00000101 8 * c的运算结果:1; 9 * */ 10 int c = i&b; 11 /* 12 * |(或)运算符:两个二进制对应位只要有1时结果为1,否则为0; 13 * i转换为二进制:00000000-00000000-00000000-00000011 14 * b转换为二进制:00000000-00000000-00000000-00000101 15 * a的运算结果:7 16 * */ 17 int a = i|b; 18 /* 19 * ~(非)运算符:取反,0变1,1变0; 20 * b转换为二进制:00000000-00000000-00000000-00000101 21 * b反码: 11111111-11111111-11111111-11111010 22 * d的运算结果:-6 23 * */ 24 int d = ~b; 25 /* 26 * ^(异或)运算符:两个二进制对应位不相同时为1,相同为0; 27 * i转换为二进制:00000000-00000000-00000000-00000011 28 * b转换为二进制:00000000-00000000-00000000-00000101 29 * e的运算结果:6 30 * */ 31 int e = i^b; 32 /* 33 * <<(左移)运算符:向左移动n位,低位补0; 34 * i转换为二进制:00000000-00000000-00000000-00000011 35 * i左移两位:00000000-00000000-00000000-00001100 36 * f的运算结果:12 37 * */ 38 int f = i<<2; 39 /* 40 * >>(右移)运算符:向右移动n位,高位为0补0为1补1; 41 * i转换为二进制:00000000-00000000-00000000-00000011 42 * i右移两位:00000000-00000000-00000000-00000000 43 * g的运算结果:0 44 * */ 45 int g = i>>2; 46 /* 47 * >>>(无符号位移)运算符:向右移动n位,高位不管是什么都补0; 48 * i转换为二进制:00000000-00000000-00000000-00000011 49 * i右移两位:00000000-00000000-00000000-00000000 50 * h的运算结果:0; 51 * */ 52 int h = i>>>2;
5.赋值运算符:用来赋值的运算符将右边的值赋给左边
赋值运算符有: =、+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=、>>>=
1 /* 2 *赋值运算符: 用来给标识符赋值的符号需要考虑到类型的转换问题 3 *=赋值运算符:左边赋给右边 4 */ 5 int i = 10; 6 /* 7 * +=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=、>>>=:会在底层进行类型转换 8 * */ 9 short a = 1; 10 //要经过强转才可以 11 a =(short)(a+1); 12 //系统会在底层执行强转动作所以不会报错 13 a+=1;
JAVA中的常用语句
if语句语法:
1 /* 2 * if语句: 3 * 语法1:if(条件){ 4 * 执行体 5 * } 6 * 7 * 语法2:if(条件){ 8 * 执行体 9 * }else{ 10 * 执行体 11 * } 12 * 13 * 语法3:if(条件){ 14 * 执行体 15 * }else if(条件){ 16 * 执行体 17 * }else{ 18 * 执行体 19 * } 20 * */ 21 int a = 2; 22 int b = 3; 23 //语法1示例:条件成立输出a小于b不成立则不输出 24 if(a<b){ 25 System.out.println("a小于b"); 26 } 27 //语法2示例:条件成立输出a小于b不成立输出a小于b 28 if(a>b){ 29 System.out.println("a大于b"); 30 }else{ 31 System.out.println("a小于b"); 32 } 33 //语法3示例:条件成立输出a小于b不成立继续判断条件成立输出执行体不成立输出else的执行体 34 if(a>b){ 35 System.out.println("a大于b"); 36 }else if(a<b){ 37 System.out.println("a小于b"); 38 }else{ 39 System.out.println("a等于b"); 40 } 41 运行结果:1.a小于b
2.a小于b
3.a小于b
switch语句
/* * switch语句: * 需要注意的是jdk1.7以下版本key只能是int或能自动转换成int类型的值如:byte、short、char和枚举enum类型 * jdk1.7后支持字符串case可有多个 * 语法: * switch (key) { case value: 执行体 break; default: 没有符合条件执行体 break; } * */ //如果week=1输出星期一 int week = 0; switch (week) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期七"); break; default: System.out.println("输入有误"); break; }
//运行结果:输入有误
Java中的循环:
1.while循环:符合条件执行循环不符合条件跳出循环
2.do—while循环:先执行一次循环,在判断条件是否符合,如果符合继续循环,不符合跳出循环
3.for循环:在明确循环次数时用for循环,判断条件是否符合,如果符合继续循环,不符合跳出循环
while循环:
/* * while语法: * while(条件){ * 执行体 * } * * */
int c = 0; while (c<5) { System.out.println(c); c++; }
//运行结果:0、1、2、3、4
do-while循环:
/* * do-while语法: * do{ * 执行体 * }while(条件); * */
int d = 6; do { System.out.println(d); d++; } while (d<5); //运行结果:6
for循环:
/* * for语法: * for(条件1;条件2;条件3){ * 执行体 * } * */ int[] a = new int[]{1,12,55,33}; for (int i = 0; i < a.length; i++) { System.out.println(a[i]); }