0

0

Java语言基本语法学习

怪我咯

怪我咯

发布时间:2017-06-23 14:31:01

|

1590人浏览过

|

来源于php中文网

原创

智能网站优化SiteSEO1.52
智能网站优化SiteSEO1.52

系统易学易懂,用户只需会上网、不需学习编程及任何语言,只要使用该系统平台,只要会打字,即可在线直接完成建站所有工作。本程序适合不懂php环境配置的新手用来在本机调试智能SiteSEO网站优化软件,安装过程极其简单。您的网站地址:http://localhost您的网站后台:登录地址: http://localhost/admin.php密 码: admin服务器套件所包含的软件:nginx-0.7

下载

java语言基本语法

一、标识符和关键字

  1. 标识符

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

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

    立即学习Java免费学习笔记(深入)”;

  • java语言区分大小写

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

  • 关键字

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

     

    相关文章

    java速学教程(入门到精通)
    java速学教程(入门到精通)

    java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载

    相关标签:

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    热门AI工具

    更多
    DeepSeek
    DeepSeek

    幻方量化公司旗下的开源大模型平台

    豆包大模型
    豆包大模型

    字节跳动自主研发的一系列大型语言模型

    通义千问
    通义千问

    阿里巴巴推出的全能AI助手

    腾讯元宝
    腾讯元宝

    腾讯混元平台推出的AI助手

    文心一言
    文心一言

    文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

    讯飞写作
    讯飞写作

    基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

    即梦AI
    即梦AI

    一站式AI创作平台,免费AI图片和视频生成。

    ChatGPT
    ChatGPT

    最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

    相关专题

    更多
    pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
    pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

    本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

    616

    2026.02.13

    微博网页版主页入口与登录指南_官方网页端快速访问方法
    微博网页版主页入口与登录指南_官方网页端快速访问方法

    本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

    194

    2026.02.13

    Flutter跨平台开发与状态管理实战
    Flutter跨平台开发与状态管理实战

    本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

    91

    2026.02.13

    TypeScript工程化开发与Vite构建优化实践
    TypeScript工程化开发与Vite构建优化实践

    本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

    20

    2026.02.13

    Redis高可用架构与分布式缓存实战
    Redis高可用架构与分布式缓存实战

    本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

    54

    2026.02.13

    c语言 数据类型
    c语言 数据类型

    本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

    29

    2026.02.12

    雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
    雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

    本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

    15

    2026.02.12

    豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
    豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

    本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

    598

    2026.02.12

    PostgreSQL性能优化与索引调优实战
    PostgreSQL性能优化与索引调优实战

    本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

    56

    2026.02.12

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    Kotlin 教程
    Kotlin 教程

    共23课时 | 3.7万人学习

    C# 教程
    C# 教程

    共94课时 | 9.8万人学习

    Java 教程
    Java 教程

    共578课时 | 68.4万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号