一、关键字、保留字、标识符、常量、变量

  1、关键字:使用某种语言赋予特殊含义的单词。

  2、保留字:没有赋予特殊含义,但以后可能会使用的单词。

  3、标识符:自定义的单词,以数字、字母、下划线以及$符组成,且首字母不能以数字开头,不能以关键字命名标识符。

  4、常量:程序中不会变化的数据。

  5、变量:用于存储数据,实质指的是内存的一段存储空间。

二、数据类型以及相关包装类

  1、基本数据类型:

    (1)整型:byte, short, int, long(数字后加 L 或 l)。

    (2)浮点型:float(数字后加 F 或 f), double(默认为double型)。

    (3)文本型(字符型):char。

    (4)逻辑型(布尔型):boolean。

  

  2、引用数据类型:数组、类、接口。

  3、基本类型对应的包装类:

    (1)整型:Byte, Short, Integer, Long。

    (2)浮点型:Float, Double。

    (3)字符型:Character。

    (4)布尔型:Boolean。

  

  4、类型的级别(低到高): byte, short, char -> int  -> long -> float -> double。

  5、类型转换:

    低到高: 自动转换。

      比如:     

        long a = 1;
        float b = a;

    高到低:手动转换。

       比如:     

        float a = 1;
        long b = (long) a;

  6、自动拆装箱

    (1)自动装箱:就是将基本数据类型自动转换成对应的包装类。即Integer integer=1; 等价于Integer integer = Integer.valueOf(1);。

    (2)自动拆箱:就是将包装类自动转换成对应的基本数据类型。即int i=integer; 等价于int i = integer.intValue();。

    (3)装箱时,若数据在byte范围(-128~127)内,且数值相同,则不会产生新对象,即相同数值的引用指向同一个对象,否则会重新创建一个对象。

三、运算符

  1、算数运算符: +, -, *, /, %,++(自增),--(自减)。
  2、赋值运算符:=,+=,-=,*=,/=,%=。
  3、比较运算符:>, <, >=, <=, ==, !=
  4、逻辑运算符:&(逻辑与),|(逻辑或),^(异或), &&, ||, !
  5、连接运算符:+(用于字符串连接)。

  6、三目运算符:?=。

四、if-else,for,while,do-while,switch语句

  1、if-else。

    比如;

      if (boolean型条件表达式) {

        ...

      } else {

        ...

      }

  2、for。

    比如:

    for(初始值; 条件表达式; 表达式){
      ...
    }

    for(类型 : 数组/集合){
      ...
    }

  3、while。

    比如:

      while(boolean型条件表达式){

        ...

      }

    

  4、do-while。

    比如:

      do {

        ...

      } while (boolean型条件表达式);

  5、switch。

    比如:   

      switch(值){
      case 值1: ...;break;
      case 值2: ...;break;
      default:...;break;
      }

  6、break、continue。

    break 跳出当前循环,执行下一条语句。

    continue 结束本次循环,执行下一个循环。

五、数组

  1、定义:可以理解为用于存储同一类型数据的一个容器。

  2、格式:

    (1)元素类型[] 变量名 = new 元素类型[元素个数];

    (2)元素类型[] 变量名 ={元素1, 元素2,……};

    (3)元素类型[] 变量名 = new 元素类型[]{元素1,元素2,……};

  3、Arrays工具类:

    (1)Arrays.toString(arr); 输出数组
    (2)Arrays.sort(arr); 给数组排序
    (3)Arrays.equals(arr1, arr2); 比较两个数组的元素是否相同
    (4)Arrays.binarySearch(arr, key); 在有序序列中查找key的位置。
    (5)Arrays.copyOf(arr, arr.length+1); 给数组增加一个元素。(扩容)

六、函数

  1、提高代码复用性,将一段重复使用的代码包装成一个函数,令其实现一个功能。

  2、主函数(main):是程序的入口,被jvm调用,所以需保证该类独立运行。

  3、函数名的命名规范:采用小写字母开头的驼峰命名,命名需用有意义的单词。

    格式如下:
      修饰符 返回值类型 函数名 (参数类型1 参数1, 参数类型2, 参数2){
        执行的语句;
        return 返回值;(若返回值类型为void, 则无需写return)
      }

七、原码、反码、补码

  1、java是强类型语言,变量在使用前需声明且赋值(由编译器检测)。

  2、java采用Unicode字符集编码,每个字符用16位无符号整数表示。
  3、java中整数均为有符号数,且用补码表示整数。

    正数的原码、反码、补码均相同。
    负数的反码为其原码符号位不变,其余各位取反。
    负数的补码为其反码加1.

  4、补码的规则:
    (1)若二进制每位全为0,则表示 数0.
    (2)若最高位(符号位)为0,则表示正数。
    (3)若最高位(符号位)为1,则表示负数。负数的绝对值为 每个二进制位(包括符号位)取反,然后加1,所得到的二进制数 。
    比如:

      10000000 的最高位为1, 所以它表示的是负数,我们将其七位全部取反,得到1111111, 然后加1,得到10000000。将该数看作无符号数,值为128,所以补码10000000的真值是-128。
      short a = (short)128; short为两个字节,即 0000 0000 1000 0000,所以a为128.
      byte b = (byte)128; byte为一个字节,即1000 0000,所以b为 -128.

