第2节 Java语言基本语法

一、标识符和关键字

  1. 标识符

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

四、数组

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

原文地址:https://www.cnblogs.com/yutianbao/p/10454187.html

时间: 2024-10-31 16:58:48

第2节 Java语言基本语法的相关文章

Java语言基本语法

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

第一章 第二节 Java语言的运行机制

1.Java语言的运行机制 首先,我们介绍一下什么是计算机语言.对于计算机来说,真正能够直接执行的是所谓的"计算机指令".这种计算机指令,一方面跟着操作系统有关,也就是说,Windows系统和Linux系统下的指令不同.另一方面说,也跟计算机的硬件有关系,不同的CPU具有不同的指令集. 直接操作计算机指令,使用的是计算机语言以及汇编语言.然而,对于程序员来说,直接使用汇编语言来编写程序进行开发是非常慢的,为了能让程序开发的速度提升,设计出了计算机高级语言. 所谓的计算机高级语言,实际上

java 第1节 Java语言介绍

2016-06-28 1 Java的起源 Oak --> Java 2 Java的发展 Java1.0 Java2 JavaSE:Java平台标准版 JavaME:微型版 sun公司 oracle公司 3 Java的特性 面向对象 可移植性 JVM实现了可移植性 健壮性 分布式 多线程:线程可以理解为轻量的进程 4 Java的工作方式 Java源文件(.java格式结尾)-----经过Java编译器的编译-----字节码文件(.class格式结尾)----被类装载器 装载到Java虚拟机(JVM

java语言简单语法

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

java语言学习笔记1

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

java语言的特性及应用

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

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,并