• Java学习笔记-基础语法


    Java基础包含关键字,标识符,注释,常量和变量,运算符

    关键字

    关键字的定义和特点

    定义:被Java语言赋予了特殊含义的单词
    特点:关键字中所有字母都为小写

    Java的关键字

    用于定义数据类型的关键字:

    classinterfacebyteshortint
    longfloatdoublecharboolean
    void
    用于定义数据类型值的关键字:
    truefalsenull
    用于定义流程控制的关键字:
    ifelseswitchcasedefault
    whiledoforbreakcontinue
    return
    用于定义访问权限修饰符的关键字:
    privateprotectedpublic
    用于定义类,函数,变量修饰符的关键字:
    abstractfinalstaticsynchronized
    用于定义类与类之间关系的关键字:
    extendsimplements
    用于定义建立实例及引用实例,判断实例的关键字:
    newthissuperinstanceof
    用于异常处理的关键字:
    trycatchfinallythrowthrows
    用于包的关键字:
    packageimport
    其他修饰符关键字:
    nativestrictfptransientvolatileassert

    标识符

    在程序中自定义的一些名称
    由26个英文字母大小写,数字:0-9 符号:_ $组成
    定义合法标识符规则:

    • 数字不可以开头
    • 不可以使用关键字
      Java中严格区分大小写
      注意:在起名字的时,为了提高阅读性,要尽量有意义

    Java中的名称规范

    包名:多单词组成时所有字母都小写
    xxxyyyzzz

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

    变量名和函数名:多单词组成时,第一个单词首字母小写,第二 个单词开始每个单词首字母大写
    xxxYyyZzz

    常量名:所有字母都大写。多单词时每个单词用下划线连接
    XXX_YYY_ZZZ

    注释

    用于注解说明解释程序的文字就是注释
    提高了代码的阅读性

    Java中的注释格式

    单行注释 格式://注释文字
    多行注释 格式:/* 注释文字*/
    文档注释 格式:/** 注释文字*/

    关于注释的说明

    • 对于单行和多行注释,被注释的文字,不会被JVM( java 虚拟机)解释执行
    • 对于文档注释,是java特有的注释,其中注释内容可 以被 JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档
    • 注释是一个程序员必须要具有的良好编程习惯
    • 将自己的思想通过注释先整理出来,在用代码去体现,因为代码仅仅是思想的一种体现形式而已

    e.g.

    /**
    这是我的Hello World程序
    @author 小强
    */
    
    class Demo {
        /* 这是主函数,是程序的入口它的出现可以保证程序的独立运行*/
        public static void main(String[] args) {
            //这是输出语句用于将括号内的数据打印到控制台
            System.out.println("Hello World");
        }
    }
    

    常量与变量

    常量表示不能改变的数值

    常量的分类

    • 整数常量。所有整数
    • 小数常量。所有小数
    • 布尔型常量。较为特有,只有两个数值。true false
    • 字符常量。将一个数字字母或者符号用单引号( ’ ’ )标识
    • 字符串常量。将一个或者多个字符用双引号标识
    • null常量。只有一个数值就是:null

    三种整数表现形式

    • 十进制:0-9 ,满10进1
    • 八进制:0-7 ,满8进1. 用0开头表示
    • 十六进制:0-9,A-F,满16进1. 用0x开头表示

    进制的基本转换

    十进制 二进制互转
    十进制转成二进制:除以2取余数
    二进制转成十进制:乘以2的幂数

    十进制八进制互转

    十进制十六进制互转

    负数的二进制表现形式
    对应的正数二进制取反加1

    变量的概念

    • 内存中的一个存储区域
    • 该区域有自己的名称(变量名)和类型(数据类型)
    • 该区域的数据可以在同一类型范围内不断变化

    用来不断的存放同一类型的常量,并可以重复使用

    使用变量注意:

    • 变量的作用范围(一对{}之间有效
    • 初始化值

    定义变量的格式

    数据类型 变量名 = 初始化值;

    注:格式是固定的,记住格式,以不变应万变
    理解:变量就如同数学中的未知数

    Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间
    数据类型
    整数默认:int
    小数默认:double

    byte      8bit
    short     16bit
    int       32bit    (默认)
    long      64bit    使用时候加上L或l
    char      16bit    0~65535
    float     32bit    第1位符号位,接下来8位指数位,后面23位尾数位		以F或f结尾
    double    64bit    第1位符号位,接下来11位指数位,后面52位尾数位	(默认)
    

    注:一个正数(浮点数)除以0得到正无穷大,一个负数(浮点数)除以零得到负无穷大,0.0除以0.0或对一个负数开方得到非数。整数值除以0则抛出异常。正无穷大与正无穷大相等,负无穷大与负无穷大相等,非数与任何数不等包括NaN

    Float.POSITIVE_INFINITYDouble.POSITIVE_INFINITYFloat.NEGATIVE_INFINITYDouble.NEGATIVE_INFINITYFloat.NaN,Double.NaN

    当表数范围小的数值或变量直接复制给表数范围大的变量时,系统完成自动类型转换。反之而需要强转。
    表达式类型的自动提升:所有的byte,short,char自动提升为int。表达式中提升到与最高的相同。
    int,long,float,double,boolean,char,String,null都为直接量类型。
    java会确保每个字符串常量只有一个

    类型转换

    自动类型转换(也叫隐式类型转换)
    强制类型转换(也叫显式类型转换)

    表达式的数据类型自动提升

    • 所有的byte型、short型和char的值将被提升到int型
    • 如果一个操作数是long型,计算结果就是long型
    • 如果一个操作数是float型,计算结果就是float型
    • 如果一个操作数是double型,计算结果就是double型

    分析 System.out.println('a')System.out.println('a'+1) 的区别

    自动类型提升

    byte b = 3;
    int x = 4;
    x = x + b;//b会自动提升为int类型进行运算
    

    强制类型转换

    byte b = 3;
    b = b + 4;//报错
    b = (byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b
    

    运算符

    算术运算符

    算术运算符
    注意的问题:

    • 如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模 数是负数就另当别论
    • 对于除号"/",它的整数除和小数除是有区别的:整数之间做除法时 ,只保留整数部分而舍弃小数部分
    • "+"除字符串相加功能外,还能把非字符串转换成字符串

    赋值运算符

    符号: = , +=, -=, *=, /=, %=
    示例:

    int a, b, c;
    a = b = c = 3;
    int a = 3;
    a += 5;//等同运算a=a+5;
    

    比较运算符

    比较运算符

    • 比较运算符的结果都是boolean型,也就是要么是true,要么是false
    • 比较运算符"==“不能误写成”="

    逻辑运算符

    逻辑运算符

    逻辑运算符用于连接布尔型表达式,在Java中不可以 写成 3<x<6,应该写成x>3 & x<6

    "&“和”&&"的区别

    • &时,左边无论真假,右边都进行运算
    • &时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算
    • |||的区别同理,双或时,左边为真,右边不参与运算

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

    位运算符

    位运算符
    位运算符细节

    • 对于低于int类型的操作数先转换成int再移位
    • 对于int类型的整数移位a>>b,当b>32时,k=b%32,k为真正移位的位数
    • 对于long类型的整数移位a>>b,当b>64时,k=b%32,k为真正移位的位数

    三元运算符

    格式
    (条件表达式)?表达式1:表达式2;
    如果条件为true,运算后的结果是表达式1
    如果条件为false,运算后的结果是表达式2
    示例:
    获取两个数中大数

    int x=3, y=4, z;
    z = (x > y) ? x : y;//z变量存储的就是两个数的大数
    
  • 相关阅读:
    Springboot security cas整合方案-实践篇
    Springboot security cas源码陶冶-ExceptionTranslationFilter
    Springboot security cas源码陶冶-FilterSecurityInterceptor
    Springboot security cas源码陶冶-CasAuthenticationFilter
    Springboot security cas整合方案-原理篇
    Spring源码情操陶冶-AnnotationConfigBeanDefinitionParser注解配置解析器
    Spring源码情操陶冶-PropertyPlaceholderBeanDefinitionParser注解配置解析器
    Spring源码情操陶冶-PathMatchingResourcePatternResolver路径资源匹配溶解器
    Spring源码情操陶冶-ComponentScanBeanDefinitionParser文件扫描解析器
    802.1X技术介绍
  • 原文地址:https://www.cnblogs.com/cj5785/p/10664871.html
Copyright © 2020-2023  润新知