八、左移(<<)、逻辑右移(>>>),算数右移(>>)

  1、左移(<<),在其末尾补0,相当于乘2.
    举例:
      11010011经左移1位后,得到10100110

  2、逻辑右移/无符号右移(>>>),在其左边补0。
    举例:
      11010011经逻辑右移1位后,得到01101001

  3、算数右移(>>),若为正数则左侧补0,若为负数左侧补1,相当于除2

    举例:
      11010011经算数右移后,得到11101001

Java基础--基本规则、语法的更多相关文章

  1. 二、JAVA基础、语法

    第二节:JAVA基础.语法 1.修饰符.变量:    Java中主要有如下几种类型的变量    局部变量                                                 ...

  2. JAVA 基础基本语法---常量与变量

    JAVA 基础基本语法---常量与变量 语法:计算机能够识别的语言的规则: 0. 基本语法 编写Java程序时,应注意以下几点: 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hel ...

  3. Java基础概念语法

    Java基础概念语法 注释 单行注释 //行注释说明 多行注释 /* 多行注释说明 */ 文档注释 /** *@author 程序的作者 *@version 源文件的版本 *@param 方法的参数说 ...

  4. Java基础(1) - 语法 & 概念

    Java基础语法 基础 1. Java对大小写敏感 2. Java注释 //单行注释 这是一行注释 /* 这里是多行 注释 */ /** 这里是文档注释 @author 0o晓月メ */ 3. 访问修 ...

  5. java基础入门-语法(1)

    因为平时用到一些java的项目,比如ElasticSearch,zookeeper等,有时也想看看里面怎么实现的,或者看到别人分析原理时候会用到java源码, 自己也想跟着学一下,最起码能看懂别人的分 ...

  6. Java基础try-with-resource语法源码分析

    众所周知,所有被打开的系统资源,比如流.文件或者Socket连接等,都需要被开发者手动关闭,否则随着程序的不断运行,资源泄露将会累积成重大的生产事故. 在Java的江湖中,存在着一种名为finally ...

  7. java基础(一) -语法

    基本语法 编写Java程序时,应注意以下几点: 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的. 类名:对于所有的类来说,类名的首字母应该大写.如果类名由若干单词组 ...

  8. 八、Java基础---------基本语法

    一.学习Java注意的细节:     1.1 Java语言拼写上严格区分大小写: 1.2 一个Java源文件里可以定义多个Java类,但其中最多只能有一个类被定义成public类: 1.3 若源文件中 ...

  9. 黑马程序员——JAVA基础之语法、命名规则

    ------- android培训.java培训.期待与您交流! ---------- 1.java语言组成:关键字,标识符,注释,常量和变量,运算符,语句,函数,数组. 2.java关键字:被Jav ...

随机推荐

  1. maven采用tomcat7启动项目

    1.maven 集成tomcat7启动项目 <plugin> <groupId>org.apache.tomcat.maven</groupId> <arti ...

  2. POJ - 1321 棋盘问题 【DFS】

    题目链接 http://poj.org/problem?id=1321 思路 和N皇后问题类似 但是有一点不同的是 这个是只需要摆放K个棋子就可以了 所以 我们要做好 两个出口 并且要持续往下一层找 ...

  3. 提高iOS开发效率的第三方框架等--不断更新中。。。

    1. Mantle Mantle 让我们能简化 Cocoa 和 Cocoa Touch 应用的 model 层.简单点说,程序中经常要进行网络请求,请求到得一般是 json 字符串,我们一般会建一个 ...

  4. 6 《锋利的jQuery》Ajax的应用(略。)

    Ajax的优势 1.不需要插件支持 2.优秀的用户体验 3.提高web程序的性能(传输数据的方式,按需发送) 4.减轻服务器和带宽的负担 Ajax的不足 1.浏览器对XMLHttpRequest对象支 ...

  5. hihocoder 微软编程之美2015 初赛 第一场 (树算法 + 暴力思想 + 搜索思想)

    题目1 : 彩色的树 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 给定一棵n个节点的树,节点编号为1, 2, …, n.树中有n - 1条边,任意两个节点间恰好有一条路 ...

  6. 《机器学习实战》学习笔记第三章 —— 决策树之ID3、C4.5算法

    主要内容: 一.决策树模型 二.信息与熵 三.信息增益与ID3算法 四.信息增益比与C4.5算法 五.决策树的剪枝 一.决策树模型 1.所谓决策树,就是根据实例的特征对实例进行划分的树形结构.其中有两 ...

  7. laravel基础课程---7、文件处理、闪存、cookie(cookie原理和使用场景)

    laravel基础课程---7.文件处理.闪存.cookie(cookie原理和使用场景) 一.总结 一句话总结: 页面请求服务器的时候是把这个页面中所有的cookie都带上了的,cookie里面也存 ...

  8. 查 101.201.62.30 IP信誉方法

    查 101.201.62.30 IP信誉方法https://www.virustotal.com/#/ip-address/101.201.62.30https://talosintelligence ...

  9. tensorflow实现svm iris二分类——本质上在使用梯度下降法求解线性回归(loss是定制的而已)

    iris二分类 # Linear Support Vector Machine: Soft Margin # ---------------------------------- # # This f ...

  10. http://www.cnblogs.com/henw/archive/2012/01/06/2314870.html

    C#多线程学习 之 线程池[ThreadPool]   在多线程的程序中,经常会出现两种情况: 一种情况:   应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应     ...