JAVA语言的基础组成有:
1.关键字:被赋予特殊含义的单词。
2.标识符:用来标识的符号。
3.注释:用来注释说明程序的文字。
4.常量和变量:内存存储区域的表示。
5.运算符:程序中用来运算的符号。
6.语句:程序中常用的一些语句。
7.函数:也叫做方法,用来做一些特定的动作。
8.数组:用来存储多个数据的集合。
JAVA中的运算符
1.算术运算符:用来进行一些数据算法的符号
算术运算符分为单目运算符、双目运算符、三目运算符。
单目运算符有:+(取正)-(取负)++(自增)--(自减)代码如下:
1 //算术运算符:单目运算符+(取正)-(取负)
2 int a = 5;
3 //取a的正数b=5
4 int b = +a;
5 //取a的负数c=-5
6 int c = -a;
7 //单目运算符++(自增)自减原理与自增一样故省略
8 int d = 0;
9 int e = 0;
10 //f的结果为0,++在后面会先将d的值赋给f然后d自增1结果为0
11 int f = d++;
12 //g的结果为1,++在前面会先将e的值+1然后再赋值给g结果为1
13 int g = ++e;
双目运算符有:+(加)-(减)*(乘)/(除)%(取余)代码如下:
1 //算术运算符:双目运算符+(加)-(减)*(乘)/(除)%(取余)
2 int a = 5;
3 int b = 2;
4 //双目运算符可以对变量进行运算结果为:7
5 int c = a+b;
6 //也可以直接对数值进行运算结果为:5
7 int d = 10-5;
8 //结果为:10
9 int e = a*b;
10 //结果为:2因为java/默认的两个整数相除返回的也是整数
11 int f = a/b;
12 //结果为:1因为5/2余1%就是来去余数的所以为1
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的值代码如下:
int a = 5;
int b = 6;
//结果为:6判断结果是b不大于a所以输出:后面的值也就是b的值为6
System.out.println(a>b?a:b);
2.关系运算符:用来判断数据比较关系的符号
关系运算符有:==(等于)!=(不等于)>(大于)<(小于)>=(大于等于)<=(小于等于)
//关系运算符:==(等于)!=(不等于)>(大于)<(小于)>=(大于等于)<=(小于等于)
int a = 5;
int b = 6;
//判断a是否等于b如果等于输出a的值否则输出b的值,结果为b的值6
int c = a==b?a:b;
//判断a是否不等于b如果不等于输出a的值否则输出b的值,结果为b的值5
int d = a!=b?a:b;
//判断a是否大于b如果大于输出a的值否则输出b的值,结果为b的值6
int e = a>b?a:b;
//判断a是否小于b如果小于输出a的值否则输出b的值,结果为b的值5
int f = a<b?a:b;
//判断a是否大于等于b如果大于等于输出a的值否则输出b的值,结果为b的值6
int g = a>=b?a:b;
//判断a是否小于等于b如果小于等于输出a的值否则输出b的值,结果为b的值5
int h = a<=b?a:b;
3.逻辑运算符:用来判断数据逻辑关系的符号
逻辑运算符有:与(&&)或(||)非(!)
//逻辑运算符:与(&&)或(||)非(!)
int d = 10;
int e = 12;
/*
* &&:两边条件都成立时为真只要有一个为假整个结果为假
* &&具有短路效果第一个表达式为假不会去判断第二个表达式
* 结果为:false
*/
boolean f = d==e&&d<e?true:false;
/*
* ||:两边条件只要有一个为真整个表达式为真
* ||具有短路效果第一个表达式为真时不会去判断第二个表达式
* 结果为:true
*/
boolean g = d==e||d<e?true:false;
/*
* !:如果表达式为真结果为假如果表达式为假结果为真
* 结果为:false
*/
int a = 5;
int b = 5;
boolean c = !(a==b)?true:false;
4.位运算符:用来对二进制位进行操作的符号(位运算比算术运算符效率高)
位运算符有:与(&)或(|)非(~)异或(^)<<(左移)>>(右移)>>>(无符号右移)
// * 位运算符:用来操作二进制的运算
int i = 3;
int b = 5;
/*
* &(与)运算符:两个二进制对应位是1时结果为1,否则为0;
* i转换为二进制:00000000-00000000-00000000-00000011
* b转换为二进制:00000000-00000000-00000000-00000101
* c的运算结果:1;
* */
int c = i&b;
/*
* |(或)运算符:两个二进制对应位只要有1时结果为1,否则为0;
* i转换为二进制:00000000-00000000-00000000-00000011
* b转换为二进制:00000000-00000000-00000000-00000101
* a的运算结果:7
* */
int a = i|b;
/*
* ~(非)运算符:取反,0变1,1变0;
* b转换为二进制:00000000-00000000-00000000-00000101
* b反码: 11111111-11111111-11111111-11111010
* d的运算结果:-6
* */
int d = ~b;
/*
* ^(异或)运算符:两个二进制对应位不相同时为1,相同为0;
* i转换为二进制:00000000-00000000-00000000-00000011
* b转换为二进制:00000000-00000000-00000000-00000101
* e的运算结果:6
* */
int e = i^b;
/*
* <<(左移)运算符:向左移动n位,低位补0;
* i转换为二进制:00000000-00000000-00000000-00000011
* i左移两位:00000000-00000000-00000000-00001100
* f的运算结果:12
* */
int f = i<<2;
/*
* >>(右移)运算符:向右移动n位,高位为0补0为1补1;
* i转换为二进制:00000000-00000000-00000000-00000011
* i右移两位:00000000-00000000-00000000-00000000
* g的运算结果:0
* */
int g = i>>2;
/*
* >>>(无符号位移)运算符:向右移动n位,高位不管是什么都补0;
* i转换为二进制:00000000-00000000-00000000-00000011
* i右移两位:00000000-00000000-00000000-00000000
* h的运算结果:0;
* */
int h = i>>>2;
5.赋值运算符:用来赋值的运算符将右边的值赋给左边
赋值运算符有: =、+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=、>>>=
/*
*赋值运算符: 用来给标识符赋值的符号需要考虑到类型的转换问题
*=赋值运算符:左边赋给右边
*/
int i = 10;
/*
* +=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=、>>>=:会在底层进行类型转换
* */
short a = 1;
//要经过强转才可以
a =(short)(a+1);
//系统会在底层执行强转动作所以不会报错
a+=1;
JAVA中的常用语句
if语句语法:
/*
* if语句:
* 语法1:if(条件){
* 执行体
* }
*
* 语法2:if(条件){
* 执行体
* }else{
* 执行体
* }
*
* 语法3:if(条件){
* 执行体
* }else if(条件){
* 执行体
* }else{
* 执行体
* }
* */
int a = 2;
int b = 3;
//语法1示例:条件成立输出a小于b不成立则不输出
if(a<b){
System.out.println("a小于b");
}
//语法2示例:条件成立输出a小于b不成立输出a小于b
if(a>b){
System.out.println("a大于b");
}else{
System.out.println("a小于b");
}
//语法3示例:条件成立输出a小于b不成立继续判断条件成立输出执行体不成立输出else的执行体
if(a>b){
System.out.println("a大于b");
}else if(a<b){
System.out.println("a小于b");
}else{
System.out.println("a等于b");
}
运行结果: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]);
}