• 基本语法


     关键字:特定含义的单词。组成关键字字母全部小写。goto和const作为保留关键字。

     

     

     

     

     

     

     

     

    标识符:由英文和数字和$,_字符组成。不能数字开头,不可以是关键字。用于给包,类,接口,方法,变量,常量命名。

                建议写法:包:全部小写。单级:hello。多级:section.hello。

             类和接口:一个单词:每个单词首字母大写。多个单词:每个单词首字母大写。Name,TypeName

             方法和变量:一个单词:单词首字母小写。多个单词:第二个单词开始每个单词首字母大写。name,typeName

             常量:一个单词:全部大写。多个单词:每个字母大写并用下划线隔开。NAME,TYPE_NAME

     注释: 将自己的思想通过注释写出来,在通过代码表现

        单行注释:// 

        多行注释:/*   */

        文档注释:/**   */ (被javadoc解释生成一个说明书)

     常量:字面值常量:字符串常量("abc"),整数常量(1),小数常量(1.2),字符常量('a'),布尔常量(ture,false),空常量(NULL)。

              1. java对于整数常量有四种表达形式二进制(0b),八进制(0),十进制(默认数据),十六进制(0x)。

                常用转换:

                      其他进制转十进制:位权展开法:系数*基数^权次幂。十进制转其他进制:除基取余,直到商为零,余数反转。

                      (系数:就是每一个位上的数值。基数:x进制的基数就是x。权:对每一个位上的数据)

                快速转换:

                      十进制和二进制:BCD码:8421码时BCD的一种,将每一位二进制使用固定数值表示,将其相加就可以得到二进制对应的十进制数。 

                      二进制转十六进制:4位组合。

                      二进制转八进制:3位组合。

              2. 原码:最高位为符号位,其余为数值位。符号位为0表示正,符号位1表示负。

               反码:正数的反码与原码相同。负数的反码是对其原码逐位取反,符号位不变。

               补码: 正数的补码与原码相同。负数的补码是其反码加一。(计算机内部存储采用补码)

     变量:变量本质是内存中的一块区域,使用变量名访问该区域。 定义变量(为变量申请空间),初始化变量(给对应空间赋值),Java中必须初始化变量才可以使用。

    数据类型:

     

          Java默认整数是int类型,定义long类型的变量要在字面常量后面加L。默认浮点数是double类型,定义一个float类型的变量要在字面常量后面加F。

                     long l_var = 123L;                                                                                     float f_var = 1.23F;

           boolean类型不能进行强制类型转换。

          Java没有无符号类型的数据,全部都是有符号类型的数据。

          字符串类型与其他类型做加法是+被重载为字符串连接符,字符相加是做数值加法。

                  "hello" + 'a' + 1 --> "helloa1"

                  'a' + 1 + "hello" --> "98hello"

          Java语言char类型占用两个字符,可以表示中文。Java语言采用Unicode编码。

          

     默认类型转换:byte,short,char( 整型提升) ----> int ----> long ----> float ----> double (float占用四个字节但是其表示数字范围大于long类型的变量)

            byte b1 = 0,b2 = 1,b3; b3 = b1 +  b2; // error。当byte,short,char类型的变量进行运算时,不相互转换,会单独提升到默认类型int再运算。

            b1 = 3 + 4;  // ok 预处理器先将常量计算出来,查看结果是否在byte范围内,在的话就不报错。

            b1 = 130; // 打印结果 -126。00000000 0000000 0000000 10000010(截断) --> 10000010(补码) -->100000001(反码) ---> 11111110(原码)。

            b1 = (byte)130; //打印结果-126 。   0  --> 1 --> 127 --> -128 --> -1 --> 0。范围是循环 。 

    浮点数的存储:

          17.625在内存中的存储:
            首先要把17.625换算成二进制:10001.101 ( 整数部分,除以2,直到商为0,余数反转。小数部分,乘以2,直到乘位0,进位顺序取。)
            在将10001.101右移,直到小数点前只剩1位:1.0001101 * 2^4 因为右移动了四位
                底数:因为小数点前必为1,所以IEEE规定只记录小数点后的就好。所以,此处的底数为:0001101
                指数:实际为4,必须加上127(转出的时候,减去127),所以为131。也就是10000011
                符号部分是整数,所以是0
            存储格式是:01000001 10001101 00000000 00000000

          float存储规则:

            一个浮点数有2部分组成:底数m和指数e    

              底数部分: 使用二进制数来表示此浮点数的实际值。(实际是占用24bit的一个值,但是最高位始终为1)
              指数部分: 占用8bit的二进制数,可表示数值范围为0-255。(指数可正可负,此处算出的次方必须减去127才是真正的指数)

            float格式:
              SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM
              S表示浮点数正负
              E指数加上127后的值得二进制数据
              M底数

    运算符:

          算术运算符:+ - * / % ++ -- +

          赋值运算符:= += -= *= /= %= 

          关系运算符:==  != < > <= >=

          逻辑运算符:& | ^  ! && ||

          位运算符:<< >> >>> & |  ^ ~

          三目运算符:() ? : ;

          short s = 1; s = s + 1;  //  error  1是int类型字面常量  

          short s = 1; s += 1;    //   ok       +=包含了强制类型转换。等价于 s = (short)(s + 1);

          比较运算符,逻辑操作符表达式返回ture或则false。

          当 & 左操作符和右操作符为逻辑表达式时做的是逻辑运算。当左操作数和右操作数为数值时做的是位运算。

          ^ 异或.某一个数据被同一个数据异或两次的结果是其本身a ^ b ^ b = a. 交换两个变量的值: a = a ^ b; b = a ^ b; a = a ^ b;  

                                                     a = a + b; b =  a - b;  a = a - b;

                                                   b = (a + b)  - (a =   b);

          << 空位补零,被移除的高位丢弃.

          >> 高位是0,右移后,高位补0  . 高位是1 ,右移后, 高位补1.

          >>> 最高位不论是0还是1,都以0补齐.

    键盘数据录入:

          a. 导包。格式:import java.util.Scanner;

          b. 创建录入对象。格式:Scanner sc = new Scanner(System.in);

          c. 通过对象获取数据。格式:int x = sc.nextInt();

           

     流程控制语句:顺序结构

           选择结构:

                if(关系表达式1) {  }  // 关系表达式是带有关系运算符和逻辑运算符的boolean表达式

                else if(关系表达式2){  }

                else if(关系表达式3){  }

                else{ }

                switch(表达式)    // 表达式取值:byte,short,int,char,枚举(JDK5),String(JDK7)

                {

                  case 值1:语句1;break;  // 值只能是常量,值1和值2不可相同

                  case 值2:语句2;break;

                  default:语句n;break;// default不一定要放在最后

                }

            循环结构:

                 for(初始化语句;条件判断语句;控制条件语句)  // 条件判断语句是boolean表达式

                 { 循环体语句; }

                while(条件判断语句)  // 条件判断语句是boolean表达式

                { 循环体语句; }

                do

                {

                  循环体语句;

                }while(条件判断语句);   // boolean表达式

            跳转控制语句:

                break:跳转单层循环:break;          // 跳出最近的一个循环。

                     跳出多层循环:格式:tag: 语句;

                              break tag; // 跳转到tag语句。

                continue:不执行本次循环,执行下一次循环

                     不执行本次循环,执行想要的循环:格式: tag: 语句;

                                        continue tag;  // 从tag语句开始执行循环

                return: 在return语句处直接返回函数。

    wc:for(int x=0; x<3; x++)  // 给循环加一个标签,方便跳转
     {
        nc:for(int y=0; y<4; y++)  // 
        {
          if(y == 2) 
          {
            break wc;
          }        
        }
    }    
  • 相关阅读:
    Docker 常用命令及操作
    Docker 启动 tomcat 成功,但是访问为 404
    Linux 使用 yum install 安装程序时,提示另外一个程序锁定了 yum 等待它退出...
    Centos 6.8 安装 Docker 及 Docker 入门介绍
    iptables常见的模块拓展-m iprange 、-m multiport、
    iptables -m state模块 注意与-m conntrack的区别
    ros single network adapter的nat
    trap 信号捕捉
    ifconfig命令
    使用pipework给docker配置物理机器网卡上的地址
  • 原文地址:https://www.cnblogs.com/zsy12138/p/11110782.html
Copyright © 2020-2023  润新知