Java的基本语法。

一、标识符和关键字

标识符

在java语言中,用来标志类名、对象名、变量名、方法名、类型名、数组名、包名的有效字符序列,称为“标识符”;

标识符由字母、数字、下划线、美元符号组成,且第一个字符不能是数字;

java语言区分大小写;

标志符命名规则:类名首字母大写,变量名和方法名采用驼峰标志法,常量全大写,多个单词之间用“_”隔开,包名全小写;

关键字

在java语言中,有一些专门的词汇已经被赋予了特殊的含义,不能再使用这些词汇来命名标识符,这些专有词汇,称为“关键字”;

java有50个关键字和3个保留字,均不能用来命名标识符;

abstract  boolean   break  byte  case    catch   char

class    const   continue   default   do   double     elseenum

extends   final   finally    float   for    goto     if      implements

import    instanceof   int    interface   long   native  new   package

private   protected   public   return   short    static   strictfp      super

switch    synchronized    this     throw   throw    stransient   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. 不同数据类型之间的转换

自动类型转换(低 到 高)

强制类型转换(高 到 低)

publicclass Test003 {

    publicstaticvoid main(String[] args) {

        byteb = 100;

        inti = 22;

        floatf = 78.98f;

        intres = b + i + (int)f;//此处对f使用了强制类型转换(int)f,转换后的值为78System.out.println("res: "+res);//res: 200    }

}

三、运算符与表达式

  1. 算术运算符

publicclass Test003 {

    publicstaticvoid main(String[] args) {

        inti = 5;

        System.out.println(0/i);//0System.out.println(0%i);//0System.out.println(i/0);//除数不能为零,报异常java.lang.ArithmeticExceptionSystem.out.println(i%0);//除数不能为零,报异常java.lang.ArithmeticException    }

}

  2. 赋值运算符

  3. 自增自减运算符(++,--)

publicclass Test003 {

    publicstaticvoid main(String[] args) {

        inti = 5;

        System.out.println(i++);//5System.out.println(++i);//7System.out.println(i);//7System.out.println(--i);//6System.out.println(i--);//6System.out.println(i);//5    }

}

  4. 关系运算符

  5. 逻辑运算符

publicclass Test003 {

    publicstaticvoid main(String[] args) {

        booleant =true;

        booleanf =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,反之为falseSystem.out.println(!f);//true,取反运算符    }

}

  6. 位运算符

publicclass Test003 {

    publicstaticvoid main(String[] args) {

        //在位运算符中1相当于true,0相当于falseintb1 = 6;//二进制为00000000 00000000 00000000 00000110intb2 = 11;//二进制为00000000 00000000 00000000 00001011System.out.println(b1 & b2);//按位与运算符,二进制为00000000 00000000 00000000 00000010,结果为2System.out.println(b1 | b2);//按位或运算符,二进制为00000000 00000000 00000000 00001111,结果为15System.out.println(b1 ^ b2);//按位异或运算符,二进制为00000000 00000000 00000000 00001101,结果为13System.out.println(~b1);//按位取反运算符,二进制为11111111 11111111 11111111 11111001,结果为-7System.out.println(b1 << 2);//左移位运算符,二进制为00000000 00000000 00000000 00011000,结果为24intb3 = -14;//二进制为11111111 11111111 11111111 11110010System.out.println(b3 >> 2);//带符号右移位运算符,二进制为11111111 11111111 11111111 11111100,结果为-4System.out.println(b3 >>> 2);//无符号右移位运算符,二进制为00111111 11111111 11111111 11111100,结果为1073741820    }

}

  7. 三元运算符

publicclass Test003 {

    publicstaticvoid main(String[] args) {

        inta = 1;

        intb = 2;

        intc = 4;

        intres = c==a+b?++a:c>a+b?++b:++c;//三元运算符 (表达式)?(值1):(值2),若表达式为true则取值1,反之取值2System.out.println(res);//++b,结果为3    }

}

8. 运算符优先级

四、数组

  1. 一维数组

publicclass Test003 {

    publicstaticvoid main(String[] args) {

        int[] i;//声明一个整型的一维数组变量intii[];//声明一个整型的一维数组变量i =newint[5];//创建一个长度为5的一维数组对象,并将变量i指向该对象float[] f =newfloat[5];//直接创建一个长度为5的单精度浮点型一维数组对象,并将变量f指向该对象double[] d = {1, 2, 3.4, 4.5};//直接初始化一个一维数组元素       

        System.out.println(d[3]);//通过数组下标来获取数组内的元素,数组下标从0开始,结果为4.5System.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    }

}

  2. 二维数组

publicclass Test003 {

    publicstaticvoid main(String[] args) {

        int[][] i;//声明一个整型的二维数组变量intii[][];//声明一个整型的二维数组变量int[] iii[];//声明一个整型的二维数组变量i =newint[5][2];//创建一个长度为5的二维数组对象,并将变量i指向该对象float[][] f =newfloat[5][2];//直接创建一个长度为5的单精度浮点型二维数组对象,并将变量f指向该对象double[][] d = {{1}, {2,3}, {4,5,6}, {7,8,9,10}};//直接初始化一个二维数组元素       

        System.out.println(d[3][1]);//通过数组下标来获取数组内的元素,数组下标从0开始,结果为8System.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);//得到该数组的长度,结果为4System.out.println(d[2].length);//得到二位数组内的下标为2的那个一维数组的长度    }

}

五、流程控制语句(if,switch,for,while,do...while)

  1. 条件分支语句

publicclass Test003 {

    publicstaticvoid main(String[] args) {

        int[] score =newint[5];

        score[0] = -7;

        score[1] = 65;

        score[2] = 80;

        score[3] = 90;

        score[4] = 59;

        for(inti=0; i

            if(score[i]>=0 && score[i]<60) {

                System.out.println("不及格");

            }elseif(score[i]>=60 && score[i]<80) {

                System.out.println("及格");

            }elseif(score[i]>=80 && score[i]<90) {

                System.out.println("良");

            }elseif(score[i]>=90 && score[i]<100) {

                System.out.println("优");

            }else {

                System.out.println("成绩异常");

            }

        }


        charch = 'a';

        switch(ch) {//switch括号内只支持 byte,short,int,char,enum五种数据类型,但是JDK1.7版本增加了String类型,所以相对于JDK1.7而言就是六种了case'A'://case为switch语句的入口,break为出口,从入口开始执行,直到遇到出口或代码执行完毕才结束case'a':

                System.out.println("优");

                break;

            case'B':

            case'b':

                System.out.println("良");

                break;

            case'C':

            case'c':

                System.out.println("及格");

                break;

            default://若上述条件均不匹配,则进default开始执行语句System.out.println("不及格");

        }

    }

}

  2. 循环语句

publicclass Test003 {

    publicstaticvoid main(String[] args) {

        intres = 0;

        out:    //out是一个标号,告诉java从哪里开始执行程序for(inti=1; i<=10; i++) {

            if(i==3)continueout;//continue终止本次循环,执行下次循环if(i==5)breakout;//break跳出循环res = res + i;

        }

        System.out.println(res);    //结果为1+2+4=7intres2 = 0;

        inti = 1;

        in:

        do{

            if(i==3)continuein;//continue终止本次循环,执行下次循环if(i==5)breakin;//break跳出循环res2 = res2 + i;

            i++;

        }while(i<=10);

        System.out.println(res2);

    }

}

点击下方链接进行学习,想了解更多加QQ群764261140

http://www.makeru.com.cn/live/1394_912.html?s=165154

使用java生成二维码图片

http://www.makeru.com.cn/live/1394_911.html?s=165154

SpringMVC概述及使用

http://www.makeru.com.cn/live/1394_848.html?s=165154

java热门框架盘点

http://www.makeru.com.cn/live/1394_847.html?s=165154

JavaSE之开发实用技能精讲

http://www.makeru.com.cn/live/1394_846.html?s=165154

主流框架Mybatis

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342