• 03x01 Java基础语法



    一、注释、标识符、关键字

    • 单行注释、多行注释、文档注释
      1. 单行注释

        // 双斜杠

      2. 多行注释(单星号)

        /*

        *

        */

      3. 文档注释(双星号) 少用

        /**

        *

        *

        */

    • 标识符和关键字
      1. 关键字

             

      1. 标识符命名规则

        • 所有的标识符都应该以字母(A-Z或a-z),美元符($)、下划线开始

        • 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任何字符组合

        • 不能使用关键字作为变量名或方法名

        • 标识符是大小写敏感的

        • 合法标识符举例: age、$salary._value、__1_value

        • 非法标识符举例:123abc、-salary、#abc

        • 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low

           

    二、数据类型

    • 强类型语言(Java)

      要求变量的使用要严格复合规定,所有变量都必须先定义后才能使用

    • 弱类型语言

    • Java的数据类型分为两大类

      • 基本类型(primitive type)

      • 引用类型(reference type)

    • 八大基本数据类型

         

    • 字节

      • 位(bit) 、位(byte)

      • 8bit=1B(byte)

    • 数据类型扩展及面试题

      1. 整数扩展 进制 二进制 十进制 八进制(0) 十六进制(0x)

         

            八进制的十是十进制的8,十六进制的十是十进制的16

      1. 浮点数扩展?

        银行业务怎么表示?

        • BigDecimal 数学工具类

        • float 有限 离散 舍入误差 大约 接近但不等于

        • double

        • float 和 double 的0.1不是等价的

        • 最好完全使用浮点数进行比较

        • 最好完全使用浮点数进行比较

        • 最好完全使用浮点数进行比较

        3.字符扩展

        • 所有的字符本质还是数字,例:

        • 编码 Unicode 2字节 0-65536

        • 转义字符

          • /t 制表符

          • /n 换行

          • ……

        • 扩展

          地址

        1. 布尔值扩展

          • boolean 值为false或true

          • Less is More! 代码要精简易读

    三、类型转换

    • 由于Java是强类型语言√所以要进行有些运算的时候的,需要用到类型转换。

    • 运算中,不同类型的数据先转化为同一类型,然后进行运算。

    • 强制类型转换

    • 自动类型转换   

    •               int i = 128;
                    byte b = (byte)i;//内存溢出,数值超过了该类型能表示的最大值


    •        //强制转换 (类型)变量名
      //自动转换 低--》高 比如float和double
             System.out.println(i);
             System.out.println(b);
             /*
             注意点:
                 1.不能对布尔值进行转换
                 2.不能把对象类型转为不相干的类型
                 3.在把高容量转换到低容量的时候,强制转换
                 4.转换的时候可能存在内存溢出,或者精度问题!
             */
             System.out.println((int)23.7);
             System.out.println((int)-45.89f);
              //操作比较大的数的时候,注意溢出问题
             // JDK7新特性,数字之间可以ongoing下划线分割
             int money = 10_0000_0000;
             int years = 20;
             long total = money*years; //-1474836480,计算的时候溢出了
             System.out.println(total);//money和years都是int 所以计算的时候是以int类型进行计算的

             long total3 = money*((long)years);//20000000000,先把一个数转换成long,输出正确
             System.out.println(total3);
      //L和l都表示long,但是l很容易被误认为是1,所以用L

     四、变量、常量

    1、变量
    • 变量:可以变化的量

    • Java是一种强类型语言,每个变量都必须声明其类型。

    • Java变量是程序中最基本的存储单元,其要素包括变量名变量类型作用域

    • 注意事项

      • 每个变量都有类型,类型可以是基本类型,也可以是引用类型

      • 变量必须是合法的标识符

      • 变量声明是一条完整的语句,因此每一个声明都必须以分好结束

    • 变量作用域

      • 类变量

      • 实例变量

      • 局部变量

        public class Demo03 {
           static int allDemo03=0;//类变量
           String str ="hello world!";//实例变量
           public static void main(String[] args) {
               int i = 0; //局部变量
          }
        }
         
     
     
     
    2、常量
    • 常量(Constant):初始化(initialize)后不能在改变的值!不会变动的值。

    • 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变

    • 定义:

    • 常量名一般用大写字符

    3、变量的命名规范
    • 所有变量、方法、类名:见名知意

    • 类成员变量:首字母小写和驼峰原则,如:monthSalary

    • 局部变量:首字母小写和驼峰原则

    • 常量:大写字母和下划线,如:MAX_VALUE

    • 类名:首字母大写和驼峰原则:Man,GoodMan

    • 方法名:首字母小写和驼峰原则,如:run()、runRun()

    五、运算符

    1、Java语言支持如下运算符
    • 算术运算符:+、-、*、/、%、++、--

    • 赋值运算符:=

    • 关系运算符:>、<、>=、<=、==、!= instanceof

    • 逻辑运算符:&&、||、!

    • 位运算符:&、|、^、~、>>、<<、>>>(了解!!!)

      /*
      A = 1100 0010
      B = 0101 0110
      _____________
      A&B = 0100 0010
      A|B = 1101 0110
      A^B = 1001 0100
      ~B = 1010 1001 (取反)

      效率极高
      >>:/2
      <<:*2
      */
    • 条件运算符:? :

      int a = 10;
      int b = 20
      String type = a > b ? "a大" :"b大";
      System.out.println(type);
    • 扩展赋值运算符:+=、-=、*=、/=
    • //字符串拼接
    •         int a = 10;
             int b = 20;

             System.out.println(a+b+"hello");
    • 优先级( )

    2、Math工具类

            double e = Math.pow(2,3);
           System.out.println(e);

    六、包机制、JavaDoc

    1、包机制
    • 为了更好地组织类,Java提供了包机制,用于区别类名的命令控件。

    • 包语句的语法格式为

      Package pkg1[. pkg2[. pkg3]];
    • 一般利用公司域名倒置作为包名:com.kuangstudy.www

    • 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import"语句可完成此功能

      import Package1[. Package2].(classname|*);
    • 导入包中所有东西

      import com.kuang.base.*;//“*”表示所有

    《阿里巴巴Java开发手册》

    2、JavaDoc
    • Javadoc命令是用来生成自己API文档的

    • 参数信息

      • @author 作者名

      • @version 版本号

      • @since 指明要最早使用的jdk版本

      • @param 参数名

      • @return 返回值情况

      • @throws 异常抛出情况

    package kuang;
    //加在类上就是类信息,加在方法上就是方法信息
    /**
    * @author Huangdp
    * @version 1.0
    * @since 1.8
    *
    */
    public class Demo01 {
       String name;

       /**
        * @author Huangdp
        * @version 1.0
        * @since 1.8
        * @param name
        * @return
        * @throws Exception
        */
       public String test(String name)throws Exception{
           return name;
      }
    }

     

    • cmd的 javadoc操作
      • 打开文件路径:右击类-->如下

         

      • 命令

        javadoc -encoding UTF-8 -charset UTF-8 Demo.java
      • 生成如下

         

      • 作业:使用IDEA生成JavaDoc文档

        1、Tools->Generate JavaDoc

        2、如下生成

         

    • 官方帮助文档:

      JDK8帮助文档



  • 相关阅读:
    PointToPointNetDevice doesn't support TapBridgeHelper
    NS3系列—10———NS3 NodeContainer
    NS3系列—9———NS3 IP首部校验和
    NS3系列—8———NS3编译运行
    【习题 7-6 UVA
    【Good Bye 2017 C】 New Year and Curling
    【Good Bye 2017 B】 New Year and Buggy Bot
    【Good Bye 2017 A】New Year and Counting Cards
    【Educational Codeforces Round 35 D】Inversion Counting
    【Educational Codeforces Round 35 C】Two Cakes
  • 原文地址:https://www.cnblogs.com/nkcat/p/14838269.html
Copyright © 2020-2023  润新知