热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2、Java基本语法笔记

一、关键字&标识符1、关键字:被Java语言赋予了特殊含义,用作专门用途的字符串(单词);2、保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名时要避免使用

一、关键字&标识符

  1、关键字:被Java语言赋予了特殊含义,用作专门用途的字符串(单词);

  2、保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名时要避免使用这些保留字;

  3、标识符:凡是自己可以起名字的地方都叫标识符;

  4、标识符命名规则(必须遵守):

    1、由26个英文字母大小写,0-9,_或$组成;

    2、数字不可以开头;

    3、不可以使用关键字以及保留字,但能包含关键字以及保留字;

    4、Java中严格区分大小写,长度无限制;

    5、标识符不能包含空格;

  5、Java中的名称命名规范(建议遵守):

    1、包名:多单词组成时所有字母都小写:例如:xxxyyyzzz;

    2、类名、接口名:多单词组成时,所有单词的首字母大写:例如:XxxYyyZzz;

    3、变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:例如:xxxYyyZzz;

    4、常量名:所有字母都大写,多单词时每个单词使用下划线连接:xxx_yyy_zzz;

二、变量:

  1、Java中的变量按照数据类型来分类:

    基本数据类型  vs  引用数据类型

    技术分享

  2、基本数据类型:

    技术分享

    技术分享

    整型:byte  short  int(默认类型)  long

    浮点型:float  double(默认类型)

    字符型:char(‘ ‘)

    布尔类型:boolean(只能取值为true或false,不能取null)

    补充:按照在类中存在的位置的不同可以分为:

      成员变量  vs  局部变量

  3、进制

    技术分享

    1、类型:二进制  十进制  八进制  十六进制

    2、二进制:计算机底层都是使用二进制进行存储以及运算;

      3、二进制与十进制之间的转换:

      1、二进制在底层存储的时候(正数、负数)都是以补码的形式存储的(原码、补码、反码)

      原码:直接将一个数值转换成二进制数;

      反码:为原码取反;

      补码:为反码+1;

      正数的(原码、反码、补码相同);

      第一位为符号位:1表示负数,0表示正数;

      技术分享

    4、四种进制之间的转换;

  4、变量的运算:

    1、自动类型转换:容量小的数据类型自动转换为容量大的数据类型;

    注意:byte short char之间做运算,结果为int。数据类型自动转换按从小到大排序为:

    技术分享

    2、强制类型转换:是自动数据类型转换的逆过程;使用"()"实现强转;但容易导致精度损失或溢出等问题。

三、运算符:

  运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

  1、算术运算符:

    + - + - * / % ++ -- +

    技术分享

   注意:1、/ 左右两端的类型需要一致;

      2、%最后的符号和被模数相同;

        3、前++;先+1,后运算   后++;先运算,后+1;

        4、+:当String字符串与其他数据类型只能做连接运算;并且结果为String类型;

  2、赋值运算符:

    = += -= *= /= %=

  3、比较运算符(关系运算符)

    技术分享

    技术分享

    注意:

      1、比较运算符的两端都是boolean类型,也就是说要么是true,要么是false;

      2、比较运算符的"=="与"="的作用是不同的,使用的时候需要小心。

  4、逻辑运算符(符号的两端都是boolean类型):

    技术分享

    注意:

      1、& 与 &&以及|与||的区别:

        &:左边无论真假,右边都会进行运算;

        &&:如果左边为假,则右边不进行运算;

        | 与 || 的区别同上;在使用的时候建议使用&&和||;

      2、(^)与或(|)的不同之处是:当左右都为true时,结果为false。

  5、位运算符(两端都是数值型的数据):

     技术分享

     技术分享

  6、三元运算符

     技术分享

      注意:

        1、表达式1与表达式2的类型必须一致;

        2、使用三元运算符的地方一定可以使用if..else代替,反之不一定成立;

四、流程控制:

  1、顺序结构:程序从上往下顺序执行;

  2、分支结构:

    if..else

    第一种格式: 

if(条件表达式){
   执行的代码块;        
}

    第二种格式:

if(条件表达式){
   执行的代码块;  
}else{
   执行的代码块;  
}

    第三种格式:

if(条件表达式){
  执行的代码块;
}else if(条件表达式){
  执行的代码块;
}......(此处省略N个else if)
else{
  执行代码块;    
}

    注意:1、一旦满足某个条件表达式,则进入其执行语句块执行,执行完毕后不会执行其一下的条件语句。

       2、如果多个条件表达式之间为“互斥”关系,多个语句之间可以上下调换顺序,一旦是包含关系,要求条件表达式范围小的写到范围大的上边;

    swich...case        

swich(变量名){
      case 0:
                 system.out.println("HelloWorld!");  
                 break; 
      case 1:
                 system.out.println("HelloWorld!"); 
                 break; 
      case 2:
                 system.out.println("HelloWorld!");
                 break;  
      .........
      default:
                 system.out.println("HelloWorld!");     
                 break;   
}

      注意:

        1、swich(表达式)中表达式的返回值必须是以下几种类型之一:

          byte,short,char,int,枚举,String

        2、case子句中的值必须是常量,且所有case子句中的值应是不同的;

        3、default子句是可任选的,当没有匹配的case时,执行default;

        4、break语句用来在执行完一个case分支后使程序跳出swich语句块;如果没有break程序会顺序执行到swich结尾;

     if else 与 swich case的对比:

           if和swich语句很想,如果判断的具体数值不多,而且复合byte、short、int、char这四种类型。建议使用swich语句,因为效率稍高;

           其他情况:对区间进行判断,对结果为boolean类型进行判断,使用if,if的使用范围比较广泛。

2、Java基本语法笔记


推荐阅读
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • Java SE从入门到放弃(三)的逻辑运算符详解
    本文详细介绍了Java SE中的逻辑运算符,包括逻辑运算符的操作和运算结果,以及与运算符的不同之处。通过代码演示,展示了逻辑运算符的使用方法和注意事项。文章以Java SE从入门到放弃(三)为背景,对逻辑运算符进行了深入的解析。 ... [详细]
author-avatar
哒Dayling玲
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有