• 黑马程序员——JAVA学习笔记二(语法基础)


    1,     Java程序都是以类的形式存在的,所以需要告诉虚拟机需要加载类的位置,那么可以设置classpath变量。classpath变量如果有;,则表示还会在当前目录查找,没有;则不会在当前目录查找。
    当然如果没有classpath也会在当前目录查找。
     
    2,    rd删除目录,加/S可以删整个目录,Windows从里向外删除。
     
    3,    一个文件只有一个public类,文件名必须和类名相同,如果不是友好类,则不需要同名。
     
    4,    JAVA一共有50个关键字
    关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。
    Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名。
    java关键字描述列表
    abstract //抽象方法,抽象类的修饰符
    assert //断言条件是否满足
    boolean //布尔数据类型
    break //跳出循环或者label代码段
    byte //8-bit 有符号数据类型
    case //switch语句的一个条件
    catch //和try搭配捕捉异常信息
    char //16-bit Unicode字符数据类型
    class //定义类
    const //未使用
    continue //不执行循环体剩余部分
    default //switch语句中的默认分支
    do //循环语句,循环体至少会执行一次
    double //64-bit双精度浮点数
    else //if条件不成立时执行的分支
    enum //枚举类型
    extends //表示一个类是另一个类的子类
    final //表示一个值在初始化之后就不能再改变了
    //表示方法不能被重写,或者一个类不能有子类
    finally //try 语句不管是否发生异常都要执行的语句块
    float //32-bit单精度浮点数
    for //for循环语句
    goto //未使用
    if //条件语句
    implements //表示一个类实现了接口
    import //导入类
    instanceof //测试一个对象是否是某个类的实例
    int //32位整型数
    interface //接口,一种抽象的类型,仅有方法和常量的定义
    long //64位整型数
    native //表示方法用非java代码实现
    new //分配新的类实例
    package //一系列相关类组成一个包
    private //表示私有字段,或者方法等,只能从类内部访问
    protected //表示字段只能通过类或者其子类访问
    //子类或者在同一个包内的其他类
    public //表示共有属性或者方法
    return //方法返回值
    short //16位数字
    static //表示在类级别定义,所有实例共享的
    strictfp //浮点数比较使用严格的规则
    super //表示基类
    switch //选择语句
    synchronized //表示同一时间只能由一个线程访问的代码块
    this //表示调用当前实例
    //或者调用另一个构造函数
    throw //抛出异常
    throws //定义方法可能抛出的异常
    transient //修饰不要序列化的字段
    try //表示代码块要做异常处理或者和finally配合表示是否抛出异常都执行finally中的代码
    void //标记方法不返回任何值
    volatile //标记字段可能会被多个线程同时访问,而不做同步
    while //while循环
     
     
     
    5,    标示符,Java标识符由数字,字母(中文也可以,因为UNICODE编码)和下划线(_),美元符号($)组成。在Java中是区分大小写的,而且还要求首位不能是数字。下划线主要用在常量中,$用在内部类中,在方法,变量名中少用他们,用驼峰命名方式。
     
    6,    注释,单行注释,多行注释,文档注释。文档注释/**开头,*/结尾。多行注释不可以嵌套,所以单行注释方便。注释不会被编译到类文件中,会擦出掉。注释不是越多越好。
     
    7,    写代码,不必先着急写代码,首先需要分析。1需求 ,2思路,3步骤。
     
    8,    字面值常量,小数,整数,boolean,字符,字符串,null,常量。
     
    9,    变量时内存空间中的一块区域,该区域有自己的名称和类型,该区域的数据可以变化。变量的作用域只在{}中有效。
     
    10,    基本数据类型 和 引用数据类型
    整型:byte(8bits -128 ~127) short(16bits -2^16 ~2^16) int(32bits  -2^32 ~2^32) long(64bits  -2^64 ~2^64),还有一个类(BigInteger类会代替范围不够大),JAVA7前可以加上0b表示二进制。还可以为数字字面值加上下划线,如1_0000_0000 ,JAVA编译器会去除这些下划线。
     
    浮点类型: float(32bits 6~7位有效数字) double(64bits 15位有效数字) ,三个特殊的浮点数职:正无穷大Double(Float).POSITIVE_INFINITY、负无穷大Double(Float).NEGATIVE_INFINITY、Double(Float).NaN(不能检测一个特定值是否等于==它,判断两个浮点数是否相等要小心),因为误差大,所有有一个类(BigDecimal)会代替。Math.random()返回一个随机浮点数(0~1)。
    如果追求性能用Math库(sqrt,pow(x,a),tan,sin,cos,exp,log, log10 PI,E),否则用StrictMath库。
     
    字符类型:char  (16bits )  
    布尔类型:boolean(大小不确定)
    整数默认是:int  小数默认是:double
     
    接口类型:interface
    类类型:calss
    枚举类型:enum
    数组类型:[]
     
    默认初始化:int 0,小数,0.0 ,布尔 false,字符:‘U0000’,String: null;
     
    11,    类型转换: 自动类型转换,两个数值进行二元操作时,首先需要将两个操作数转换成同一种类型再计算。
    1,如果有一个操作数double,另一个操作数自动转化为double.
    2,如果有一个操作数float,另一个操作数自动转化为float.
    3,如果有一个操作long,另一个操作数自动转化为long.
    4,否则,两个操作数都转化为int.
            强制类型转换,可能会丢失精度,强制类型转换通过截断小数部分将浮点值转化为整型。如果需要四舍五入用MATH.round(x).
     
    12,    运算符优先级别,1,[]. ()(方法调用) 2,一元操作符 3,二元操作符 (instanceof) 3,移位运算符 4,逻辑运算符  5,位运算符 (对移位运算符的右侧的参数需要进行模32的运算(除非左边是long,右边则对64求模))6,逻辑运算符 7,条件运算符 8,赋值运算符 9,逗号操作符
     
    13,    
    switch语句特点:
    1、switch语句选择的类型只有四种:byte,short,int,char。JAVA7支持String。
    2、case与default没有顺序。先执行第一个case,没有匹配的case执行default。
    3、结束switch语句的两种情况:①遇到break,②执行到switch语句结束。
    4、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
    5、进入switch语句后,执行顺序是先执行case,然后从上到下,最后再执行default。即使default放在case上面,执行顺序也不变。
     
    14,    循环控制语句,for while.可以有标签操作,但是必须放在要跳出循环外面,跳出指定最外层循环,for()中可以用逗号操作表达式。for each只需要实现Itreable接口即可。
     
    15,    函数:函数是传值调用,函数重载:
    在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。与返回值类型无关,方法名以及参数类型叫做方法的签名。
     
    16,    数组:数组分配在堆上,可以分配大小为0的数组,数组支持for each,int[] buf = {1,2,3}只能出现在定义时初始化。数组工具类:Arrays.toString(T[])或者Arrays.deepToString打印数组.  Arrays.fill() ,Arrays.copyof(),Arrays.sort(). Arrays.binarySearch();
     
     
     
     
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  • 相关阅读:
    收藏的一个Sqlserver性能查询,包括查询CPU 网络等
    转载自博客园的一篇文章 通过SQL Server Profiler来监视分析死锁
    关于Sqlserver的换行和空格
    Sql Server查询性能优化之不可小觑的书签查找
    临时表和表变量,转载自博客园
    Sqlserver活动视图
    代码列表 4.5:显示累计最消耗 CPU 时间的前50个运行计划
    关于Sqlserver2012分页的新功能尝试
    sqlserver 东八时区的英文时间转换
    Flash应用效率优化启示录Ⅰ
  • 原文地址:https://www.cnblogs.com/solaire/p/4178719.html
Copyright © 2020-2023  润新知