首頁 > Java > java教程 > 主體

Java語言基本語法學習

怪我咯
發布: 2017-06-23 14:31:01
原創
1299 人瀏覽過

Java語言基本語法

  • 標識符
  • 在java語言中,用來標誌

    類別名稱、物件名稱、變數名稱、方法名稱、型別名稱、陣列名、包名
  • 的有效字元序列,稱為「標識符」;
  • 標識符由
字母、數字、底線、美元符號
  • 組成,且

    第一個字元不能是數字

    ;
    • java語言

      區分大小寫
    • ;
    • 關鍵字#abstractassertbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodoubleelseenum#extendsfinal#finally floatforgotoifimplements
      #標誌符命名規則:類別名稱首字母大寫,變數名稱和方法名稱採用駝峰標誌法,常數全大寫,多個單字之間用「_」隔開,套件名稱全小寫; 在java語言中,有一些專門的詞彙已經被賦予了特殊的意義,不能再使用這些詞彙來命名標識符,這些專有詞彙,稱為「關鍵字」; java有50個關鍵字和3個保留字,均不能用來命名標識符;
      ##import instanceof int interface long #native new package
      private protected public #return short static #strictfp super
      switch#######synchronized######this######throw######throws ######transient######try######void#############volatile######while###### ####################################################################################### ### ###### ###### ###### ####### #############################################################################################
    • true、false、null不是關鍵字,是保留字,但仍不能用來命名標識符,保留字是java預留的關鍵字,在以後的升級版本中可能會作為關鍵字;

    二、基本資料類型

    • # 1. 整數型別(int為預設型別)

        
      • #  2. 浮點型別(double為預設型別)

          


    • 在給float類型的變數賦值時,如果賦的值有小數部分則一定要在結尾加上「F 」或「f」;
      •   3. 字元類型(2位元組)

    char ch = 'a';

    • 有些字元不能透過鍵盤輸入到程式當中,這時就需要使用到轉義字元;

      • 4. 布林類型(1位元組)


    • boolean flag = true;

      • #5. 預設值

    數值變數:0;

    • ##字元變數:'\0';

      • 布林變數:false;

    引用資料類型:null;


    • 6. 不同資料型別之間的轉換

    ##自動型別轉換(低到高)

    強制型別轉換(高到低)

    #
    public class Test003 {
        public static void main(String[] args) {
            byte b = 100;
            int i = 22;
            float f = 78.98f;
            int res = b + i + (int)f;    //此处对f使用了强制类型转换(int)f,转换后的值为78
            System.out.println("res: "+res);    //res: 200
        }
    }
    登入後複製

    三、運算子與表達式

      1.算術運算子

    ##

    public class Test003 {    public static void main(String[] args) {        int i = 5;
            System.out.println(0/i);    //0
            System.out.println(0%i);    //0
            System.out.println(i/0);    //除数不能为零,报异常java.lang.ArithmeticException
            System.out.println(i%0);    //除数不能为零,报异常java.lang.ArithmeticException    }
    }
    登入後複製
      2. 賦值運算子

      3. 自增自減運算子(++,--)

    #

    public class Test003 {    public static void main(String[] args) {        int i = 5;
            System.out.println(i++);    //5
            System.out.println(++i);    //7
            System.out.println(i);    //7
            System.out.println(--i);    //6
            System.out.println(i--);    //6
            System.out.println(i);    //5    }
    }
    登入後複製

      4. 關係運算子

      5.邏輯運算子

    public class Test003 {    public static void main(String[] args) {        boolean t = true;        boolean f = false;
            System.out.println(t && f);    //false,短路与运算符,若运算符左侧为false则不计算右侧的表达式
            System.out.println(t || f);    //true,短路或运算符,若运算符左侧为true则不计算右侧的表达式
            System.out.println(t & f);    //false,与运算符,不管左侧是否为false都要计算右侧的表达式
            System.out.println(t | f);    //true,或运算符,不管左侧是否为true都要计算右侧的表达式
            System.out.println(t ^ f);    //true,异或运算符,只要左右两侧不相同则为true,反之为false
            System.out.println(!f);    //true,取反运算符    }
    }
    登入後複製

    ##

    public class Test003 {    public static void main(String[] args) {        //在位运算符中1相当于true,0相当于false
            int b1 = 6;    //二进制为00000000 00000000 00000000 00000110
            int b2 = 11;    //二进制为00000000 00000000 00000000 00001011
            System.out.println(b1 & b2);    //按位与运算符,二进制为00000000 00000000 00000000 00000010,结果为2
            System.out.println(b1 | b2);    //按位或运算符,二进制为00000000 00000000 00000000 00001111,结果为15
            System.out.println(b1 ^ b2);    //按位异或运算符,二进制为00000000 00000000 00000000 00001101,结果为13
            System.out.println(~b1);    //按位取反运算符,二进制为11111111 11111111 11111111 11111001,结果为-7
            System.out.println(b1 << 2);    //左移位运算符,二进制为00000000 00000000 00000000 00011000,结果为24
            int b3 = -14;    //二进制为11111111 11111111 11111111 11110010
            System.out.println(b3 >> 2);    //带符号右移位运算符,二进制为11111111 11111111 11111111 11111100,结果为-4
            System.out.println(b3 >>> 2);    //无符号右移位运算符,二进制为00111111 11111111 11111111 11111100,结果为1073741820    }
    }
    登入後複製

      6. 位元運算子

    public class Test003 {
        public static void main(String[] args) {
            int a = 1;
            int b = 2;
            int c = 4;
            int res = c==a+b?++a:c>a+b?++b:++c;    //三元运算符 (表达式)?(值1):(值2),若表达式为true则取值1,反之取值2
            System.out.println(res);    //++b,结果为3
        }
    }
    登入後複製

      7.三元運算子

    #

    public class Test003 {    public static void main(String[] args) {        int[] i;    //声明一个整型的一维数组变量
            int ii[];    //声明一个整型的一维数组变量
            i = new int[5]; //创建一个长度为5的一维数组对象,并将变量i指向该对象
            float[] f = new float[5];    //直接创建一个长度为5的单精度浮点型一维数组对象,并将变量f指向该对象
            double[] d = {1, 2, 3.4, 4.5};    //直接初始化一个一维数组元素        
            System.out.println(d[3]);    //通过数组下标来获取数组内的元素,数组下标从0开始,结果为4.5
            System.out.println(f[0]);    //当创建出一个数组对象时,该对象内的数组元素为该数据类型的默认值,所以此处结果为0.0        //System.out.println(i[5]);    //当通过数组下标来获取数组内元素时,[]内的值>=数组长度则报异常java.lang.ArrayIndexOutOfBoundsException(数组下标越界)        //System.out.println(ii[0]);    //若一个数组变量只声明而未指向某一个具体的数组对象时,编译出错
            System.out.println(d.length);    //得到该数组的长度,结果为4    }
    }
    登入後複製

    ######  ###8. 運算子優先權########################1、陣列############################################################################################################### #####  1. 一維陣列#########
    public class Test003 {    public static void main(String[] args) {        int[][] i;    //声明一个整型的二维数组变量
            int ii[][];    //声明一个整型的二维数组变量
            int[] iii[];    //声明一个整型的二维数组变量
            i = new int[5][2]; //创建一个长度为5的二维数组对象,并将变量i指向该对象
            float[][] f = new float[5][2];    //直接创建一个长度为5的单精度浮点型二维数组对象,并将变量f指向该对象
            double[][] d = {{1}, {2,3}, {4,5,6}, {7,8,9,10}};    //直接初始化一个二维数组元素        
            System.out.println(d[3][1]);    //通过数组下标来获取数组内的元素,数组下标从0开始,结果为8
            System.out.println(f[0][0]);    //当创建出二个数组对象时,该对象内的数组元素为该数据类型的默认值,所以此处结果为0.0        //System.out.println(i[5][0]);    //当通过数组下标来获取数组内元素时,[]内的值>=数组长度则报异常java.lang.ArrayIndexOutOfBoundsException(数组下标越界)        //System.out.println(ii[0][0]);    //若一个数组变量只声明而未指向某一个具体的数组对象时,编译出错
            System.out.println(d.length);    //得到该数组的长度,结果为4
            System.out.println(d[2].length);    //得到二位数组内的下标为2的那个一维数组的长度    }
    }
    登入後複製
    #########  2. 二維陣列##########
    public class Test003 {    public static void main(String[] args) {        int[] score = new int[5];
            score[0] = -7;
            score[1] = 65;
            score[2] = 80;
            score[3] = 90;
            score[4] = 59;        for(int i=0; i<score.length; i++) {            if(score[i]>=0 && score[i]<60) {
                    System.out.println("不及格");
                }else if(score[i]>=60 && score[i]<80) {
                    System.out.println("及格");
                }else if(score[i]>=80 && score[i]<90) {
                    System.out.println("良");
                }else if(score[i]>=90 && score[i]<100) {
                    System.out.println("优");
                }else {
                    System.out.println("成绩异常");
                }
            }        
            char ch = &#39;a&#39;;        switch(ch) {    //switch括号内只支持 byte,short,int,char,enum五种数据类型,但是JDK1.7版本增加了String类型,所以相对于JDK1.7而言就是六种了
                case &#39;A&#39;:    //case为switch语句的入口,break为出口,从入口开始执行,直到遇到出口或代码执行完毕才结束
                case &#39;a&#39;:
                    System.out.println("优");                break;            case &#39;B&#39;:            case &#39;b&#39;:
                    System.out.println("良");                break;            case &#39;C&#39;:            case &#39;c&#39;:
                    System.out.println("及格");                break;            default:    //若上述条件均不匹配,则进default开始执行语句
                    System.out.println("不及格");
            }
        }
    }
    登入後複製
    ###### #########五、流程控制語句(if,switch,for,while,do...while)############  1. 條件分支語句#### #####
    public class Test003 {    public static void main(String[] args) {        int res = 0;
            out:    //out是一个标号,告诉java从哪里开始执行程序
            for(int i=1; i<=10; i++) {            if(i==3) continue out;    //continue终止本次循环,执行下次循环
                if(i==5) break out;    //break跳出循环
                res = res + i;
            }
            System.out.println(res);    //结果为1+2+4=7
            
            int res2 = 0;        int i = 1;
            in:        do{            if(i==3) continue in;    //continue终止本次循环,执行下次循环
                if(i==5) break in;    //break跳出循环
                res2 = res2 + i;
                i++;
            }while(i<=10);
            System.out.println(res2);
        }
    }
    登入後複製
    #########  2. 循環語句#########rrreee######### ###

    以上是Java語言基本語法學習的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    相關標籤:
    來源:php.cn
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    最新問題
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板