零基础学java学习日志-5 数据类型与运算符

一、实现个人信息输出
    2.1.1  变量的命名
        标识符:用来为程序中的常量、变量、方法、类、接口和包命名
        1、 标识符命名规则
            (1)标识符由字母、数字、下划线(_)、美元符号($)组成。
            (2)标识符的首字母以字母、下划线或美元符号开头(不建议使用美元符号开头),不能以数字开头。
            (3)标识符的命名不能与关键字、布尔值(true、false)和null相同。
            (4)标识符区分大小写,没有长度限制,坚持见名知意的原则。
            (5)使用小驼峰命名法(除第一个单词首字母小写外,其它单词的首字母大写)
        2、关键字
            (1)关键字是Java保留的,为其定义了固定含义的特殊标识符。
            (2)关键字全部为小写字母,程序员不能将关键字定义为标识符,否则会出现编译错误。
            (3)Java定义的48个常用关键字如下:
                abstract    class        final            int                public            this
                assert        continue    finally            interface        return            throw
                boolean        default        float            long            short            throws
                break        do            for                native            static            transient
                byte        double        if                new                strictfp        try
                case        else        implements        package            super            void
                catch        enum        import            private            switch            volatile    
                char        extends        instanceof        protected        synchronized    while
    2.1.2 Java中的注释
            注释是程序开发人员和程序阅读者之间交流的重要手段,是对代码的解释和说明。好的注释可以提高软件的可读性,减少软件的维护成本。
        1、 单行注释://
            (1)单行注释指的是只能书写在一行的注释,是最简单的注释类型,用于对代码进行简单的说明。
            (2)在MyEclipse中默认按Ctrl+/快捷键,可以自动产生单行注释,再按Ctrl+/可以取消单行注释。
        2、多行注释:/*         */
            (1)多行注释一般用于说明比较复杂的内容,如复杂的程序逻辑和算法的实现原理等。当有多行内容需要被注释时,一般使用多行注释。
            (2)在MyEclipse中,选中代码块并按Ctrl+Shift+/组合键可以生成多行注释;输入“/*”并按Enter键将会自动补全多行注释符。
            (3)取消多行注释:选中被注释的内容,按Ctrl+Shift+\组合键。
        3、文档注释:/**       */
            (1)为程序生成像官方API帮助文档一样的文件,可以在编写代码时使用文档注释。
            (2)使用JDK提供的javacdoc命令,讲代码中的文档注释提取出来,可自动生成一份HTML格式的API帮助文档,其风格与API帮助文档完全一样。
            (3)在MyEclipse中,输入“/**”,然后按Enter键,MyEclipse会自动显示文档注释格式。
            (4)每个文档注释包含一些描述性的文本及若干个文档注释标签。文档注释标签一般以“@”为前缀,常用的文档注释如下所示:
                    @author:作者名
                    @version:版本
                    @parameter:参数及意义
                    @since:最早使用该方法、类、接口的JDK版本
                    @return:返回值
                    @throws:异常类及抛出条件
    2.1.3 数据类型
        1、 了解Java中的数据类型
                (1)Java是强类型语言,在定义变量前需要声明数据类型。
                (2)Java中主要分为两种数据类型:基本数据类型、引用数据类型
                (3)基本数据类型
                        数值型
                            整数类型:byte、short、int、long
                            浮点类型:float、double
                        字符型
                            char
                        布尔型
                            boolean
                (4)Java中的基本数据类型取值范围
                        基本类型        大小                        示例            取值范围
                        boolean            1字节8位                true        true、false
                        byte            1字节8位有符号数        -12            -128~+127
                        short            2字节16位有符号数        100            -32768~+32767
                        int                4字节32位有符号数        12            -2147483648~+2147483647
                        long            8字节64位有符号数        10000        -2^63~+2^63-1
                        char            2字节16位Unicode字符    'a'            0~65535
                        float            4字节32位浮点数        3.4f        -3.4E38~3.4E38
                        double            8字节64位浮点数        2.4e3D        -1.7E308~1.7E308
                (5)引用数据类型
                        类、接口、数组
        2、 常量
                (1)常量:在程序运行中值不能改变的量,使用final修饰。
                (2)常量命名规则:
                     1)常量名所有英文字符全部大写
                     2)多个单词之间使用下划线_分隔
                     3)见名知意


                (3)Java中的常量:
                     整型常量、浮点型常量、布尔常量、字符常量、字符串常量、null常量、符号常量
        3、 变量
                (1)变量:在程序运行中值可以改变的量,它是Java程序的一个基本存储单元。
                (2)变量语法格式:
                        [访问修饰符] 变量类型 变量名 [=初始值];
                                -->"变量类型"可从数据类型中选择
                                -->"变量名"是定义的名称变量,要遵循标识符命名规则。
                                -->中括号的内容为初始值,是可选项。
                (3)Java中通过操作变量名来操作变量内存储的数据。
        4、 数据类型转换
                (1)不同的基本数据类型之间进行运算时需要进行类型转换。
                (2)除布尔类型外,所有基本数据类型进行运算时都要考虑类型转换,主要应用在算术运算时和赋值运算时。
                        1)算术运算时
                            存储位数越多,类型的级别越高。类型转换如下
                            byte-->short-->int-->long-->float-->double
                            char-->int-->long-->float-->double
                        2)赋值运算时
                            自动类型转换:将低级别的类型赋值给高级别类型时将进行自动类型转换。


                            强制类型转换:将高级别的类型赋值给低级别类型时,必须进行强制类型转换。在Java中,使用一对小括号进行强制类型转换。


                (3)强制类型转换,可能会丢失数据。
                (4)存在继承关系的引用数据类型也可以进行自动转换和强制类型转换。

二、实现抽奖程序
    Scanner类的使用:
        (1)导包:在package语句和public class语句之间导入Scanner类
                import java.util.Scanner;
        (2)创建Scanner类对象
                Scanner sc = new Scanner(System.in);
        (3)获得键盘输入的数据
                sc.next();---------->获得一个字符串
                sc.nextInt();------->获得一个整型数值
                sc.nextDouble()----->获得一个双精度类型数值
                hasNext()----------->判断是否有数据输入,如果有输入数据,则返回true;否则,返回false。


    2.2.1 常用运算符
        1、 赋值运算符
            (1)赋值运算符“=”用于给变量指定变量值。
            (2)复合赋值运算符:+=、-=、*=、/=、%=
                    例子:a+=3;------->a=a+3;


        2、 算术运算符
            (1)算术运算符包括:+、-、*、/、%、++、--
            (2)对于除法运算符,如果两个操作数均是整数,结果也是整数,会舍弃小数部分;如果两个操作数中有一个是浮点数,将进行自动类型转换,结果也是浮点数,保留小数部分。
            (3)对于取模运算符(取余运算符)/,如果两个操作数均是整数,结果也是整数;如果两个操作数中有一个是浮点数,结果也是浮点数,保留小数部分。
            (4)自增运算符有i++、++i两种使用方式,它们的特点是都相当于i=i+1;不同点是i++是先进行表达式运算再加1,而++i是先加1再进行表达式运算。


        3、关系运算符(比较运算符)
            (1)关系运算符用于比较两个变量或者常量的大小,运算结果是布尔值true或false。
            (2)Java中共有6个关系运算符,分别是==、!=、>、<、>=、<=。
            (3)>、<、>=、<=只支持数值类型的比较。
            (4)==、!=支持所有数据类型的比较,包括数值类型、布尔类型、引用类型。
            (5)>、<、>=、<=优先级别高于==、!=。


        4、 逻辑运算符
            (1)逻辑运算符用于对两个布尔型操作数进行运算,其结果还是布尔值。
            (2)Java中共有6个逻辑运算符,分别是&(逻辑与)、|(逻辑或)、^(逻辑异或)、!(逻辑反、逻辑非)、&&(短路与)、||(短路或)
            (3)逻辑运算符运算规律
                运算符        含义                运算规则
                &            逻辑与            两个操作数都是true,结果才为true;不论左边取值,右边表达式都会进行计算
                |            逻辑或            两个操作数一个是true,结果为true;不论左边取值,右边表达式都会进行计算
                ^            逻辑异或            两个操作数相同,结果为false;两个操作数不同,结果为true
                !            逻辑反、逻辑非        操作数为true,结果为false;操作数为false,结果为true
                &&            短路与            两个操作数都是true,结果才为true;如果左边为false,右边表达式不会进行计算
                ||            短路或            两个操作数一个是true,结果为true;如果运算符左边的值为true,右边表达式不会进行计算
            (4)优先级别:"!">"&">"^">"|">"&&">"||"
            (5)&和&&的区别:当&&的左侧为false时,将不会计算其右侧的表达式,即左false则false;无论任何情况,“&”两侧的表达式都会参与计算。
            (6)|和||的区别:当||的左侧为true时,将不会计算其右侧的表达式,即左true则true;无论任何情况,“|”两侧的表达式都会参与计算


        5、 位运算符
            (1)位运算符及运算规则
                运算符        含义                运算规则    
                &            按位与            两个操作数都是1,结果才为1
                |            按位或            两个操作数一个是1,结果为1
                ^            按位异或            两个操作数相同,结果为0,;两个操作数不同,结果为1
                ~            按位非/取反        操作数为1,结果为0;操作数为0,结果为1
                <<            左移                右侧空位补0
                >>            右移                左侧空位补最高位,即符号位
                >>>            无符号右移            左侧空位补0
            (2)一个整数每向左移动1位,其值扩大2倍,前提是移出位数不包含有效数字。
            (3)使用位运算符执行效率高。
            (4)一个整数每向右移动1位,其值缩小2倍,前提是溢出位中不包含有效数字。
            (5)位运算符对操作数以二进制为单位进行运算。
            (6)位运算符的操作数是整型数,包括int、short、long、byte和char。
            (7)位运算符的运算结果也是整型数,包括int、long。
            (8)如果操作数是char、byte、short,位运算前其值会自动晋升为int,运算结果也为int。        
        6、 条件运算符(三目运算符、三元运算符)
            (1)条件运算符是Java中唯一的需要3个操作数的运算符。
            (2)语法格式:
                    条件?表达式1:表达式2;
            (3)运算规律:
                    首先对条件进行判断,如果其值为true,则返回表达式1的值;如果条件值为false,则返回表达式2的值。
            (4)条件运算符的嵌套
                    条件?(条件?表达式1:表达式2):(条件?表达式1:表达式2);


    2.2.2 运算符的优先级
        (1)Java中的各种运算符都有自己的优先级和结合性。
        (2)优先级:在表达式运算中的运算顺序。优先级越高,在表达式中运算顺序越靠前。
        (3)结合性:运算的方向,大多数运算符的结合性都是从左向右,即从左向右依次进行运算。
        (4)优先级别最低的是赋值运算符,其次是条件运算符。
        (5)单目运算符包括!、~、++、--,优先级别高。
        (6)可以通过“()”控制表达式的运算顺序,“()”优先级最高。
        (7)总体而言:优先顺序为算术运算符>关系运算符>逻辑运算符
        (8)结合性从右向左的只有赋值运算符、三目运算符和单目运算符(一个操作数)。
        (9)运算符的优先级如下所示:
            优先级        运算符                                                结合性
            1            ()、[]、.                                            从左向右
            2            !、~、++、--                                            从右向左
            3            *、/、%                                                从左向右
            4            +、-                                                    从左向右
            5            <<、>>、>>>                                            从左向右
            6            <、<=、>、>=、instanceof                                从左向右
            7            ==、!=                                                从左向右
            8            &                                                    从左向右
            9            ^                                                    从左向右
            10            |                                                    从左向右
            11            &&                                                    从左向右
            12            ||                                                    从左向右
            13            ?:                                                    从右向左
            14            =、+=、-=、*=、/=、%=、|=、^=、~=、<<=、>>=、>>>=

 

 

 

 

 

 

         

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值