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;
View Code

 

      双目运算符有:+(加)-(减)*(乘)/(除)%(取余)代码如下:

 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;
View Code

      三目运算符有: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);
View Code

 

  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;
View Code

 

  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;
View Code

 

  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;
View Code

 

  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;
View Code

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]);
        }
        
        

 

 

 

 

 

 

    

    

posted @ 2017-01-21 21:40  小菜鸟|  阅读(253)  评论(0编辑  收藏  举报