Java语言基本语法

Java语言基本语法

一、标识符和关键字

  1. 标识符

    • 在java语言中,用来标志类名、对象名、变量名、方法名、类型名、数组名、包名的有效字符序列,称为“标识符”;
    • 标识符由字母、数字、下划线、美元符号组成,且第一个字符不能是数字;
    • java语言区分大小写;
    • 标志符命名规则:类名首字母大写,变量名和方法名采用驼峰标志法,常量全大写,多个单词之间用“_”隔开,包名全小写;
  2. 关键字
    • 在java语言中,有一些专门的词汇已经被赋予了特殊的含义,不能再使用这些词汇来命名标识符,这些专有词汇,称为“关键字”;
    • java有50个关键字和3个保留字,均不能用来命名标识符;
      abstract assert boolean break byte case catch char
      class const continue default do double else enum
      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 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,取反运算符
    }
}

  6. 位运算符

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
    }
}

  7. 三元运算符

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
    }
}

  8. 运算符优先级

四、数组

  1. 一维数组

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
    }
}

  2. 二维数组

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的那个一维数组的长度
    }
}

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

  1. 条件分支语句

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 = ‘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. 循环语句

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);
    }
}
时间: 2024-11-08 22:28:18

Java语言基本语法的相关文章

第2节 Java语言基本语法

一.标识符和关键字 标识符 在java语言中,用来标志类名.对象名.变量名.方法名.类型名.数组名.包名的有效字符序列,称为“标识符”: 标识符由字母.数字.下划线.美元符号组成,且第一个字符不能是数字: java语言区分大小写: 标志符命名规则:类名首字母大写,变量名和方法名采用驼峰标志法,常量全大写,多个单词之间用“_”隔开,包名全小写: 关键字 在java语言中,有一些专门的词汇已经被赋予了特殊的含义,不能再使用这些词汇来命名标识符,这些专有词汇,称为“关键字”: java有50个关键字和

java语言简单语法

标识符可以用来标识变量名.类名.类中的方法名和文件名等. 命名规则: (1)由字母.数字.下划线.$组成,不能以数字开头. (2)大小写敏感. (3)不得使用java中的关键字和保留字. 关键字:都是小写的,jdk1.2多了strictfp(精准浮点型),关键字jdk1.4多了assert(断言)关键字,jdk1.5多了enum(枚举)关键字. true.false.null严格说不应该算关键字,应称其为保留字更合适. 习惯: (1)标识符要符合语义信息. (2)包含所有字母小写. (3)类名每

java语言的特性及应用

java语言定义: Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言. Java 技术具有卓越的通用性.高效性.平台移植性和安全性,广泛应用于PC.数据中心.游戏控制台.科学超级计算机.移动电话和互联网,同时拥有全球最大的开发者专业社群. 组成: Java由四方面组成:●Java编程语言,即语法.●Java文件格式,即各种文件夹.文件的后缀.●Java虚拟机(JVM),即处理*.class文件的解释器.●Java应用程序接口(Java API). Java分为三个体系,分别为Java

java语言学习笔记1

最近也在春节的节假日里,总是会有各种各样的事情出现,没有很完整的时间来学习java以及其他方面的知识. 从昨天开始有了完整的学习体系,我去娄老师推荐的极客学院网站开始学习java语言的语法.在假期之初在极客学院的注册工只是当成任务来完成的,但是并没有发现极客学院的真正作用和很大的价值,借用娄老师博客上的一句话就是,“通过网络的学习,不仅是老师与学生之间的交流,更是社会.老师和学生三方面的交流,使得学生的知识来源会更丰富更广,知识方面会有质的提高“,就对于这个极客学院,我看了相关的c语言视频,还解

java语言的主要特性

Java语言是易学的. Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java. Java语言是强制面向对象的. Java语言提供类.接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements). Java语言是分布式的. Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL.UR

java语言具备的11大特点

中软国际武汉java培训专家介绍java语言具备的11大特点. 1.Java语言是简单的 Java 语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java.另一方面,Java丢弃了C++中很少使用的.很难理解的.令人迷惑 的那些特性,如操作符重载.多继承.自动的强制类型转换.特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧. 2.Java语言是一个面向对象的 Java 语言提供类.接口和继承等原语,为了简单起见,只支持类之间的单继承,

[Java入门笔记] Java语言简介

前言 学习Java有一段时间了,但是一直缺少一个系统的思想,现在重新通过书籍中.网上的文章,视频等资料,整理与回顾Java的知识点. 言归正传,让我们先从了解Java语言开始. Java语言的由来 Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称.由James Gosling和同事们共同研发,并在1995年正式推出.Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的.1995年更名为Java,并

JAVA语言对比C++语言的几个优点和自身的关键特性

之所以写这篇博客不是为了比较JAVA语言和C++语言到底孰优孰劣,而是从语言本身出发进行对比总结程序编码设计上的差别.因水平有限,某些内容可能太过片面,欢迎指正和讨论. JAVA语言在设计上很好地借鉴了C++语言,是一种完全“面向对象”的编程语言.JAVA语言的语法与C++语言的结构语法非常相似,这使得C++程序猿学习JAVA变得非常容易. JAVA语言的最大优点就是“Wirte Once,Run Everywhere”,就是“一次编写,到处运行”的意思.JAVA语言相对C++来说,增加了一些新

Java语言的9个主要特性

Java作为时下很流行的一门编程语言,受到很多人的热爱,那么它有哪些特性呢?一起来看看吧. 1.Java语言是简单的 Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用.另一方面,Java丢弃了C++中极少使用的并且容易让人困惑的某些特性,如操作符重载.多继承.自动的强制类型转换.特别地,Java语言不使用指针,而是引用.并提供了自动的垃圾回收机制,使得程序员不必再为内存管理而担忧,从而为程序员减少了很多工作量. 2.Java语言是面向对象的 Java语言提供类.接口